Основная задумка заключается в том, чтобы сделать игру, в которой можно сначала быстро изучить устройство логических цепей, а также основные логические компоненты, а затем создавать интересные и сложные цепи на различных уровнях.
Вся игра использует концепцию состояний, которая позволяет разделить разные части игры на разные классы. Все состояния игры хранятся в папке States. За управление состояниями отвечает класс StateManager.
- FetchLevelsState - отвечает за предзагрузку уровней с сервера (о нём позже). Проверяет подключение к интернету и, если оно есть, загружает новейшую версию xml-файла levels.xml с сервера, затем выставляет в нём, пройден ли уровень, на основе локального файла levels.xml. После этого переключает состояние на MainMenuState.
- MainMenuState - отвечает за главное меню.