Мини игра "Угадай число".
-
Тестовое задание на должность IOS/macOS разработчика. Пользователь загадывает любое целочисленное число (от 1 до 100). Отгадывающий(компьютер) должен отгадать число, ориентируясь на подсказки загадывающего. Загадывающий может отвечать только «больше», «меньше» или «равно». Раунд заканчивается когда число было угадано, в процессе ведётся подсчёт попыток. После отгадывания игроки меняются местами, и пользователь должен отгадать загаданное компьютером число. Побеждает игрок, отгадавший число соперника за наименьше кол-во ходов.
-
В приложении использована Архитектура MVP. Потому, что подразумевается написание тестов, поэтому нужно разделение view от логики. Относительно VIPER, у MVP меньше кода. MVVM тоже бы подошел. Но я решил попрактиковаться с MVP и использовать протоколы, для дальнейшего тестирования.
-
Приложение состояит из пяти экранов:
- Экран старта игры.
- Экран загадывания числа.
- Экран отгадывания числа компьютером.
- Экран отгадывания числа игроком.
- Экран с результатом игры.
-
Стэк:
- UIkit.
- MVP.
- Router (Coordinatore).
- Builder.
- Unit Tests
- Поддержка Горизонтальной и Вертикальной ориентации.
- Весь UI в коде.