بازی ریسک
نام و تاریخ مسابقه: مسابقه جاوا_جیکل 7 – 24 فروردین 1397
مباحث: شیگرایی و وراثت
قصد داریم بازی استراتژی ریسک را پیادهسازی کنیم. در شرح فاز اول این پروژه، چنین گفته شده است:
- در بازی ریسک (RiskGame)، تعدادی بازیکن (Player) وجود دارد.
- هر بازیکن با یک رنگ (Color) یکتا (نام رنگ مهم است) از سایرین متمایز میشود. همچنین هر بازیکن دارای یک امتیاز (Score) است که نشاندهندهی امتیاز فعلی بازیکن است.
- بازی دارای یک صفحه به شکل نقشهی جهان (WorldMap) است و در داخل آن تعدادی قاره (Continent) و در هر قاره نیز تعدادی قلمرو (Realm) وجود دارد.
- هر قاره و هر قلمرو یک نام (Name) دارد.
- هر قلمرو توسط یک بازیکن، اشغال شده (OccupiedBy) است.
- همچنین در داخل هر قلمرو تعدادی نیرو (Troop) وجود دارد:
- دو نوع نیرو وجود دارد: سرباز (Soldier) و تانک (Tank)
- هر نیرو یک قدرت (Power) دارد که با یک عدد صحیح نمایش داده میشود.
- هر قلمرو یک قدرت (Power) دارد.
نکات
- با کمک توضیحاتی که داده شد، کلیهی کلاسهای ضروری برای پیادهسازی این بازی را به همراه ویژگیهایشان (fileds) ایجاد کنید. بر روی ساختار کلاسها و روابط بین آنها تمرکز کنید؛
- در نامگذاری کلاسها، ویژگیها و …. به قواعد مرسوم نامگذاری جاوا دقت کنید.
- اگر نام یک ویژگیِ در صورت سوال ذکر نشده است، نام آن را با توجه به قواعد نامگذاری جاوا، عنوان کلاس بگذارید (برای مثال اگر عنوان کلاس Book باشد: book).
- هر ویژگیِ چندمقداری را از نوع آرایه تعریف کنید.
- نام هر ویژگیِ چندمقداری باید جمع عنوان کلاس مربوط به نوعِ آن ویژگی باشد (برای مثال اگر عنوان کلاس نوع ویژگی مورد نظر Book باشد، ویژگی به این شکل تعریف میشود: Book[] books)
- هیچ ویژگیای به صورت درخط (inline) نباید مقداردهی شود.
- هیچ سازندهای لازم نیست ایجاد کنید.
آنچه باید آپلود کنید:
کلیهی کلاسهایی که ایجاد کردهاید را در داخل بستهی ir.javacup.risk قرار داده و آن zip کرده و ارسال کنید. یعنی زمانی که فایل zip را باز میکنیم، فقط شاخهی ir را ببینیم که داخلش شاخهی javacup و داخل آن نیز شاخهی risk قرار دارد. در داخل شاخهی risk، باید فایل کلیهی کلاسهایی که ایجاد کردهاید قرار داشته باشد.
برای داوری تمرین، میتوانید پاسخ خود را در سایت Quera به نحوی که در بالا گفته شد، بارگذاری کنید.
برای آشنایی با نحوهی ارسال پاسخ در Quera، این مطلب را مطالعه کنید.
با ما همراه باشید:
آدرس کانال تلگرام: IranianJavaDevelopers@
آدرس اکانت توییتر: JavaCupIR@
آدرس صفحه اینستاگرام: javacup.ir
آدرس گروه لینکدین: Iranian Java Developers