Final Project.pdf

‫باسمه تعالی‬
‫پروژهی پایانی درس برنامهسازی پیشرفته‬
‫مدرس‪ :‬امید جعفرینژاد‬
‫دانشکدهی مهندسی کامپیوتر‬
‫پروژهای که باید بنویسید یک نسخهی ساده از بازی ‪ Plants vs. Zombies‬با تغییراتی جزئی است!‬
‫پروژه را میتوانید در گروههای حداکثر ‪ 2‬نفره بنویسید (توضیحات بیشتر داده خواهد شد)‪.‬‬
‫مراحل بازیای که مینویسید از سه فصل تشکیل شده است که فصل اول شامل یک مرحله‪ ،‬فصل دوم دو مرحله و فصل‬
‫سوم سه مرحله خواهد بود‪.‬‬
‫فصل اول‬
‫زمین بازی از یک ردیف سبزه (مسیر گذر زامبیها و کاشتن گیاهان) شامل ‪ 8‬خانه (بالک) تشکیل شده است‪.‬‬
‫عناصر این مرحله عبارتند از‪:‬‬
‫‪-‬‬
‫خورشید‪ :‬در واقع پول شماست که برای کاشت (خرید) گیاهان از آن استفاده میکنید‪ .‬هر ‪ 01‬ثانیه یک بار‪ ،‬یک‬
‫خورشید روی صفحه ظاهر میشود که معادل ‪ 22‬امتیاز به امتیاز (پول) شما میافزاید و اگر تا ‪ 2‬ثانیه بعد روی‬
‫آن کلیک نشود ناپدید خواهد شد‪.‬‬
‫‪-‬‬
‫گل آفتابگردان (‪ :)Sunflower‬قیمت = ‪ ،21‬هر ‪ 02‬ثانیه یک خورشید اضافی تولید میکند که ‪ 2‬ثانیه برای کلیک‬
‫روی آن (برداشتن) زمان هست‪.‬‬
‫‪-‬‬
‫گیاه تیرانداز (‪ :)PeaShooter‬با قیمت ‪ ،011‬هر تیر با سرعت ‪ 4‬خانه در ثانیه طول زمین را طی میکند و‬
‫بالفاصله بعد از آن تیر بعدی انداخته میشود‪.‬‬
‫‪-‬‬
‫بیلچه‪ :‬برای برداشتن (حذف) گیاهانی که تاکنون کاشته شدهاند به کار میرود‪.‬‬
‫‪-‬‬
‫زامبیها‪ 2 :‬زامبی به تر تیب در ثانیههای ‪ 25 ،25 ،24 ،21‬و ‪ 01‬از سمت راست آخرین خانه ظاهر شده و به‬
‫سمت چپ حرکت میکنند (با سرعت یک خانه در هر ثانیه)‪ .‬هر زامبی با ‪ 4‬تیر نابود میشود اما اگر به یک گیاه‬
‫برسد بالفاصله آن را از میان برمیدارد و اگر به آخر زمین (سمت چپ) برسد بازی تمام میشود (باخت)‪.‬‬
‫توجه‪ :‬هر کدام از گیاهان یک خانه از زمین بازی را اشغال میکنند‪ .‬در خانهی آخر (سمت راست) امکان کاشت گیاهان‬
‫نیست و زامبیها از ابتدای سمت راست این خانه وارد بازی میشوند‪.‬‬
‫فصل دوم‬
‫در این فصل عناصر قبلی بازی وجود دارند با این تفاوت که صفحهی بازی از دو ردیف سبزه تشکیل شده است و همچنین‬
‫گیاه بلوط غلتان به بازی اضافه میشود که ‪ 021‬واحد قیمت داشته و از هرجا که توسط کاربر رها شود با سرعت ‪ 2‬خانه‬
‫در هر ثانیه به سمت راست حرکت کرده و زامبیهایی که سر راه هستند را از بین میبرد‪.‬‬
‫این فصل از دو مرحله تشکیل شده است که عبارتند از‪:‬‬
‫فصل ‪ - 2‬مرحلهی اول‪:‬‬
‫یکی از دو ردیف بازی تصادفاً به عنوان ردیف اول انتخاب شده و تعداد ‪ 8‬زامبی (‪ 4‬زامبی از هر کدام) طبق‬
‫زمانهای زیر (بر حسب ثانیه) وارد میشوند‪:‬‬
‫ردیف اول (انتخاب شده به تصادف)‪ 02 ،28 ،21 :‬و ‪06‬‬
‫ردیف دوم‪ 06 ،01 ،22 :‬و ‪04‬‬
‫فصل ‪ – 2‬مرحلهی دوم‪:‬‬
‫مشابه مرحلهی قبل اما با ‪ 01‬زامبی‪:‬‬
‫ردیف اول‪ 20 ،21 ،48 ،42 :‬و ‪22‬‬
‫ردیف دوم‪ 20 ،21 ،45 ،48 :‬و ‪22‬‬
‫فصل سوم‬
‫در این فصل صفحهی بازی از سه ردیف سبزه تشکیل شده است که در انتهای هر مرحله‪ ،‬از هریک از ردیفها یک زامبی‬
‫متفاوت به نام زامبی ارباب (!) وارد میشود که تفاوت آن با دیگر زامبیها این است که کشتن آن سختتر است‪.‬‬
‫همچنین گیاه بمب گیالسی با قیمت ‪ 021‬واحد به بازی اضافه میشود که بعد از ‪ 2‬ثانیه گذشت زمان از کاشت آن‪ ،‬منفجر‬
‫شده و زامبیهای خانهی خود و ‪ 8‬خانهی همسایه را از بین میبرد‪.‬‬
‫فصل ‪ - 6‬مرحلهی اول‪:‬‬
‫‪ 02‬زامبی در این مرحله وارد بازی میشوند که سهم هر ردیف ‪ 2‬زامبی است و آخرین زامبی هر ردیف ارباب‬
‫است که برای کشتنش به ‪ 01‬تیر نیاز است‪( .‬ترتیب سه ردیف به طور تصادفی تعیین میشود)‬
‫ردیف اول‪ 21 ،48 ،45 ،41 :‬و ‪35‬‬
‫ردیف دوم‪ 20 ،21 ،45 ،44 :‬و ‪35‬‬
‫دریف سوم‪ 20 ،21 ،48 ،40 :‬و ‪35‬‬
‫فصل ‪ – 6‬مرحلهی دوم‪:‬‬
‫مشابه مرحلهی قبل ولی زامبی ارباب با ‪ 02‬تیر کشته میشود‪.‬‬
‫فصل ‪ – 6‬مرحلهی پایانی‪:‬‬
‫مشابه قبل ولی تمام زامبیها ارباب بوده و این بار با سرعت ‪ 2‬خانه در هر ثانیه حرکت میکنند و ‪ 02‬تیر برای‬
‫از بین رفتن آنها نیاز است‪ .‬همچنین سرعت تیرها نیز در این مرحله به ‪ 6‬خانه در هر ثانیه افزایش پیدا میکند‪.‬‬
‫نمرهی اضافی‪:‬‬
‫‪-‬‬
‫امکان ‪ Pause‬و ‪ Continue‬بازی (اجباری برای گروههای دو نفره)‬
‫‪-‬‬
‫امکان ‪ Save‬و ‪ Load‬کردن بازی‬
‫‪-‬‬
‫افزودن صدا‬
‫معیارهای نمرهدهی‪:‬‬
‫‪-‬‬
‫تحویل حضوری‬
‫‪-‬‬
‫خروجی صحیح و مطابقت بازی با موارد خواسته شده‬
‫‪-‬‬
‫رعایت اصول برنامهنویسی شیءگرا در پیادهسازی بازی (استفاده از ارثبری و ‪)...‬‬
‫‪-‬‬
‫گرافیک قوی‬