می خواهیم بازی به نام «حدس عدد» طراحی کنیم. شکل زیر واسط کاربری این بازی را نشان میدهد.
با شروع بازی چهار عدد تصادفی (بین صفر تا نه) تولید می شود و کاربر باید بتواند این چهار عدد را حدس بزند. کاربر با استفاده از دکمه های موجود یک عدد ایجاد می کند، با هر کلیک بر روی دکمه ها یکی به مقدار آن اضافه می شود و اگر مقدار آن به عدد ۹ رسید دوباره از صفر شروع می شود، سپس بر روی دکمه بررسی عدد کلیک می کند. هر دفعه که بر روی دکمه «بررسی عدد» کلیک می شود عدد کاربر به ListView بالای آن اضافه می شود. در مجموع کاربر ۵ دفعه امکان حدس عدد را دارد.
قوانین بازی
یافتن ۴ عدد با ۵ دفعه حدس کار بسیار مشکلی است، بنابراین وقتی که یک عدد بررسی می شود، یکسری بازخورد از سمت برنامه به کاربر داده می شود که به کمک آنها می تواند به شکل منطقی تصمیم گیری کند. پس از کلیک بر روی دکمه بررسی عدد، هر عدد با رنگهای مختلف به ListView متناظر در بالای آن اضافه می شود. معنای هر رنگ به صورت زیر است:
- مشکی: عدد وارد شده در بین اعداد تصادفی نیست.
- آبی: عدد وارد شده در مکان صحیح خود قرار دارد.
- قرمز: عدد وارد شده در بین اعداد تصادفی هست، اما در مکان صحیح خود قرار ندارد.
- زرد: عدد وارد شده در مکان صحیح خود قرار دارد، اما بیشتر از یکبار تکرا شده است.
اگر کاربر هر چهار عدد را درست حدس زد، یک کادر پیام به شکل زیر ظاهر می شود.
و در صورتی که بعد از ۵ دفعه موفق به حدس اعداد نشد کادر پیام زیر ظاهر می شود.
بعد از نمایش کادر پیام اگر کاربر بر روی دکمه «Retry» کلیک کند، بازی با یک عدد تصادفی جدید از ابتدا شروع می شود، و در صورتی کاربر بر روی دکمه «Cancel» کلیک کند، از برنامه خارج می شود.