Além de jogos web HTML5, o ecossistema do Guima Games explora o desenvolvimento nativo para dispositivos móveis Apple iOS. O Sudoku foi construído inteiramente em SwiftUI.
1. A Arquitetura MVVM (Model-View-ViewModel)
A separação de responsabilidades no Sudoku garante código limpo e facilidade de testes:
- Model (SudokuGame.swift & SudokuLevel.swift): Define a estrutura da grade 9x9, validação de regras de linhas, colunas e blocos 3x3, e controle de notas/rascunhos.
- ViewModel (SudokuViewModel.swift): Gerencia o estado reativo do jogo, temporizador, contagem de erros e histórico de desfazer (undo).
- View (ContentView.swift & CellView.swift): Interfaces declarativas escritas em SwiftUI que reagem instantaneamente a mudanças no ViewModel.
2. UX e Gestão de Teclado no iOS
- Observer de Teclado (KeyboardObserver.swift): Ajusta o layout dinamicamente quando a barra numérica de inserção é exibida em telas menores de iPhone.
- Feedback Háptico (Taptic Engine): Vibrações sutis indicam quando um número incorreto é inserido na célula.
