فایل پایه را از اینجا دانلود کنید

در این سوال از شما می‌خواهیم تا بازی مار دوبعدی که بصورت ناقص پیاده‌سازی شده را کامل کنید. صفحه بازی شامل یک زمین ۶*۶ برای حرکت مار و چهار دکمه برای تعیین جهت حرکت آن است. نمایی از صفحه بازی:

توضیح تصویر

وظایف:

  • با کلیک بر روی هریک از چهار دکمه موجود در پایین زمین بازی، مار در جهت موردنظر حرکت می‌کند.
  • با خوردن هر طعمه، محل طعمه بعدی بصورت تصادفی تعیین می‌شود که پیاده‌سازی آن برعهده شما می‌باشد.
  • دقت کنید که هیچ‌گاه نباید دو طعمه متوالی در یک مکان قرار بگیرند؛ به عبارت دیگر، محل تصادفی طعمه جدید نباید با محل قرارگیری مار یکسان باشد.
  • کناره‌های زمین بازی مانند **دیوار ** عمل می‌کنند و مار نمی‌تواند از آن‌ها عبور کند.

نکات حیاتی:

  • برای نمایش محل مار، خانه ای از زمین بازی که متناظر با محل آن است را بوسیله کد رنگ snake_color موجود در فایل colors.xml رنگ آمیزی کنید.
  • برای نمایش طعمه، خانه ای از زمین بازی که متناظر با محل آن است را بوسیله کد رنگ food_color موجود در فایل colors.xml رنگ آمیزی کنید.
  • رنگ خانه‌های دیگر (بجز مار و طعمه) باید با کد رنگ default_background موجود در فایل colors.xml رنگ آمیزی کنید.
  • مکان اولیه مار، خانه شماره ۱۵ است؛ مار بطور پیشفرض هیچ حرکتی ندارد و در خانه گفته شده ساکن است، با هربار زدن یکی از چهار دکمه جهت‌دار، مار یک خانه در آن جهت حرکت می‌کند و ثابت می‌ماند تا بار دیگر یکی از دکمه‌ها لمس شود.
  • از آنجا که مار موجود در این بازی استعدادی در رشد‌کردن ندارد، با خوردن هر طعمه همچنان طول قبلی را حفظ می‌کند. پس طول آن همواره برابر با یک خانه در صفحه است.
  • برای جلوگیری از بروز خطای ناشی از حجم بالای فایل ارسالی، قبل از ساخت و ارسال فایل zip دقت کنید که پوشه‌های build در این فایل وجود نداشته باشند.

ساختار فایل پایه که برای تکمیل در اختیار شما قرار می‌گیرد، حاوی مسیر زیر است. شما باید فایل‌هایی که با علامت (---->) مشخص شده‌اند را تغییر دهید و پروژه تغییر‌داده‌شده را بعنوان فایل zip که حاوی مسیر زیر است ارسال کنید:

(تغییر فایل‌های تعیین شده در قسمت پایین و افزودن فایل جدید به فایل پایه در پوشه main از مسیر زیر، مانعی ندارد)

app
│
└───src
    └───main
        │   AndroidManifest.xml
        │
        ├───java
        │   └───android
        │       └───quera
        │           └───com
        │               └───mario
        │                       MainActivity.java    <------
        │
        └───res
            ├───drawable
            │
            ├───drawable-v24
            │
            ├───layout
            │
            ├───mipmap-anydpi-v26
            │
            ├───mipmap-hdpi
            │
            ├───mipmap-mdpi
            │
            ├───mipmap-xhdpi
            │
            ├───mipmap-xxhdpi
            │
            ├───mipmap-xxxhdpi
            │
            └───values
                    colors.xml
                    strings.xml
                    styles.xml
Plain text

ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.