Desenvolva o tradicional jogo da velha em uma variante que enfrente um jogador COMPUTADOR. O jogo não precisa contar com interface gráfica, as coordenadas das jogadas podem ser informadas em modo texto. -IMPORTANTE: Devem existir ao menos classes que representem: Jogador, Tabuleiro, Computador. Trabalhos que não possuam estas classes não receberão nota. Jogador: Deve controlar a leitura das jogadas do jogador humano Tabuleiro: Deve armazenar e controlar a condição do tabuleiro, saber responder se o jogo está empatado, vitória, derrota ou inacabado. Computador: Possui os métodos que controlam as jogadas da máquina.
Soluções para a tarefa
Desenvolvendo o tradicional jogo da velha, temos o seguinte algoritmo:
import java.util.Scanner;
public class Humano extends Jogador{
public Scanner entrada = new Scanner(System.in);
public Humano(int jogador){
super(jogador);
this.jogador = jogador;
System.out.println("Jogador 'Humano' criado!");
}
@Override
public void jogar(Tabuleiro tabuleiro){
Tentativa(tabuleiro);
tabuleiro.setPosicao(tentativa, jogador);
}
@Override
public void Tentativa(Tabuleiro tabuleiro){
do{
do{
System.out.print("Linha: ");
tentativa[0] = entrada.nextInt();
if( tentativa[0] > 3 ||tentativa[0] < 1)
System.out.println("Linha inválida. É 1, 2 ou 3");
}while( tentativa[0] > 3 ||tentativa[0] < 1);
do{
System.out.print("Coluna: ");
tentativa[1] = entrada.nextInt();
if(tentativa[1] > 3 ||tentativa[1] < 1)
System.out.println("Coluna inválida. É 1, 2 ou 3");
}while(tentativa[1] > 3 ||tentativa[1] < 1);
tentativa[0]--;
tentativa[1]--;
if(!checaTentativa(tentativa, tabuleiro))
System.out.println("Esse local já foi marcado. Tente outro.");
}while( !checaTentativa(tentativa, tabuleiro) );
}
}
A linguagem java é uma das possibilidade de linguagem de programação muito utilizada em jogos de computador, aparelhos celulares, calculadoras, e nos rádios dos automóveis.