فاز اول پروژه درس برنامه نویسی شئگرا موعد ارسال :شنبه 91فروردین 9119 فبس اٍل پزٍصُ ثزًبهِ سبسی ضیءگزا هْلت تحَیل :شنبه 91فروردین 9119 وکات کلی ثزای ارسبل ثِ آدرس سیز هزاجؼِ کٌیذ: 1 http://arsh.co/java902/ هَػذ تحَیل سبػت 16:59رٍس ضٌجِ 19فزٍردیي 1۹91ثَدُ ٍ ثِ ّیچ ػٌَاى توذیذ ًخَاّذ ضذ. تأخیز تب 1سبػت ،ثِ اسای ّز ۹دقیقِ هَجت کسز ضذى ً "1وزُ ،اس 1سبػت تب 42سبػت هَجت کسز ضذى ً "42وزُ ،اس 42سبػت تب 45سبػت ،ثِ اسای ّز 4دقیقِ هَجت کسز ضذى ً "1وزُی دیگز ٍ ثیي 45سبػت تب 28سبػت ثبػث کسز ضذى ً "52وزُ هیضَد .تأخیز ثیطتز اس 28سبػت قبثل قجَل ًیست. قغغ ثَدى ایٌتزًت خَاثگبُ ،کٌذی پبیگبُ ایٌتزًتی داًطکذُ ،توبم ضذى کبرت ایٌتزًت ٍ … ّیچکذام دلیل هَجْی ثزای تأخیز ًیستٌذ .ثٌبثزایي پیطٌْبد هیضَد جَاةّبی خَد را در دانشکده ارسبل کٌیذ. اس آًجبیی کِ ثخطی اس ًوزُ ضوب ثب تػحیح ثِ ضکل خَدکبر هطخع هیضَد ،السم است در پیبدُ سبسی ٍرٍدی ٍ خزٍجی دقت سیبدی کٌیذ. تالش ثزای استفبدُ اس هٌبثغ سیستن هبًٌذ کبرت غذا ٍ پزیٌتز ٍ ًَضتي ثِ فبیل ٍ ...هٌجز ثِ دریبفت ًوزُی غفز در ایي فبس پزٍصُ هیضَد. سَاالت خَد را در سبیت ٍ piazzaثب تگ هٌبست هغزح کٌیذ. ً حَُ تحَیل حضَری هتؼبقجبً اػالم خَاّذ ضذ. فبس اٍل پزٍصُ ثزًبهِ سبسی ضیءگزا 1 دقت کٌیذ کِ آدرس درست arsh.coاست ٍ ًِ !arsh.co.ir 1 مقدمٍ سالم، پزٍصُ ایي درس ،پیبدُ سبسی یک ثبسی ثسیبر جبلت ثِ اسن «راس جٌگل» ّست .ایي ثبسی رٍی یک سهیي ثب تؼذادی خبًِ در یک ًوَدار گزاف ضکل اًجبم هیضَد .تؼذاد ثبسیکٌبى ثبسی دٍ تب چْبر ًفز است کِ ّز کذام یک هْزُ در سهیي دارًذ کِ هکبى آًْب در سهیي را ًطبى هیدّذ .ثبسی تَسظ دٍ ػذد تبس اًجبم هیضَد. در فبس اٍل ،ضوب ایي ثبسی را ثزای اجزا در کٌسَل پیبدُ سبسی هیکٌیذ .در فبسّبی ثؼذی هحیظ گزافیکی ٍ ثبسی تحت ضجکِ را ثِ آى اضبفِ خَاّیذ کزد. قًاویه بازی زمیه بازی سهیي ثبسی یک ًوَدار گزاف ضکل است کِ در ضکل ً 1طبى دادُ ضذُ است .خبًِّبی سجش رًگ خبًِ ّبی ػبدی ّستٌذ .در سیز ّز یک اس سیشدُ خبًِ ی ًبرًجی رًگ یک گٌج پٌْبى ضذُ است $در ایي فبس ًبم ایي گٌجْب را حزفْبی A تب Mدر ًظز ثگیزیذ .#خبًِّبی قزهش ٍ ثٌفص ًیش تَضیح دادُ هیضًَذ. مراحل بازی ثبسی در سیشدُ هزحلِ اًجبم هیضَد .در ّز هزحلِ یکی اس گٌجّب ثِ غَرت تػبدفی هطخع هیضَد ٍ ثبسیکٌبى ثبیذ سؼی کٌذ ثِ آى دست پیذا کٌٌذّ .ز هزحلِ ثب دستیبثی یکی اس ثبسیکٌبى ثِ گٌج آى هزحلِ پبیبى هییبثذ. فبس اٍل پزٍصُ ثزًبهِ سبسی ضیءگزا 4 آغاز بازی در اثتذای ثبسی گٌجّب ثِ غَرت تػبدفی در خبًِّبی ًبرًجی پخص هیضًَذ .ثبسیکٌبى ًیش در اثتذا در خبًِّبی آثی رًگ قزار دارًذ. شکل 9 فرایىد بازی ًَثت ثبسی ثز اسبس تزتیت ثبسیکٌبى ثیي آًْب هیچزخذ ٍ در ّز ًَثت ،دٍ تبس ّوشهبى اًذاختِ هیضَد ٍ ثب تَجِ ثِ اػذاد آهذُ ثبسیکي هْزُاش را حزکت هیدّذ .حرکت مربوط به هر تاس مستقل انجام میشود ٍ در ٍاقغ در ّز ًَثت ّز ثبسیکي دٍ حزکت اًجبم هی دّذ .تزتیت اًتخبة اػذاد دٍ تبس در یک ًَثت ثِ دلخَاُ ثبسیکي است ٍلی حزکت هْزُ در ّز کذام اس دٍ حزکت ثبیذ در یک جْت ثبضذ $ثزای هثبل هوکي است حزکت اٍل رٍ ثِ جلَ ٍ حزکت ثؼذی رٍ ثِ ػقت ثبضذ ٍ ثِ عَر هثبل ًویتَاًذ قسوتی اس یک حزکت را ثِ جلَ ٍ قسوتی را ثِ ػقت ثزٍد .#در چٌذراّی ّب ّز یک اس هسیزّب ثِ غیز اس هسیز ٍرٍد ثِ چٌذ راّی را هیتَاى اًتخبة کزد. آى خبًِ را ثجیٌذ$در ثبسی ٍاقؼی ًبم گٌج فقظ ثِ ّوبى ثبسیکي ًطبى دادُ هیضَد ٍلی در ایي فبس ًویتَاى ایي قبًَى را ثِ درستی اػوبل کزد.# در غَرتی کِ هْزُ یک ثبسیکي در انتهای یک حرکت ،در خبًِ قزهش قزار ثگیزد ،اٍ هیتَاًذ در غَرتی کِ ثخَاّذ ًظز خَد را در هَرد هحل گٌج آى هزحلِ را اػالم کٌذ. فبس اٍل پزٍصُ ثزًبهِ سبسی ضیءگزا در غَرتی کِ هْزُ یک ثبسیکي در انتهای یک حرکت ،در یکی اس خبًِّبی ًبرًجی رًگ قزار ثگیزد ،اٍ هیتَاًذ ًبم گٌج ۹ در غَرت درست ثَدى هحل گٌج اػالم ضذُ ،اٍ گٌج را ثِ دست آٍردُ ٍ هزحلِ فؼلی پبیبى هیپذیزد ٍ ًَثت ثؼذی ًیش ثِ ػٌَاى جبیشُ ثِ ّوبى ثبسیکي تؼلق هیگیزد .در ایي ًَثت ثبسیکي هی تَاًذ هحل گٌج هزحلِ جذیذ را اػالم کٌذ ٍ یب ثب اًذاختي تبس ثِ ثبسی اداهِ ثذّذ. در غَرت اضتجبُ ثَدى ًیش ،هْزُ ثبسیکي ثِ خبًِّبی آثی رًگ ثزهیگزدد. در غَرتی کِ هْزُ یک ثبسیکي در انتهای یک حرکت ،ثز رٍی هْزُی ثبسیکي دیگزی قزار ثگیزد ،جبی آى را گزفتِ ٍ هْزُی ثبسیکي دٍم ثِ خبًِّبی آثی هٌتقل هیضَد. در غَرتی کِ در یک ًَثت ،اػذاد دٍ تبس اًذاختِ ضذُ هطبثِ ثبضٌذ ،ثبسیکي هیتَاًذ در غَرتی کِ ثخَاّذ ثِ جبی حزکت دادى هْزُّب ،یکی اس کبرّبی سیز را اًجبم دّذ: هْزُی خَد را ثِ یکی اس خبًِّبی ًبرًجی خبلی هٌتقل کٌذ ٍ ًبم گٌج آى را ثجیٌذ. هْزُ خَد را ثِ خبًِ ثٌفص هٌتقل کٌذ. گٌج ّذف هزحلِ فؼلی را تغییز دّذ تب گٌج جذیذی ثِ غَرت تػبدفی هطخع ضَد. پایان بازی ثب پبیبى یبفتي سیشدُ هزحلِ ،ثبسیکٌی کِ تؼذاد گٌجّبی ثیطتزی را ثِ دست آٍردُ است ثزًذُ هیضَد. يريدی ي خريجی در اثتذا ثزًبهِ ثب پیبم سیز تؼذاد ثبسیکٌبى را درخَاست هیکٌذ: ?How many players are going to play تؼذاد ثبسیکٌبى ثِ ػٌَاى ٍرٍدی ثِ ثزًبهِ دادُ خَاّذ ضذ. در اثتذای ّز هزحلِ ٍ یب ثب تغییز یبفتي گٌج ّذف هزحلِ ٍ پیص اس ضزٍع ًَثت ثبسیکي ،گٌج ّذف ثب پیبهی ثِ یکی اس فبس اٍل پزٍصُ ثزًبهِ سبسی ضیءگزا 2 غَرتّبی سیز در خزٍجی هطخع هیضَد: Round number 5 started, this round's goal treasure is E Round number 5, this round's goal treasure has changed to F در اثتذای ًَثت ّز ثبسیکي ،اػذاد تبسّبی اٍ ثِ ّوزاُ اًتخبةّبی اٍ در خزٍجی هطخع هیضًَذ .ثِ ّوزاُ ایي اعالػبتٍ ،ضؼیت ثبسی ضبهل هَقؼیت ثبسیکٌبى ًیش هطخع هیضَد: Current Positions: 1->22 2->57 3->91 Dice Numbers for Player 2: 3 5 Player 2's Choices: 1. Move to 54, and then move 5 cells 2. Move to 60(Orange), and then move 5 cells … ثبسیکي یکی اس اًتخبة ّب را ثب دادى ضوبرُ آى هطخع هیکٌذ .حزکت دٍم ًیش ثِ غَرت سیز هطخع هیضَد: Player 2's Choices(Second Dice): 1. Move to 10 )2. Move to 66(Orange … در غَرت هطبثِ ثَدى اػذاد تبسّب ،اًتخبة ّبی سیز ًیش ثِ اًتخبة ّبی تبس اٍل اضبفِ هیضًَذ: )5. Move to 85(Orange )6. Move to 88(Orange … )19. Move to 15(Violet 20. Change current round's goal treasure ثبسیکي ثب ٍارد کزدى ضوبرُ اًتخبة در ٍرٍدی ،اًتخبثص را هطخع هیکٌذ. در غ َرتی کِ در پبیبى یک حزکت هْزُ ثبسیکي در خبًِ قزهش قزار ثگیزد ،پیبم سیز در خزٍجی اس اٍ هیخَاّذ کِ هحل گٌج را در غَرت توبیل هطخع کٌذ: Player 2 is in 25(Red), and can attempt to guess goal treasure's place: 1. I don't know 2. 39 3. 43 … در غَرت درست ثَدى ٍ ثِ دست آٍردى گٌج ،پیبم سیز ثبیذ در خزٍجی ایي هَضَع را هطخع کٌذ: غَرتی کِ ثب اًتخبة گشیٌِ I don't knowػذم توبیل خَد را اػالم کٌذ ،ثبسی ثب تبس اًذاختي در ًَثت خَدش اداهِ پیذا هیکٌذ# در غَرتی کِ ثِ ّز دلیلی یک ثبسیکي ثِ خبًِّبی آثی هٌتقل ضَد السم است کِ پیبم سیز در خزٍجی چبح ضَد: Player 2 is moved to Blue cells. ثِ سٍدی یک ًوًَِ اس ٍرٍدی ٍ خزٍجی در اختیبرتبى قزار دادُ خَاّذ ضذ. فبس اٍل پزٍصُ ثزًبهِ سبسی ضیءگزا Player 2 has won this round's goal treasure, E $پس اس ثِ دست آٍردى گٌج ثِ ثبسیکي هجذداً اجبسُ دادُ هی ضَد تب در غَرت توبیل هحل گٌج جذیذ را هطخع کٌذ .در 5 وحًٌ پیادٌ سازی در ایي ثخص پیطٌْبد کلی ثزای سبختبر ضئ گزای پیبدُ سبسی ارائِ هیضَد. تؼزیف کالسْبی سیز ثب تَجِ ثِ ثبسی درست ثِ ًظز هیرسذ: کالس :BoardCellثزای ّز یک اس خبًِّبی سهیي یک ًوًَِ اس ایي کالس هیتَاًذ سبختِ ضَد$ .دقت کٌیذ کِ خبًِّبی سهیي اًَاع هختلفی دارًذ کِ خَة است ثب ٍراثت هذل ضًَذ#. کالس :Boardسهیي ثبسی کِ هتطکل اس هْزُّبی ثبسیکٌبى ٍ خبًِّبی سهیي ٍ تبسّب است. کالس : Playerثزای ّز ثبسیکي یک ًوًَِ اس ایي کالس ٍجَد دارد کِ هحل هْزُ ٍ دیگز خَاظ آى ثبسیکي را هطخع هیکٌذ. کالس :DicePoolایي کالس فزایٌذ اًذاختي تبس را اًجبم هیدّذ. کالس : Gameدر ایي کالس ضزٍع ٍ فزایٌذ ثبسی پیبدُسبسی هیضًَذ .در ٍاقغ ایي کالس قَاًیي ثبسی هذًظز را پیبدُسبسی هی کٌذ .اعالػبت هزثَط ثِ ٍضؼیت ثبسی $ثِ عَر هستقین ٍ یب غیز هستقین #در اختیبر ایي کالس ّستٌذ. کالس :ConsoleServerایي کالس حبٍی پیبدُ سبسی کٌسَل ثزًبهِ است کِ یک ًوًَِ اس Gameایجبد هیکٌذ ٍ ثب کوک ٍاسظ آى ،ثبسی را در کٌسَل اجزا هیکٌذ .حلقِ اغلی ثزًبهِ در ایي کالس قزار دارد. اس آًجب کِ السم است در فبسّبی ثؼذی هحیظ گزافیکی ًیش ثب پزٍصُ اضبفِ ضًَذ ،خَة است اس ّویي االى در پیبدُ سبسی ٍاسظ ارتجبعی ثیي ConsoleServer ٍ Gameدقت کٌیذ .خیلی خَة است اگز اضبفِ کزدى هحیظ گزافیکی ًیبس ثِ تغییز در کالس Gameرا ثِ ّوزاُ ًذاضتِ ثبضذ. فبس اٍل پزٍصُ ثزًبهِ سبسی ضیءگزا 6 ومرٌ بىدی ي ومرٌ اضافی 62درغذ ًوزُ ثِ قضبٍت آًالیي ٍ 22درغذ آى ثِ تحَیل حضَری اختػبظ دارد. در تحَیل حضَری هَارد سیز ثزرسی هیضًَذ: .1تسلظ ثز کذ .4استفبدُ اس هفبّین ضیئ گزا ٍ درستی اًتخبة اضیبء ٍ کالسْب ً .۹حَُی کذ سدى درست$دراس ًجَدى ثیص اس حذ تَاثغً ،بمگذاری غحیح ٍ #... .2رػبیت هَاردی هبًٌذ Visibilityدر اػضبی کالسّب ،استفبدُ درست اس فیلذّبی … ٍ static .5استفبدُ درست اس سبختبر ّ packageب ٍ فبیلّب ثِ هَارد سیز ًوزُ اضبفی تؼلق هیگیزد: ًَ .1ضتي جبٍاداک$ #JavaDoc$تب حذاکثز 12درغذ ًوزُ# ًَ .4ضتي یک ثبسیکي ًوًَِی َّضوٌذ $تب حذاکثز 12درغذ ًوزُ# .۹قبثلیت خَاًذى گزاف ًقطِ سهیي اس فبیل $تب حذاکثز 42درغذ ًوزُ# وحًٌ فرستادن کد کذ خَد را در قبلت یک فبیل zipثفزستیذ .ریطِ ایي فبیل zipثبیذ حبٍی یک فَلذر ثب ًبم razeJangalثبضذ کِ هؼبدل packageریطِ ثزًبهِ ثب ّویي ًبم است .ایي فبیل zipحبٍی فبیلّبی هتٌی ّ .class ًِ ٍ$ .javaبی کبهپبیل ضذُ #استً .بم فبیل zipرا 90XYZABC.zipثگذاریذ کِ 90XYZABCرا ثب ضوبرُ داًطجَیی خَد جبیگشیي کزدُایذ. هتذ Mainدر ایي فبس ثبیذ در کالس razeJangal.console.ConsoleRunnerثبضذ .ایي هتذ ًوًَِّبی Game ٍ ConsoleServerرا هیسبسد ٍ ثبسی را آغبس هیکٌذ. پیص اس ارسبل هغوئي ضَیذ کِ کذ ضوب ثِ درستی کبهپبیل ٍ اجزا هیضَد. هَفق ثبضیذ فبس اٍل پزٍصُ ثزًبهِ سبسی ضیءگزا 7
© Copyright 2025 Paperzz