فایل پایه را از اینجا دانلود کنید
در این سوال از شما میخواهیم تا بازی مار دوبعدی که بصورت ناقص پیادهسازی شده را کامل کنید. صفحه بازی شامل یک زمین ۶*۶ برای حرکت مار و چهار دکمه برای تعیین جهت حرکت آن است. نمایی از صفحه بازی:
وظایف:
- با کلیک بر روی هریک از چهار دکمه موجود در پایین زمین بازی، مار در جهت موردنظر حرکت میکند.
- با خوردن هر طعمه، محل طعمه بعدی بصورت تصادفی تعیین میشود که پیادهسازی آن برعهده شما میباشد.
- دقت کنید که هیچگاه نباید دو طعمه متوالی در یک مکان قرار بگیرند؛ به عبارت دیگر، محل تصادفی طعمه جدید نباید با محل قرارگیری مار یکسان باشد.
- کنارههای زمین بازی مانند **دیوار ** عمل میکنند و مار نمیتواند از آنها عبور کند.
نکات حیاتی:
- برای نمایش محل مار، خانه ای از زمین بازی که متناظر با محل آن است را بوسیله کد رنگ
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
ارسال پاسخ برای این سؤال