Skip to content

Fabricio-P-Viana/jogoDaVelha

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

jogoDaVelha

Um jogo da velha responsivo com um algoritmo de minha própria autoria, leia o README.

Algoritmo

Estava pensando em como poderia desenvolver um algoritmo para o jogo da velha, quando pensei em utilizar um array de valores booleanos. Os 9 primeiros seriam representados pelo jogador 1, e os outros 9 pelo jogador 2. Vou exemplificar minha visão:

Jogador 1 -
0 1 2
3 4 5
6 7 8
Jogador 2 -
9 10 11
12 13 14
15 16 17

A partir daqui, crie verificações horizontais, verticais e laterais com 'for'. Identifiquei um padrão: as horizontais sempre crescem de 1 em 1 para que seja vitória, ou seja, as possibilidades são:

Para jogador 1:

0 | 1 | 2 ou 3 | 4 | 5 ou 6 | 7 | 8

Para jogador 2:

9 | 10 | 11 ou 12 | 13 | 14 ou 15 | 16 | 17

Na vertical, segue o mesmo padrão, só que elas crescem de 3 em 3. Nas laterais, elas possuem um comportamento diferente. Existe um valor fixo para cada jogador, sendo 4 e 13 que são o centro de cada jogador, além de crescerem 2 e subtraírem 2 nas pontas, gerando assim somente duas possibilidades por jogador:

Para jogador 1:

0 | 4 | 8 ou 2 | 4 | 6

Para jogador 2:

9 | 13 | 17 ou 11 | 13 | 15

Assim, desenvolvi o algoritmo de resolução, criando uma pequena otimização colocando um contador que verifica a quantidade de jogadas. Somente quando as jogadas chegarem a 5, que é o mínimo para um jogador vencer, ele fará toda essa verificação acima. Também verifiquei o empate: caso chegue a 9 o número de jogadas e não houver vencedor, o jogo termina em empate.

About

um jogo da velha responsivo com algoritmo de própria autoria leia o readme.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published