Os games atualmente estão contagiando praticamente todas as faixas etárias. Eles podem ser utilizados em PCs, tablets e smartphones. Jogos antigos de tabuleiro ou até os jogos realizados em papel estão disponíveis de forma digital e conseguem encantar diversas gerações. Mas como transpor os tabuleiros dos jogos para programas de computador? Uma das facilidades da disponibilidade de estruturas de dados na computação é justamente a possibilidade de poder organizar o mundo real na memória do computador.
A partir das regras apresentadas, programe o jogo da velha na linguagem de programação Java.
Respostas
Resposta:
Para resolver o desafio, é necessário utilizar uma estrutura de dados matriz em Java para armazenar os dados do tabuleiro do jogo da velha. Como conteúdo da matriz, pode ser utilizado um valor (1, por exemplo) para representar a bolinha do jogo da velha e outro valor (2, por exemplo) para representar o X do jogo da velha.
- Para identificar a posição na qual o usuário deseja jogar, ele deverá informar a linha e coluna da posição da matriz (representando o jogo da velha) na qual será inserido o valor que representa o jogador da vez.
- A cada jogada, o programa deve controlar o jogador da vez, por uma variável de controle. A partir da 3ª jogada, o programa deve verificar se algum jogador venceu, varrendo as linhas, colunas e diagonais da matriz, verificando se existem 3 valores que representam um dos jogadores em alguma das varreduras realizadas. Caso existam 3 valores iguais em uma das varreduras, o jogo finalizou e o jogador ganhador é o da vez. Caso já tenha finalizado o número de jogadas permitidas e ninguém tenha vencido, acontece a “velha”.
- Enquanto o usuário não finalizar o jogo, o programa deve pontuar, em um placar de 2 jogadores, o jogador que venceu a partida.
- Para controlar a jogada do computador, o programa deve varrer a matriz e identificar a posição da jogada baseado na probabilidade de vencer o jogo. Da mesma forma que o jogador humano avalia as possibilidades de jogada, o computador também deverá fazê-lo.
- Quando o usuário desejar parar o jogo, deve ser informado o placar final das jogadas.
Esse desafio pode ser resolvido de forma amadora, validando item a item, ou utilizando valores nas posições da matriz que direcionam para os resultados por somatório. De qualquer forma, as regras solicitadas devem fazer parte do programa em Java.
Explicação: