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