Java901-Project1.pdf

‫پروژه سری اول‬
‫درس برنامه نویسی شیءگرا‬
‫موعدارسال‪1390/9/4 :‬‬
‫محمد اصغری‬
‫ثب تـکش اص ػلیشضب هظلَهی‬
‫پروژه سری اول درس برنامه نویسی شیءگرا‬
‫موعد ارسال‪0991/9/4 :‬‬
‫نکات کلی‬
‫‪ ‬ثشای اسػبل ثِ آدسع صیش هشاجؼِ کٌیذ‪:‬‬
‫‪http://arsh.co.ir/java901/‬‬
‫‪ ‬هَػذ اسػبل ػبػت ‪ 95:39‬تبسیخ‪1591/9/4‬ثَدُ ٍ ثِ ّیچ ػٌَاى توذیذ ًخَاّذ ؿذ‪.‬‬
‫‪ ‬تأخیش تب ‪ 1‬ػبػت‪ ،‬ثِ اصای ّش ‪ 5‬دقیقِ هَجت کؼش ؿذى ‪ً "1‬وشُ‪ ،‬اص ‪ 1‬ػبػت تب ‪ 94‬ػبػت هَجت کؼش ؿذى‬
‫‪ً "91‬وشُ‪ ،‬اص ‪ 94‬ػبػت تب ‪ 93‬ػبػت‪ ،‬ثِ اصای ّش ‪ 9‬دقیقِ هَجت کؼش ؿذى ‪ً "1‬وشُی دیگش ٍ ثیي ‪ 93‬ػبػت‬
‫تب ‪ 48‬ػبػت ثبػث کؼش ؿذى ‪ً "31‬وشُ هیؿَد‪ .‬تأخیش ثیـتش اص ‪ 48‬ػبػت قبثل قجَل ًیؼت‪.‬‬
‫‪ ‬قغغ ثَدى ایٌتشًت خَاثگبُ‪ ،‬کٌذی پبیگبُ ایٌتشًتی داًـکذُ‪ ،‬توبم ؿذى کبست ایٌتشًت ٍ … ّیچکذام دلیل‬
‫هَجْی ثشای تأخیش ًیؼتٌذ‪ .‬ثٌبثشایي پیـٌْبد هیؿَد جَاةّبی خَد سا دس دانشکدهاسػبل کٌیذ‪.‬‬
‫‪ ‬ػَاالت خَد سا ثب فشػتبدى ایویل ثِ آدسع ‪ [email protected]‬یب دس گشٍُ دسع هغشح کٌیذ‪.‬‬
‫‪ً ‬حَُی تحَیل حضَسی پشٍطُ ثؼذا ثِ اعالع ؿوب خَاّذ سػیذ‪.‬‬
‫‪ ‬دقت کٌیذ کِ ثبیذ ثتَاًیذ دس صهبى تحَیل ّش تغییشی دس کذّب اػوبل کٌیذ‪.‬‬
‫پشٍطُ ػشی اٍل دسع ثشًبهِ ًَیؼی ؿیءگشا‬
‫‪1‬‬
‫مقدمه‬
‫ػالم‪ ،‬اهیذٍاسم تب ایٌجب اص دسع جبٍا لزت ثشدُ ثبؿیذ ٍ آهبدگی کبفی ثشای ؿشٍع پشٍطُ ّب سا ثِ دػت آٍسدُ ثبؿیذ‪ .‬دس‬
‫ایي تشم قصذ داسین ثب ّن یک ثبصی ػبدُ ٍ خَة سا کِ ثب تبع اًجبم هی ؿَد پیبدُ ػبصی کٌین‪ .‬ایي ثبصی ؿبهل یک‬
‫صفحِ ‪ N‬دس ‪ N‬اػت کِ اص تؼذادی خبًِ ی تلِ ٍ یب قذست تـکیل ؿذُ اػت ٍ ثِ کوک تبع ثبصیکي ّب دس آى جلَ هی‬
‫سًٍذ‪ّ .‬ذف سػیذى ثِ خبًِ ی آخش قجل اص سقجبی دیگش اػت‪ .‬دس فبص اٍل پشٍطُ ّوبًغَس کِ دس اداهِ ثِ عَس کبهل تَضیح‬
‫دادُ هی ؿَد ؿوب یک حبلت ػبدُ اص ثبصی سا دس کٌؼَل اجشا خَاّیذ کشد‪ّ .‬ذف اصلی اص ایي فبص آصهَدى هْبست ّبی‬
‫اٍلیِ ؿیئ گشایی ٍ تَاًبیی ؿوب دس هذل کشدى ًیبصهٌذی ّبی ػبدُ هی ثبؿذ‪.‬‬
‫قسمتهای اصلی‬
‫دس اثتذا ّوِ ی ثبصیکي ّب ثیشٍى اص صهیي ثبصی قشاس داسًذ ٍ ثِ تشتیت تبع هی اًذاصًذ‪ّ .‬ش ًفش کِ ػذد ‪ 6‬ثیبٍسد هی تَاًذ‬
‫ٍاسد صهیي ثبصی ؿَد‪ .‬دس حبلت کلی ًیض ثؼذ اص ّش ػذد ‪ 6‬ثبصیکي هی تَاًذ یک تبع دیگش ثیٌذاصد‪ .‬ػپغ ثبصی اداهِ پیذا‬
‫هی کٌذ تب ایٌکِ اٍلیي ًفش ثِ خبًِ ی آخش ثشػذ‪ .‬دقت کٌیذ کِ ّیچ ٍقت ًجبیذ دس خبًِ ی آخش تلِ یب قذستی قشاس داؿتِ‬
‫ثبؿذ‪.‬‬
‫زمین بازی‬
‫ّوبًغَس کِ گفتِ ؿذ صهیي ثبصی هشثؼی ‪ N‬دس ‪ N‬اػت‪$ .‬حذاکثش هقذاس ‪ 02 ،N‬اػت‪ #‬خبًِ ّبی ایي صهیي یکی اص‬
‫ػِ حبلت صیش سا داسًذ‪.‬‬
‫‪ ‬خبًِ هؼوَلی‪ :‬ایي خبًِ ّب ّیچ خغشی ًذاسًذ ٍ ثبصیکٌبى هی تَاًٌذ دس آًْب تب ًَثت ثؼذی اػتشاحت کٌٌذ‪.‬‬
‫تٌْب خغشی کِ دس ایي خبًِ ّب ٍجَد داسد ٍاسد ؿذى یک ثبصیکي دیگش ثِ آى هی ثبؿذ کِ ثبػث ثیشٍى‬
‫پشٍطُ ػشی اٍل دسع ثشًبهِ ًَیؼی ؿیءگشا‬
‫‪9‬‬
‫سفتي ثبصیکي اٍل اص صهیي هی ؿَد‪.‬‬
‫‪ ‬تلِ‪ :‬خبًِ ّبی تلِ اصَال خبًِ ّبی خغشًبکی ّؼتٌذ‪ ٍ ،‬ثؼذ اص ّش ثبس اثش کشدى‪ ،‬آى تلِ اص ثیي هی سٍد ٍ آى‬
‫خبًِ ثِ یک خبًِ هؼوَلی تجذیل هی ؿَد‪ .‬تلِ ّب ثِ ؿشح صیش هی ثبؿٌذ‪:‬‬
‫‪ ‬تلِ ی ًبثَدگش‪ :‬اگش ثبصیکٌی ٍاسد ایي تلِ ؿَد‪ ،‬آى ثبصیکي اص صهیي خبسج هی ؿَد ٍ ثبیذ اص ًَ ثبصی‬
‫سا ؿشٍع کٌذ‬
‫‪ ‬تلِ کٌذ‪ :‬اگش ثبصیکٌی ٍاسد ایي تلِ ؿَد ثشای دٍ حشکت ثؼذی اؽ ‪ 02‬دسصذ کٌذ خَاّذ ؿذ‪ .‬هثال‬
‫اگش تبع ‪ 4‬یب ‪ 0‬ثیبٍسد فقظ ‪ 0‬خبًِ ثِ جلَ خَاّذ سفت‪.‬‬
‫‪ ‬تلِ غیش فؼبل گش‪ :‬اگش ثبصیکٌی ٍاسد ایي تلِ ؿَد‪ .‬دس ًَثت ثؼذی قبدس ثِ ثبصی ًخَاّذ ثَد‪ .‬تَجِ‬
‫کٌیذ کِ هثال اگش ثبصیکي ثب تبع ‪ٍ 6‬اسد ایي خبًِ ؿَد دیگش ًویتَاًذ حشکت کٌذ‪ٍ ،‬لی اص حشکت‬
‫ثؼذی هیتَاًذ ثِ حشکت خَد اداهِ دّذ‪$ .‬یؼٌی فقظ جبیضُ اؽ اص ثیي هیشٍد‪ٍ #‬لی اگش ثب ‪ٍ 6‬اسد‬
‫ًـذُ ثَد دس ًَثت ثؼذی قبدس ثِ ثبصی کشدى ًیؼت ٍ یک ًَثت اص اٍ گشفتِ هیـَد‪.‬‬
‫‪ ‬قذست‪ :‬قذس ت ًیض هبًٌذ تلِ فقظ یک ثبس هصشف هی ؿَد ٍ اص ثیي هی سٍد‪ .‬لیؼت قذست ّب دس صیش آهذُ‬
‫اػت‪.‬‬
‫‪ ‬قذست فشػتبدى ثِ ػقت‪ :‬ثؼذ اص ثِ دػت آٍسدى ایي قذست ثبصیکي حق داسد یک ثبصیکي دلخَاُ سا‬
‫ثِ ػقت ُّل ثذّذ‪.‬‬
‫‪ ‬قذست فشػتبدى ثِ ًضدیکتشیي تلِ‪ :‬ثؼذ اص ثِ دػت آٍسدى ایي قذست ثبصیکي هی تَاًذ یک ثبصیکي‬
‫دیگش سا اًتخبة کٌذ ٍ ثبصیکي اًتخبة ؿذُ ثِ ًضدیک تشیي تلِ فشػتبدُ هی ؿَد‪.‬‬
‫الصم ثِ رکش اػت یک ثبصیکي ّیچ ٍقت خَدؽ سا ّل ًخَاّذ داد یب ثِ تلِ ای ًخَاّذ فشػتبد‪ ،‬یؼٌی آى قذس ػول تبع‬
‫اًذاختي سا تکشاس هی کٌیذ کِ ػذدی غیش آى ثبصیکي ثیبیذ!‬
‫پشٍطُ ػشی اٍل دسع ثشًبهِ ًَیؼی ؿیءگشا‬
‫‪5‬‬
‫ورودی برنامه‬
‫ًکتِ ای کِ دس هَسد تؼت آًالیي ایي ثشًبهِ ٍجَد داسد هؼئلِ تبع اػت‪ ،‬ثٌبثش ایي تبع ّب اص ٍسٍدی ثِ ؿوب دادُ‬
‫خَاٌّذ ؿذ ٍ ؿوب ثِ جبی اػتفبدُ اص تَاثغ تَلیذ اػذاد تصبدفی جبٍا اص ٍسٍدی اػذاد تصبدفی سا ثخَاًیذ‪.‬‬
‫ٍسٍدی ثشًبهِ دس چٌذیي خظ اػت کِ ثِ ؿکل کلی صیش اػت‪:‬‬
‫خظ اٍل تؼذاد تبع ّبی ٍسٍدی ٍ خظ ثؼذ ثِ ّوبى تؼذاد تبع کِ اػذاد ثیي ‪6 ٍ 1‬‬
‫ّؼتٌذ‪ .‬دس خظ ػَم ٍ چْبسم دٍثبسُ تؼذاد تبع ّبی ٍسٍدی ٍ ثِ ّوبى تؼذاد ػذد ایي ثبس‬
‫ثیي ‪ ٍ 1‬تؼذاد ثبصیکي ّب ّؼتٌذ‪ .‬ایي تبع ثشای قذست ّب کبسثشد داسد‪ .‬ػپغ ‪ N‬کِ اًذاصُ‬
‫صفحِ ثبصی اػت ٍ قجال آى سا تؼشیف کشدُ این‪ .‬ثؼذ ‪ M‬کِ تؼذاد ثبصیکي ّبػت هی آیذ ٍ‬
‫دس خظ ثؼذی ‪ M‬سؿتِ کِ ًبم ثبصیکي ّبػت آهذُ اػت‪ .‬دقت کٌیذ کِ ثبصیکي ّب ثِ‬
‫ّوبى تشتیت کِ دس ٍسٍدی ًبم ثشدُ ؿذُ اًذ ثبصی خَاٌّذ کشد‪ .‬ػپغ ػذد ‪ P‬قشاس داسد‬
‫کِ هجوَع تؼذاد تلِ ّب ٍ قذست ّبػت ٍ دس ّش کذام اص ‪ P‬خظ ثؼذی ًیض ػِ ػذد آهذُ‬
‫اػت کِ ثِ تشتیت ؿوبسُ ػغش ٍ ػتَى ٍ ًَع آى خبًِ هی ثبؿذ‪ .‬اًَاع خبًِ ؿبهل‬
‫‪$TR‬تلِ ًبثَدگش‪$TS ،#‬تلِ کٌذ‪$TD ،#‬تلِ غیش فؼبل گش‪$PB ،#‬قذست فشػتبدى ثِ ػقت‪ٍ #‬‬
‫‪$PN‬قذست فشػتبدى ثِ ًضدیک تشیي خبًِ‪ #‬هی ثبؿذ‪.‬‬
‫‪T‬‬
‫‪A1 A2 …. At‬‬
‫‪S‬‬
‫‪B1 B2 …. Bs‬‬
‫‪N‬‬
‫‪M‬‬
‫‪S1 S2 …. Sm‬‬
‫‪P‬‬
‫‪X 1 Y 1 Z1‬‬
‫‪…..‬‬
‫‪X p Y p Zp‬‬
‫یک ًوًَِ اص ٍسٍدی ثِ صَست صیش اػت‪:‬‬
‫پشٍطُ ػشی اٍل دسع ثشًبهِ ًَیؼی ؿیءگشا‬
‫‪4‬‬
‫‪14‬‬
‫‪13623164131662‬‬
‫‪3‬‬
‫‪112‬‬
‫‪4‬‬
‫‪2‬‬
‫‪Me You‬‬
‫‪5‬‬
‫‪2 3 TS‬‬
‫‪3 3 PB‬‬
‫‪4 3 TR‬‬
‫‪1 2 TD‬‬
‫‪1 3 PN‬‬
‫ًکتِ ّبیی کِ ثبیذ دس ًظش ثگیشیذ ثِ ؿشح صیش اػت‪:‬‬
‫‪ ‬اػذاد ‪ Y ٍ X‬اص ‪ 1‬تب ‪ّ N‬ؼتٌذ‪.‬‬
‫‪ّ ‬یچ تلِ یب قذستی دس خبًِ آخش قشاس ًذاسد‬
‫‪ ‬اگش ثِ کوک قذست ثبصیکي ‪ A‬ثبصیکي ‪ B‬سا ثِ خبًِ ای فشػتبد کِ ثبصیکي ‪ C‬دس آى قشاس داسد‪ ،‬ثبصیکي ‪ C‬اص ثبصی‬
‫خبسج هی ؿَد‬
‫‪ ‬اگش ًضدیکتشیي تلِ اص دٍ ػوت ثبصیکي ثِ یک فبصلِ ثبؿذ اٍلَیت ثب تلِ ػقت اػت‬
‫‪ ‬اگش ّیچ ًضدیکتشیي تلِ ای ٍجَد ًذاؿتِ ثبؿذ‪ّ .‬یچ اتفبقی ثشای ثبصیکي ًوی افتذ ٍ چیضی ّن چبح ًوی ؿَد‬
‫ًَثت اضبفی ثؼذ اص ّش تبع ‪ 6‬فشاهَؽ ًـَد‪.‬‬
‫نحوه ی پیاده سازی‬
‫ثب تَجِ ثِ ایي کِ پشٍطُ ی اٍ ل اػت‪ ،‬هقذاسی تَضیح ساجغ ثِ ًَع پیبدُ ػبصی ٍ چگًَگی گشفتي ‪ّ Object‬ب دادُ‬
‫هیـَد‪ .‬دس پشٍطُ ّبی ثؼذی ایي کِ چگًَِ عشاحی ٍ پیبدُ ػبصی کٌیذ ثش ػْذُ ی خَد ؿوبػت‪.‬‬
‫کالع ّبیی کِ پیـٌْبد هیـَد گشفتِ ؿًَذ ثِ ؿشح صیش اػت‪:‬‬
‫کالع ‪:BoardCell‬‬
‫ایي کالع ثِ اصای ّش کذام اص خبًِ ّبی صفحِ ی ثبصی اػت؛ پغ ثِ تؼذاد ‪ N*N‬تب اص ایي کالع ثبیذ‬
‫‪ instance‬گشفتِ ؿَد‪ .‬ثبیذ هـخصبت هشثَط ثِ ّش خبًِ ای دس ایي کالع قبثل دػتیبثی ٍ یب تغییش ثبؿذ‪.‬‬
‫کالع ‪:Board‬‬
‫ایي کالع ثِ اصای یک صفحِ ی ثبصی اػت‪ ،‬پغ ثبیذ دس آى ‪ N*N‬تب اص ‪ّ BoardCell‬ب ثبؿذ‪ّ .‬ویي عَس‬
‫کبسّبی هشثَط ثِ صفحِ ی ثبصی ثبیذ دس ایي کالع اًجبم ؿَد‪ .‬هثال ثبیذ یک تبثغ داؿتِ ثبؿذ کِ ثب گشفتي ؿوبسُ ی‬
‫ثبصیکي ٍ تبػی کِ آٍسدُ اػت حشکت هشثَعِ سا سٍی صفحِ اًجبم دّذ‪.‬‬
‫دس ایي کالع ثبیذ اعالػبت هشثَط ثِ تبع ّب ثبؿذ‪ ،‬ایي کِ چِ تبع ّبیی اص ٍسٍدی آهذُ ٍ االى ًَثت اجشای‬
‫کذام تبع اػت ٍ ‪...‬‬
‫کالع ‪:Player‬‬
‫ایي کالع ثبیذ هـخصبت ٍ هکبى حضَس ٍ ّویٌغَس قذست ّب ٍ یب تلِ ّبیی کِ ثِ ایي ثبصیکي ثشخَسد کشدُ‬
‫اػت سا جَسی دس آى پیبدُ ػبصی کٌیذ تب هـخص ثبؿذ کِ ایي ثبصیکي ثبیذ چگًَِ حشکت کٌذ‪ .‬ایي کالع ثبیذ کبس ّبی‬
‫هشثَط ثِ ثبصیکي سا ًیض اًجبم دّذ هثال ثِ سٍص سػبًی ٍیظگی ّبی ثبصیکي‪.‬‬
‫پشٍطُ ػشی اٍل دسع ثشًبهِ ًَیؼی ؿیءگشا‬
‫کالع ‪:DicePool‬‬
‫‪3‬‬
‫کالع ‪:PlayerList‬‬
‫ایي کالع یک لیؼت اص ثبصیکي ّب سا دس خَد ًگْذاسی هیکٌذ ٍ ّویٌغَس ًگِ هیذاسد کِ ًَثت کذام یک اص‬
‫ثبصیکي ّب اػت‪ .‬اص ایي کالع هیتَاى ثِ ػٌَاى ایي کِ ّش ثبصیکي دس کذام خبًِ قشاس داسد ٍ دس چِ ٍضؼیتی اػت کوک‬
‫گشفت‪ّ ،‬ویٌغَس هیتَاى تـخیص داد کِ آیب ثبصیکٌی ثبصی سا ثشدُ اػت یب خیش‪.‬‬
‫کالع ‪:Game‬‬
‫ایي کالع کالع اصلی پشٍطُ اػت کِ دس آى ثبیذ کبس ّبی کلی هشثَط ثِ ثبصی سا اًجبم دّیذ‪ ،‬پغ ایي کالع‬
‫داسای یک یب چٌذ ًوًَِ اص کالع ‪ ٍ DicePool‬یک ًوًَِ اص کالع ‪ ٍ Board‬یک ًوًَِ اص کالع ‪ PlayerList‬ثبؿذ‪.‬‬
‫ّوچٌیي حلقِ ی اصلی اجشای ثبصی دس ایي کالع اػت‪.‬‬
‫کالع ‪:Main‬‬
‫ایي کالع فقظ ًقغِ ی ؿشٍع اجشای ثشًبهِ ی پشٍطُ اػت ٍ خبصیت دیگشی ًذاسد‪.‬‬
‫پشٍطُ ػشی اٍل دسع ثشًبهِ ًَیؼی ؿیءگشا‬
‫‪6‬‬
‫خروجی برنامه‬
‫هَاسدی کِ ثبیذ دس خشٍجی چبح ؿًَذ ثِ ؿشح صیش اػت‪:‬‬
‫‪ٍ ‬قتی کؼی ثشًذُ هی ؿَد ثبیذ پیبم صیش چبح ؿَد کِ اصَال آخشیي پیبم ثبصی اػت‪ ،‬دقت کٌیذ کِ ثبصی دس ّوِ‬
‫پیبم ّب ثیي دٍ ثبصیکي ‪ You ٍ Me‬هی ثبؿذ‪:‬‬
‫!‪[Me] has won the game‬‬
‫‪ٍ ‬قتی کؼی تبع هی اًذاصد‪:‬‬
‫!‪[You] dice = 3‬‬
‫‪ٍ ‬قتی کؼی ثالیی ػشؽ هی آیذ‪:‬‬
‫!‪[Me] is reset‬‬
‫!‪[Me] is slowed‬‬
‫!‪[Me] is disabled‬‬
‫‪ٍ ‬قتی کؼی قذستی سا اػتفبدُ هی کٌذ‪:‬‬
‫!‪[Me] send You back by 3‬‬
‫!‪[Me] send You to nearest trap at 50‬‬
‫‪ٍ ‬قتی کؼی ثب ٍسٍد ثِ خبًِ ای کغ دیگشی سا هی کـذ‬
‫!‪[Me] killed You‬‬
‫‪ٍ ‬قتی ًَثت کؼی هی ؿَد‪:‬‬
‫!‪[Me] ‘s turn to play‬‬
‫!‪[Me] moved to 50‬‬
‫‪ ‬ثِ هحض ٍاسد ؿذى ثبصیکٌی ثِ یک خبًِ‪:‬‬
‫‪[Me] @ X! (X = Normal place/ Slow trap/ Reset trap/ Disable trap/ SendBack powerup/‬‬
‫)‪SendToNearest powerup‬‬
‫‪ ‬ثؼذ اص پبیبى کبس ّش ثبصیکي ًیض ثبیذ تختِ ی ثبصی چبح ؿَد‪ .‬هٌظَس اص پبیبى کبس یؼٌی ثؼذ اص آًکِ تؼذادی ‪ 6‬یب‬
‫غیشُ آٍسد ٍ قجل اص ایٌکِ ًفش ثؼذی تبع ثیبًذاصد‪ .‬تختِ ثِ ؿکل صیش چبح هی ؿَد‪.‬‬
‫پشٍطُ ػشی اٍل دسع ثشًبهِ ًَیؼی ؿیءگشا‬
‫‪ٍ ‬قتی کؼی هی خَاّذ ٍاسد خبًِ ای ؿَد‪:‬‬
‫‪7‬‬
‫تختِ ثِ صَست یک ػشی ًوبد دٍ حشفی هبًٌذ ؿکل صیش چبح خَاّذ ؿذ کِ __ ًوبیبًگش خبًِ هؼوَلی ٍ ‪0‬‬
‫ػالهت گفتِ ؿذُ ثشای تلِ ّب ٍ قذست ّب ًوبد ّش یک اص آًْب ٍ ؿوبسُ ّب ّن ًوبد ثبصیکي ّب خَاٌّذ ثَد‪ .‬ضوٌب‬
‫ّیچ تؼتی ثیؾ اص ‪ 99‬ثبصیکي ًخَاّذ داؿت‪.‬‬
‫‪01‬‬
‫‪02‬‬
‫__‬
‫__‬
‫__‬
‫__‬
‫‪PB‬‬
‫__‬
‫‪TD‬‬
‫‪TS‬‬
‫__‬
‫‪TR‬‬
‫__‬
‫__‬
‫__‬
‫__‬
‫ًکتِ ای کِ ثبیذ حتوب تَجِ کٌیذ ایي اػت کِ تختِ اص ًظش ؿوبسُ خبًِ ثبیذ ثِ صَست هبسپیچ چبح ؿَد‪ ،‬یؼٌی‬
‫ثِ صَست صیش‪:‬‬
‫‪4‬‬
‫‪3‬‬
‫‪2‬‬
‫‪1‬‬
‫‪5‬‬
‫‪6‬‬
‫‪7‬‬
‫‪8‬‬
‫‪12‬‬
‫‪11‬‬
‫‪10‬‬
‫‪9‬‬
‫‪13‬‬
‫‪14‬‬
‫‪15‬‬
‫‪16‬‬
‫هثال دس ؿکل ثبال ثبصیکي اٍل دس خبًِ ‪ ٍ 4‬ثبصیکي دٍم دس خبًِ ‪ 0‬قشاس داسد‪ ٍ .‬تلِ کٌذ کٌٌذُ ًیض دس خبًِ ‪ 7‬قشاس گشفتِ‬
‫اػت‪.‬‬
‫ًکبتی کِ دس هَسد خشٍجی ثبیذ سػبیت ؿَد ثِ ؿشح صیش اػت‪:‬‬
‫‪ّ ‬وِ ی ؿوبسُ خبًِ ّب دس چبح اص یک ؿشٍع هی ؿًَذ‬
‫‪ ‬ثؼذ اص ّش ‪ 6‬دٍثبسُ ػجبست !‪ [Me] ‘s turn to play‬چبح ؿَد‬
‫‪ ‬اگش خبًِ ی ثؼذی یک ًفش خبسج اص صفحِ اػت ‪$‬قجل اص دس ًظش گشفتي تلِ ٍ قذست‪ #‬ػجبست ‪[Me] moved to‬‬
‫!‪ً 50‬جبیذ چبح ؿَد‬
‫پشٍطُ ػشی اٍل دسع ثشًبهِ ًَیؼی ؿیءگشا‬
‫‪8‬‬
‫تب چٌذ سٍص آیٌذُ یک ًوًَِ اص ٍسٍدی ٍ خشٍجی دسػت ثِ گشٍُ فشػتبدُ خَاّذ ؿذ تب دسػتی ثشًبهِ ّبی خَد سا ثب آى‬
‫ثؼٌجیذ!‬
‫نمره ی اضافی‬
‫جبٍاداک‪ً 11 :‬وشُ‬
‫تویض ٍ خَاًب ثَدى کذ ٍ ػذم ٍجَد کذ تکشاسی‪ً 11 :‬وشُ‬
‫نمره بندی‬
‫ًوشُ قضبٍت آًالیي‪60 :‬‬
‫ًوشُ تحَیل حضَسی‪40 :‬‬
‫‪ ‬تحَیل حضَسی ؿبهل هَاسدی هبًٌذ تؼلظ ثش کذ ٍ اػتفبدُ اص هفبّین ‪ً ،Object oriented‬بم گزاسی‬
‫صحیح‪ً ،‬حَُ ی کذ صًی صحیح‪ ،‬سػبیت‪ ، visibility‬ػذم اػتفبدُ ی ًبدسػت اص فیلذ ّبی ‪... ٍ static‬‬
‫هیثبؿذ‪.‬‬
‫نحوه قضاوت‬
‫ؿوب ثبیذ یک فبیل ثِ ًبم ‪ Main.java‬ؿبهل ّوِ کالع ّب اص جولِ کالع ‪ Main‬کِ دس آى تبثغ ‪ Main‬قشاس داسد سا‬
‫دس ػبیت آپلَد کٌیذ‪ .‬اص عشفی ثشای ساحتی ؿوب دس ٌّگبم کذ صدى ٍ تویض ٍ هـخص ثَدى کالع ّب دس تحَیل حضَسی‬
‫ثبیذ کالع ّب دس فبیل ّبی جذا ثبؿٌذ! ثٌبثش ایي ؿوب دس آخش ثبیذ اثتذا فبیلْبی پشٍطُ سا دس یک فبیل ‪ zip‬ثِ ًبم ؿوبسُ‬
‫داًـجَیی خَد دس ‪ Judge‬آپلَد کٌیذ‪ّ .‬ذف اص ایي کبس داًلَد آى ثشای تحَیل حضَسی هی ثبؿذ‪ً .‬وشُ ی ؿوب ثؼذ اص‬
‫ایي کبس صفش خَاّذ ؿذ ثٌبثش ایي ػپغ ّوِ سا دس یک فبیل ثب ًبم ‪ Main.java‬دس ‪ Judge‬آپلَد کٌیذ تب ًوشُ ی‬
‫قضبٍت آًالیي ؿوب ًیض ثجت ؿَد‪ .‬لغفب ایي تشتیت سا سػبیت کٌیذ‪ .‬ثشای ایٌکِ ّش ثبس فبیل ّبی خَد سا ػش ّن ٍ جذا‬
‫ًکٌیذ‪ ،‬ثشًبهِ ای ثِ ّوشاُ ایي پشٍطُ ثِ ؿوب دادُ هی ؿَد کِ ایي کبس سا ثشای ؿوب اًجبم هی دّذ‪ .‬الصم ثِ رکش اػت ثشای‬
‫هَفق ٍ پیشٍص ثبؿیذ‬
‫هحوذ اصغشی‬
‫پشٍطُ ػشی اٍل دسع ثشًبهِ ًَیؼی ؿیءگشا‬
‫اػتفبدُ اص ایي ثشًبهِ ّوِ ی کالع ّبی ؿوب ثبیذ دس ‪ default package‬ثبؿٌذ‪.‬‬
‫‪9‬‬