[فایل پایه را از اینجا دانلود کنید](https://blog.quera.ir/wp-content/uploads/2018/05/QSnake_contestant.zip)
در این سوال از شما میخواهیم تا بازی مار دوبعدی که بصورت ناقص پیادهسازی شده را کامل کنید.
صفحه بازی شامل یک زمین ۶*۶ برای حرکت مار و چهار دکمه برای تعیین جهت حرکت آن است.
نمایی از صفحه بازی:
![توضیح تصویر](http://bayanbox.ir/view/4935732816091026434/boaard-1.jpg)
# وظایف:
+ با کلیک بر روی هریک از چهار دکمه موجود در پایین زمین بازی، مار در جهت موردنظر حرکت میکند.
+ با خوردن هر طعمه، محل طعمه بعدی بصورت تصادفی تعیین میشود که پیادهسازی آن برعهده شما میباشد.
+ دقت کنید که هیچگاه **نباید** دو طعمه متوالی در یک مکان قرار بگیرند؛ به عبارت دیگر، محل تصادفی طعمه جدید نباید با محل قرارگیری مار یکسان باشد.
+ کنارههای زمین بازی مانند **دیوار ** عمل میکنند و مار نمیتواند از آنها عبور کند.
# نکات حیاتی:
+ برای نمایش محل مار، خانه ای از زمین بازی که متناظر با محل آن است را بوسیله کد رنگ ``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
```
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.