جواد و صدرا دو برادر هستند. جواد بیست سال دارد و دانشجوی کامپیوتر است و صدرا نه ساله است و طبیعتا دانشآموز دبستان است!
جواد تصمیم گرفتهاست که برای تولد صدرا تبلتی بخرد که روی آن یک بازی سالم بریزد و به او هدیه دهد. از آنجایی که جواد خودش یک پا برنامهنویس است، میخواهد خودش بازی را بنویسد. امّا جواد به دلیل تجربهی کم در برنامهنویسی اندروید، پروژه را ناقص گذاشته تا شما تکمیل کنید.
جواد میخواهد یک بازی حدس عدد طبیعی بنویسد. به طوریکه ابتدا یک بازه از اعداد توسط کاربر انتخاب شود. سپس برنامه عددی در بازهی دادهشده در نظر بگیرد. سپس کاربر با حدس هر عدد توسط کاربر، جوابی از برنامه دریافت میکند با این محتوا که عدد انتخابی برابر، کمتر یا بیشتر از عدد درنظر گرفتهشده است. سپس تعداد حدسهای کاربر نمایش داده میشود.
ابتدا MainActivity اجرا شده و activity_main.xml را به نمایش میگذارد. سپس کاربر مقدار کمینه و بیشینهی بازه را در EditTextهای مربوط وارد میکند و با زدن دکمهی submit وارد GameActivity (که activity_game.xml را نمایش میدهد) میشود. سپس با واردکردن حدس خود در قسمت مربوط و زدن دکمهی submit، پیام مربوط در مورد حدس نمایش داده میشود.(برابر، کمتر، بیشتر)
شما باید تغییرات زیر را در پروژه ایجاد کنید:
- رنگ پسزمینهی
LinearLayoutهای اصلی برنامه را به#d3d3d3تغییر دهید. - رنگ پسزمینهی دکمهها و
EditTextهای برنامه را به#ffffffتغییر دهید. - ورودی
EditTextها فقط میتواند عدد باشد. - پیام راهنمایی
edit_maxوedit_minوedit_guessبه ترتیب برابرEnter max valueوEnter min valueوEnter your guessباشد. - اگر پس از فشردن دکمهی
submitدرEditTextها مقداری وارد نشده بود، مقدار راهنمایی آنها بهPlease enter numberبا رنگ#DC0A14تغییر کند. - اگر مقدار واردشده در
edit_minبزرگتر یا مساوی مقدار واردشده درedit_maxباشد، درtxt_warningعبارتValues are invalidبا رنگ#DC0A14چاپ شود. - پس از آنکه مقادیر کمینه و بیشینه وارد شدند و دکمه فشرده شد، در صورت خطا نداشتن، باید کلاس
GameActivityشروع به کار کند. شما باید با استفاده از ساختن نمونه از کلاسGameبا مقادیر کمینه و بیشینه، حدسهای کاربر را مدیریت کنید. - اگر حدس واردشده توسط کاربر کمتر از مقدار کمینهی واردشده یا بیشتر از مقدار بیشینهی واردشده باشد، عبارت
Number is not in rangeدرtxt_resultنمایش داده میشود. - اگر حدس واردشده کمتر یا بیشتر از مقدار درنظر گرفتهشده در نمونهی ساختهشده از
Gameباشد، به ترتیب پیغامEnter bigger number!وEnter smaller number!درtxt_resultنمایش داده میشود. - اگر حدس واردشده درست بود، در
txt_resultعبارتYou won in n triesچاپ شود به طوریکه n تعداد تلاشهای کاربر برای حدسزدن است. همچنین دکمه وEditTextاین صفحه باید ناپدید شوند.
فایل ناقص پروژه را دانلود کنید و تغییرات گفتهشده را اعمال کنید. توجه فرمایید که به فایلهای دیگر پروژه دست نزنید.
ساختار فایل ناقص پروژه (فایلهایی که باید تغییر دهید با ----> نمایش داده شده اند):
<Your-zip-name>.zip
├───app
│ ├───libs
│ └───src
│ ├───androidTest
│ │ └───...
│ ├───main
│ │ ├───java
│ │ │ └───ir
│ │ │ └───quera
│ │ │ └───numberguess
│ │ │ ├───Game.java <----
│ │ │ ├───GameActivity.java <----
│ │ │ └───MainActivity.java <----
│ │ └───res
│ │ ├───drawable
│ │ ├───layout
│ │ ├───activity_main.xml <----
│ │ └───activity_game.xml <----
│ │ ├───mipmap-hdpi
│ │ ├───mipmap-mdpi
│ │ ├───mipmap-xhdpi
│ │ ├───mipmap-xxhdpi
│ │ ├───mipmap-xxxhdpi
│ │ └───values
│ └───test
│ └───java
│ └───ir
│ └───quera
│ └───numberguess
└───gradle
└───wrapper
- تنها فایلهای موجود در آدرس زیر از پروژه شما استفاده خواهد شد بقیه فایلها از پروژه نمونه قرار داده شده خواهند بود. فایلهای اضافی شما قبل از داوری حذف میشود.
app/src/main/*
توجه: وجود پوشه app در ریشه فایل فشرده الزامی میباشد.
ساختار درختی فایلهای مورد داوری:
<Your-zip-name>.zip
├───main
│ │ AndroidManifest.xml
│ │
│ ├───java
│ │ └───ir
│ │ └───quera
│ │ └───numberguess
│ │ Game.java
│ │ GameActivity.java
│ │ MainActivity.java
│ │
│ └───res
│ ├───drawable
│ ├───layout
│ │ activity_game.xml
│ │ activity_main.xml
│ │
│ ├───mipmap-hdpi
│ │ ic_launcher.png
│ │ ic_launcher_round.png
│ │
│ ├───mipmap-mdpi
│ │ ic_launcher.png
│ │ ic_launcher_round.png
│ │
│ ├───mipmap-xhdpi
│ │ ic_launcher.png
│ │ ic_launcher_round.png
│ │
│ ├───mipmap-xxhdpi
│ │ ic_launcher.png
│ │ ic_launcher_round.png
│ │
│ ├───mipmap-xxxhdpi
│ │ ic_launcher.png
│ │ ic_launcher_round.png
│ │
│ └───values
│ colors.xml
│ strings.xml
│ styles.xml
- توجه کنید که پروژه zip شده باید مستقیما در ریشه فایل zip قرار گیرد.
ارسال پاسخ برای این سؤال