Um jogo de Sudoku clássico e completo, desenvolvido em Java com uma interface gráfica interativa construída utilizando a biblioteca Swing. Este projeto foi desenvolvido como parte de um desafio de projeto do bootcamp de Java da DIO.me.
O jogo conta com uma série de funcionalidades que garantem uma experiência completa e agradável:
- Geração Dinâmica de Quebra-Cabeças: Novos jogos são gerados a cada clique, com três níveis de dificuldade (Fácil, Médio, Difícil).
- Interface Gráfica Intuitiva: Um tabuleiro claro e botões de fácil acesso para todas as funcionalidades.
- Validação em Tempo Real:
- Conflitos: O fundo de uma célula fica vermelho claro automaticamente se o número inserido estiver duplicado na mesma linha, coluna ou bloco.
- Grupos Corretos: O fundo de um grupo (linha, coluna ou bloco) fica verde claro quando ele é preenchido de forma 100% correta.
- Completude: O texto dos números de um grupo fica verde escuro quando o grupo está completo (todos os 9 números preenchidos).
- Cronômetro: Registra o tempo de jogo, iniciando um novo contador a cada partida.
- Modo "Anotação" (Pencil Marks): Permite marcar pequenos números candidatos em uma célula, ajudando na dedução lógica.
- Sistema de "Dica Inteligente":
- Dica Lógica: Prioriza encontrar uma célula que só tenha uma única possibilidade de preenchimento, ensinando o jogador a identificar jogadas lógicas.
- Revelação: Como plano B, revela a resposta de uma célula vazia aleatória.
- Navegação Completa: Suporte total para seleção de células com o mouse e navegação pelo tabuleiro com as setas do teclado.
- Java: Linguagem de programação principal.
- Java Swing: Biblioteca utilizada para a construção de toda a interface gráfica (GUI).
Para rodar o projeto em sua máquina local, siga os passos abaixo.
- JDK (Java Development Kit): Versão 8 ou superior instalada.
- Clone o repositório:
git clone https://github.com/joaoalbertorsc/desafio-dio-jogo-sudoku
- Abra o projeto em sua IDE:
- Abra o projeto em sua IDE de preferência (IntelliJ IDEA, Eclipse, VS Code com extensões Java, etc.).
- Execute a classe principal:
- Localize e execute o método
mainna classeorg.example.sudoku.Main.
- Localize e execute o método
A janela do jogo deverá aparecer, pronta para jogar!
