Приложение-игра по поиску парных карточек, с использованием UIKit, CoreData, SwiftLint. Приложение состоит из 6 экранов: входа, регистрации, описания, настроек игры и таблицы лидеров На экране входа присутствуют поля ввода данных, кнопка подтверждения и перехода к экрану регистрации.


После ввода данных на экране входа происходит проверка соответствия введенных данных. В случае неудачи вылетает Alert с описанием ошибки. При регистрации, введенные данные проверяются на соответствие требованиям и в случае несоответствия также показывают Alert с описанием ошибки. При вводе корректных данных на экране входа происходит переход к экрану описания. При уорректном вводе на экране регистрациии происходит сохранение пользователя в CoreData.


Экраны описания, настроек и таблицы лидеров обернуты в UITabBarController. Экран описания содержит общее описание игры и ее правил, экран настроек поле для выбора типа карточек (системные значки и коты/собаки картинки для которых загружаются из сети), а также уровень сложности ( от него зависит размер игрового поля). Экран с таблицей лидеров, где отображаются 10 игроков (их имена и результат) набравших наибольшее количество очков. Загрузка их списка происходит из CoreData.



После начала игры запускается таймер и игроку требуется как можно быстрее найти все парные карточки. После их нахождения вылетает Alert с результатом и при новом рекорде обновляет поле рекорда у пользователя в CoreData.