Um aplicativo de Jogo da Velha construído em Angular, com funcionalidades de jogar contra uma inteligência artificial em 3 dificuldades diferentes ou jogar localmente com um amigo.
Angular | |
Typescript | |
TailwindCSS | |
LucideIcons |
Foi programado uma inteligência artificial para jogar contra o usuário, ela rastreia todo o tabuleiro verificando a melhor jogada a se fazer.
A seguir veja uma lista com as ações em ordem prioritária que a IA executa.
Prioridade | Ação | Método |
---|---|---|
1 | Ganhar o jogo | Rastreia o tabuleiro inteiro verificando se é possível ganhar com o próximo movimento |
2 | Impedir que o adversário ganhe | Rastreia o tabuleiro inteiro verificando se a próxima jogada do usúario pode resultar em uma vitória e o impede |
3 | Impedir estratégia de diagonais | Caso o usuário marque duas diagonais opostas a IA marca uma lateral ao centro impedindo a estratégia |
4 | Impedir estratégia de L | Caso por exemplo a lateral meio-esquerda e a lateral meio-baixo sejam preenchidas é preenchido a diagonal entre elas |
5 | Impedir estratégia de L2 | Caso por exemplo a diagonal esquerda-cima e a lateral meio-direita sejam preenchidas é preenchido a diagonal direita-baixo |
6 | Marcar o centro | O centro se não foi preenchido é priorizado |
7 | Marcar diagonais | As diagonais são priorizadas se o centro foi preenchido |
8 | Jogada aleatória | É marcado um espaço vazio aleatório |
Foram programados 4 modos de jogo, sendo eles:
Modo_de_jogo | Descrição |
---|---|
Fácil | A IA se comporta mais desleixadamente, tendo apenas 25% de chance de realizar as ações [1, 3, 4, 5, 6, 7] e 0% de chance a ação [2] |
Médio | A IA se comporta melhor, tendo 50% de chance de realizar as ações [1-7] |
Impossível | A IA se comporta da melhor forma possível, ao jogar nesse modo o resultado sempre será um empate ou uma vitória por parte da IA |
2_Jogadores | É desativado o sistema de IA, permitindo que o usuário jogue também no turno que seria da IA (podendo assim jogar com um amigo) |
Foi implementado um placar para acompanhar a pontuação geral.
Foi desenvolvido uma interface 100% amigável e animada, bem como uma tela de vitória.
- Clone o repositório
git clone https://github.com/Delgado-tech/tic-tac-toe-with-ia.git
cd tic-tac-toe-with-ia
- Instale as dependências
pnpm install
- Inicie o servidor de desenvolvimento
npm run start
-
Abra o navegador e vá para
http://localhost:4200
. -
Após isso divirta-se!!!
Este projeto está licenciado sob a Licença MIT.
Se você tiver alguma dúvida ou sugestão, entre em contato clicando aqui.