JAVA_902_P2.pdf

‫فاز دوم پروژه‬
‫درس برنامه نویسی شئگرا‬
‫موعذ ارسال‪ :‬شنبه ‪ ۶‬خرداد ‪1391‬‬
‫فبس دٍم پزٍصُ ثزًبهِ سبسی ضیءگزا‬
‫هْلت تحَیل‪ :‬شنبه ‪ ۶‬خرداد ‪1391‬‬
‫نکات کلی‬
‫‪ ‬ثزای ارسبل ثِ آدرس سیز هزاخؼِ کٌیذ‪:‬‬
‫‪1‬‬
‫‪http://arsh.co/java902/‬‬
‫‪ ‬هَػذ تحَیل سبػت ‪ 16:5:‬رٍس ضٌجِ ‪ 6‬خزداد ‪ 1۹:1‬ثَدُ ٍ ثِ ّیچ ػٌَاى توذیذ ًخَاّذ ضذ‪.‬‬
‫‪ ‬تأخیز تب ‪ 1‬سبػت‪ ،‬ثِ اسای ّز ‪ ۹‬دقیقِ هَخت کسز ضذى ‪ً "1‬وزُ‪ ،‬اس ‪ 1‬سبػت تب ‪ 42‬سبػت هَخت کسز ضذى‬
‫‪ً "42‬وزُ‪ ،‬اس ‪ 42‬سبػت تب ‪ 45‬سبػت‪ ،‬ثِ اسای ّز ‪ 4‬دقیقِ هَخت کسز ضذى ‪ً "1‬وزُی دیگز ٍ ثیي ‪ 45‬سبػت‬
‫تب ‪ 24‬سبػت ثبػث کسز ضذى ‪ً "52‬وزُ هیضَد‪ .‬تأخیز ثیطتز اس ‪ 24‬سبػت قبثل قجَل ًیست‪.‬‬
‫‪ ‬قطغ ثَدى ایٌتزًت خَاثگبُ‪ ،‬کٌذی پبیگبُ ایٌتزًتی داًطکذُ‪ ،‬توبم ضذى کبرت ایٌتزًت ٍ … ّیچکذام دلیل‬
‫هَخْی ثزای تأخیز ًیستٌذ‪ .‬ثٌبثزایي پیطٌْبد هیضَد خَاةّبی خَد را در دانشکذه ارسبل کٌیذ‪.‬‬
‫‪ ‬تالش ثزای استفبدُ اس هٌبثغ سیستن هبًٌذ کبرت غذا ٍ پزیٌتز ٍ ًَض تي ثِ فبیل ٍ ‪ ...‬هٌدز ثِ دریبفت ًوزُی‬
‫غفز در ایي فبس پزٍصُ هیضَد‪.‬‬
‫‪ ‬سَاالت خَد را در سبیت ‪ ٍ piazza‬ثب تگ هٌبست هطزح کٌیذ‪.‬‬
‫‪ً ‬حَُ تحَیل حضَری هتؼبقجبً اػالم خَاّذ ضذ‪.‬‬
‫فبس دٍم پزٍصُ ثزًبهِ سبسی ضیءگزا‬
‫‪11‬‬
‫دقت کنید که آدرس درست ‪ arsh.co‬است و نه ‪!arsh.co.ir‬‬
‫‪1‬‬
‫هقدهَ‬
‫سالم‪،‬‬
‫در فبس دٍم پزٍصُ هیخَاّین هحیط گزافیکی ثبسی راس خٌگل کِ‬
‫در فبس اٍل ًَضتِ ثَدین را ایدبد کٌین‪.‬‬
‫غفحِ اغلی هحیط گزافیکی ثبسی ضجیِ ًقطِ ثبسی است‪.‬‬
‫هحیط گرافیکی‬
‫صفحَ اصلی (زهیي بازی)‬
‫سهیي ثبسی ّوبًٌذ آًچِ در فبس اٍل تَضیح دادُ ضذُ ثَد است ‪$‬ضکل ‪ .#1‬دقت کٌیذ کِ هکبى خبًِّب ٍ رًگ آًْب را ثبیذ‬
‫در ًظز ثگیزیذ ٍ رػبیت کٌیذ‪ً .‬یبسی ثِ ًوبیص دادى ضوبرُ خبًِّب ًیست‪.‬‬
‫فبس دٍم پزٍصُ ثزًبهِ سبسی ضیءگزا‬
‫‪4‬‬
‫شکل ‪1‬‬
‫در غفحِی اغلی ػالٍُ ثز سهیي ثبسی‪ ،‬هَارد سیز ًیش ثبیذ ًوبیص دادُ ضًَذ‪:‬‬
‫‪ ‬اهتیبس ثبسیکٌبى‪$‬تؼذادی گٌحّبی ثِ دست آهذُ‪#‬‬
‫‪ ‬ضوبرُ هزحلِ‪#Round$‬‬
‫‪ًَ ‬ثت فؼلی‬
‫‪ ‬اػذاد تبس ثبسیکي ًَثت فؼلی‬
‫‪ ‬اًتخبثْبی ثبسیکي ًَثت فؼلی‬
‫چیٌص هٌبست غفحِ ضبهل سهیي ثبسی ٍ ایي هَارد ثز ػْذُی ضوب است‪.‬‬
‫شرّع بازی‬
‫قجل اس ًوبیص غفحِ ی اغلی‪ ،‬تؼذا ثبسیکٌبى‪$‬ثیي ‪ 4‬تب ‪ً ٍ # 2‬بم آًْب ثبیذ پزسیذُ ضَد‪ .‬ثبسیکٌبى در طَل ثبسی تَسط‬
‫ًبهطبى ضٌبختِ هیضًَذ‪.‬‬
‫حرکات بازی‬
‫حزکبت ثبسیکٌبى اس دٍ ًَع است‪:‬‬
‫‪ .1‬حزکت ٍ پزش ثز رٍی خبًِّبی ًقطِ‬
‫‪ .4‬اًتخبةّبی اضبفی‬
‫حزکبت ًَع اٍل ثبیذ ثز رٍی خَد ًقطِ سهیي ثبسی‪$‬ثزای هثبل ثب تغییز رًگ‪ #‬هطخع ضًَذ ٍ ثب کلیک هبٍس قبثل اًتخبة‬
‫ثبضٌذ‪.‬‬
‫حزکبت ًَع دٍم ثبیذ در غفحِی اغلی ٍ خبرج اس ًقطِ سهیي ثبسی هطخع ضًَذ ٍ ثب کلیک هبٍس قبثل اًتخبة ثبضٌذ‪.‬‬
‫دقت کٌیذ در ّیچ کذام اس ایي دٍ ًَع ثزای اًتخبة ًجبیذ اس دیبلَگ ٍ پٌدزُّبی اضبفی استفبدُ ضَد‪.‬‬
‫اًداختي تاس‬
‫ضًَذ‪ .‬ثب قجَل ایي اػذاد ثبسی اداهِ پیذا هیکٌذ‪.‬‬
‫ثزای سبدگی تحَیل پزٍصُ ایي اهکبى ثبیذ فزاّن ضَد تب کبرثز ثبسی‪$‬تحَیل گیزًذُ پزٍصُ‪ ،#‬ایي اػذاد را تغییز دّذ‪.‬‬
‫پیغامُا‬
‫در ٌّگبم رخذاد اتفبقْبی سیز ثبیذ پیغبم هٌبست ًوبیص دادُ ضَد‪:‬‬
‫فبس دٍم پزٍصُ ثزًبهِ سبسی ضیءگزا‬
‫در ٌّگبم اًذاختي تبس‪ّ$‬ز دٍ تبس ثِ طَر ّوشهبى‪ #‬ثبیذ پٌدزُ ای ًوبیص یبثذ ٍ اػ ذاد تػبدفی اًتخبة ضذُ هطخع‬
‫‪۹‬‬
‫‪ ‬ثزًذُ ضذى گٌح تَسط ثبسیکي‬
‫‪ ‬تغییز هزحلِ ثبسی‬
‫‪ ‬پزش ثبسیکي ثِ خبًِّبی آثی‬
‫‪ ‬تغییز گٌح ّذف‬
‫‪‬‬
‫دیذى گٌح یک خبًِ‪$‬قجل اس ًوبیص گٌح یک خبًِ یک پیغبم دیگز ثبیذ اس دیگز ثبسیکٌبى ثخَاّذ تب چطوبى خَد‬
‫را ثجٌذًذ ٍ فقط ثبسیکي ًَثت فؼلی ثتَاًذ گٌح آى خبًِ را هتَخِ ثطَد!‪#‬‬
‫پایاى بازی‬
‫ثب پبیبى یبفتي سیشدُ هزحلِ‪ ،‬اهتیبس ثبسیکٌبى ٍ ثبسیکي‪ّ$‬بی‪ #‬ثزًذُ ثبیذ هطخع ضًَذ‪.‬‬
‫خطاُا‬
‫خطبّبی رخ دادُ در ثزًبهِ ثبیذ ثِ ًحَُ درستی هذیزیت ضًَذ‪.‬‬
‫خطبّبی ایدبد ضذُ اس سوت کبرثز‪$‬هبًٌذ ٍارد کزدى اػذاد ًبدرست ثزای تبس‪ #‬ثبیذ کطف ضذُ ٍ ثِ اٍ تذکز دادُ ضًَذ‪.‬‬
‫خطبّبی پیص ثیٌی ضذُ ٍ ًطذُ ثزًبهِ ًیش ثبیذ ثب سبختبرّبی هٌبست ‪ try/catch‬ثِ ًحَ درستی هذیزیت ضًَذ ٍ در‬
‫ٍاسط گزافیکی ًوبیص یبثٌذ‪.‬‬
‫ساختار پرّژٍ‬
‫در غَرتی کِ در فبس اٍل اس هفبّین ٍراثت ٍ چٌذگبًگی‪ #Polymorphism $‬استفبدُ ًکزدُایذ‪ ،‬اس ضوب اًتظبر هیرٍد در‬
‫ایي فبس پزٍصُ خَد را ثب تَخِ ثِ ایي هَارد تػحیح کٌیذ ٍ سبختبر ثْتزی ثزای آى ثِ ٍخَد ثیبٍریذ‪.‬‬
‫کالسْبی اًَاع هختلف خبًِ ّب ٍ اًَاع هختلف اًتخبةّب‪ ،‬راثط کالس ‪ ٍ Game‬هَارد ایٌچٌیٌی کبًذیذاّبی هٌبسجی‬
‫ثزای ثبسثیٌی ّستٌذ‪.‬‬
‫در تحَیل ایي فبس ثِ سبختبر کذ ٍ قبثلیت اًؼطبف پذیزی ٍ هٌطقی ثَدى آى ٍ هَاردی هبًٌذ ًجَد کذ تکزاری ٍ سایذ در‬
‫فبس دٍم پزٍصُ ثزًبهِ سبسی ضیءگزا‬
‫‪2‬‬
‫پزٍصُ تَخِ ثیطتزی هیضَد‪.‬‬
‫ثزای اطالػبت ثیطتز ثِ غَرت فبس اٍل ٍ ثحثّبی غَرت گزفتِ در ‪ piazza‬هزاخؼِ کٌیذ‪.‬‬
‫ًکات هِن‬
‫‪ ‬هحیط گزافیکی را ثبیذ ثز رٍی پزٍصُ خَد کِ در فبس اٍل ًَضتِ ایذ پیبدُ سبسی کٌیذ‪.‬‬
‫‪ ‬سؼی ضذُ در ثخص قجل تب آًدب کِ هوکي ثَد ثِ خشییبت پزداختِ ًطَد‪ .‬ایي ٍظیفِی ضوبست کِ هحیط ثبسی‬
‫را قبثل قجَل ٍ حتی خذاة پیبدُ سبسی کٌیذ‪ .‬بذون کاسته شذن از رونذ کلی مشخص شذه ٍ در راستای‬
‫بهتر و زیبا شذن محیط بازی هیتَاًیذ حتی ّویي گفتِّب را ًیش رػبیت ًکٌیذ‪.‬‬
‫دقت کٌیذ هَاردی هبًٌذ‪:‬‬
‫‪ o‬ثِ ًظزم آهذ اًتخبة ّبی حزکت ثْتز است ثب ضوبرُ ٍ در یک پٌدزُ هطخع ضًَذ تب در رٍی ًقطِ ٍ‬
‫ثب تغییز رًگ‪.‬‬
‫‪ o‬ثْتز ثَد کبرثز ًتَاًذ اػذاد تبس را تغییز دّذ‪.‬‬
‫قبثل قجَل ًیستٌذ! ٍ هَاردی هبًٌذ‪:‬‬
‫‪ o‬پیغبهْب ثْتز ثَد در پٌدزُای هدشا ًوبیص یبثٌذ‪.‬‬
‫قبثل قجَل ّستٌذ! هؼیبر درستی گفتِ ضوب تحَیل گیزًذُ ٍ دستیبراى استبد ّستٌذ‪ .‬پس ثْتز است غزفبً‬
‫تػویوبتی ثگیزیذ کِ ثِ ًظزتبى اس دیذ ّوگبى هطلَة ٍ درست ّستٌذ‪.‬‬
‫ًورٍ بٌدی ّ ًورٍ اضافی‬
‫‪ 62‬درغذ ًوزُ ثِ کبرکزد درست ٍ کبهل ثزًبهِ ٍ هحیط گزافیکی اختػبظ دارد‪.‬‬
‫‪52‬درغذ ًوزُ ثِ سبختبر درست ٍ هٌبست کذ اختػبظ دارد‪.‬‬
‫‪ 42‬درغذ ًوزُ ثِ سیجبیی هحیط گزافیکی اختػبظ دارد‪$‬هؼیبر ایي ثخص تحَیل گیزًذُ پزٍصُ ٍ ًظز ایطبى است‪#‬‬
‫‪۹2‬درغذ ًوزُ ثِ ایدبد یک ٍیزایصگز ًقطِ اختػبظ دارد‪ .‬ایي ٍیزایطگز یک فبیل ضبهل خبًِّب‪ًَ ،‬ع آًْب ٍ هکبى آًْب‬
‫تَلیذ هیکٌذ کِ در پزٍصُ اغلی هَرد استفبدُ قزار هی گیزد‪ .‬پس دقت کٌیذ کِ السم است پزٍصُ اغلی اس خَاًذى ًقطِ اس‬
‫فبیل پطتیجبًی کٌذ‪ .‬هحیط ایي ٍیزایطگز گزافیکی ثَدُ ٍ قبثلیت خبثدبیی خبًِّب‪ ،‬حذف ٍ ایدبد خبًِ ٍ تغییز ًَع آًْب ٍ‬
‫ایدبد ٍ حذف اتػبل ثیي آًْب را داراست‪.‬‬
‫ًحٍْ فرستادى کد‬
‫کذ خَد را در قبلت یک فبیل ‪ zip‬ثفزستیذ‪ .‬ریطِ ایي فبیل ‪ zip‬ثبیذ حبٍی یک فَلذر ثب ًبم ‪ razeJangal‬ثبضذ کِ‬
‫هؼبدل ‪ package‬ریطِ ثزًبهِ ثب ّویي ًبم است‪ .‬ایي فبیل ‪ zip‬حبٍی فبیلّبی هتٌی ‪ّ .class ًِ ٍ$ .java‬بی کبهپبیل‬
‫ضذُ‪ #‬است‪ً .‬بم فبیل ‪ zip‬را ‪ JAVA902P2.zip‬ثگذاریذ‪.‬‬
‫هتذ ‪ Main‬در ایي فبس ثبیذ در کالس ‪ razeJangal.gui.GUIRunner‬ثبضذ‪.‬‬
‫فبس دٍم پزٍصُ ثزًبهِ سبسی ضیءگزا‬
‫دقت کٌیذ کِ هدوَع ًوزُّب ‪162‬درغذ است!‬
‫‪5‬‬
‫پیص اس ارسبل هطوئي ضَیذ کِ کذ ضوب ثِ درستی کبهپبیل ٍ اخزا هیضَد‪.‬‬
‫هَفق ثبضیذ‬
‫فبس دٍم پزٍصُ ثزًبهِ سبسی ضیءگزا‬
‫‪6‬‬