[لینک دانلود پروژه اولیه](https://www.dropbox.com/s/5pupbir5665srh7/NumberRecognitionTest-contest.zip?dl=0)
### مرور وظایف:
+ پیادهسازی الگوی ارقام ```[0,1,2,3,4,5,6,7,8,9]``` ۲۵٪ امتیاز سوال (پیادهسازی هر عدد ٪۲.۵)
+ پیادهسازی انیمیشن برای الگوی نادرست ۱۵٪ امتیاز سوال
+ پیادهسازی روش صحیح وارد کردن اعداد (مشابه با وارد کردن الگو برای بازکردن قفل صفحه) ۵۰٪ امتیاز سوال
+ غیرفعال کردن صفحه ورود اعداد هنگام نمایش انیمیشن ۱۰٪ امتیاز سوال
محمد از اینکه هر دفعه برای زنگ زدن به کسی باید روی آن شماره لمس کند خسته شده و دلش تنوع میخواهد. حسین که به تازگی با برنامهنویسی اندروید آشنا شده است، قصد دارد به محمد کمک کند اما به دلیل تازه کار بودن برنامه را نصفه رها کرده است. حال، شما باید به وی کمک کنید تا بتواند محمد را خوشحال کند.
برنامه بدین صورت است که:
+ صفحه ای که نمایش داده میشود دارای دکمه های سفید با کد رنگ ```#FFFFFF``` است که با لمس شدن، به رنگ مشکی با کد رنگ ```000000#``` تغییر رنگ میدهند.
+ برای نوشتن هر عدد باید باید دکمه هایی که در کنار هم آن عدد را شکل میدهند، با لمس کردن به رنگ مشکی درآیند. وارد کردن عدد به این صورت است که کاربر، دست خود را برروی صفحه نمایش قرار میدهد و با کشیدن الگوی عدد موردنظر روی صفحه نمایش (بدون جدا شدن دست از صفحه نمایش)، مسیر متناظر با حرکت دست روی صفحه، به رنگ مشکی با کد رنگ ```000000#``` تغییر رنگ میدهند (مشابه با وارد کردن الگو برای باز کردن قفل صفحه گوشی) و در صورت برداشتن دست از روی صفحه نمایش:
+ درصورتیکه الگوی رسم شده معتبر باشد، عدد متناظر به ```TextView``` سبز رنگ، در پایین صفحه اضافه میشود و همه دکمه ها به رنگ سفید اولیه باز میگردند.
+ درصورتیکه الگوی رسم شده، متناظر با هیچیک از ارقام ```[0,1,2,3,4,5,6,7,8,9]``` نباشد، رنگ زمینه تمام پانزده دکمه، همراه با انیمیشنی به مرور تغییر رنگ داده و مجددا به رنگ سفید بازمیگردند.
### شمای کلی پروژه پس از تکمیل:
![پروژه کامل](http://bayanbox.ir/download/3299649379009666104/recog.gif)
[لینک دانلود درصورت بروز مشکل در نمایش گیف](http://bayanbox.ir/download/3299649379009666104/recog.gif)
### نکات مهم:
+ الگو را برای **اعداد انگلیسی** طراحی کنید و نه اعداد فارسی
+ برای ارسال پاسخ، دقت کنید **پوشه `app`** موجود در ریشه فایلهای پروژه، باید **در ریشه فایل زیپ ارسالی** قراربگیرد.
+ انیمیشن را به اندازه کافی، طولانی درنظر بگیرید. برای اطمینان میتوانید از مقدار ۴ ثانیه برای تکمیل انیمیشن استفاده کنید.
ساختار فایل ارسالی(فایلهایی که باید تغییر دهید با ----> نمایش داده شده اند):
<your-zip-name>.zip
├── app
│ ├── java
│ │ └── MainActivity <----
│ ├── res
│ │ ├── drawable
│ │ ├── layout
│ │ ├── mipmap
│ │ └── values