ola galera, eu estou tentando fazer um jogo da velha jogado contra o computador no console. Esse código roda mas depois fica parado, alquem pode me ajudar? obrigado
import java.util.Random;
import java.util.Scanner;
public class Jogo {
private static char[][] mat = new char[3][3];
private static Random r = new Random();
private static Scanner input = new Scanner(System.in);
private static int contaJogos;
//construtor, inicializa a matriz com -
public Jogo(){
System.out.println(" *** JOGO DA VELHA *** ");
reinicia();
}
public static void main(String[] args){
Jogo jogo = new Jogo();
if((contaJogos % 2) == 0){
for(byte j = 0; j < 5; j++){
jogo.mostraJogo();
System.out.println("----------------");
jogo.jogarHumano();
jogo.mostraJogo();
if(j == 9)
break;
System.out.println("----------------");
jogo.jogarComp();
}
}
else {
for(byte j = 0; j < 5; j++){
jogo.mostraJogo();
System.out.println("----------------");
jogo.jogarComp();
jogo.mostraJogo();
if(j == 9)
break;
System.out.println("----------------");
jogo.jogarHumano();
}
}
}
//jogada do computador
private void jogarComp(){
boolean loop = true;
while(loop){
int x = r.nextInt(2);
int y = r.nextInt(2);
if((mat[x][y]) == '-'){
mat[x][y] = 'X';
loop = false;
}
}
}//fim do método JogarComp
//jogada do jogador humano
private void jogarHumano(){
boolean loop = true;
while(loop){
System.out.println("Sua vez.\nDigite a linha(de 0 a 2):");
int x = input.nextInt();
while((x > 2)||(x < 0)){
System.out.println("Valor inválido.\nDigite a linha(de 0 a 2):");
x = input.nextInt();
}//fim do while interno
System.out.println("Digite a coluna(de 0 a 2):");
int y = input.nextInt();
while((y > 2)||(y < 0)){
System.out.println("Valor inválido.\nDigite a coluna(de 0 a 2):");
y = input.nextInt();
}//fim do while interno
if((mat[x][y]) == '-'){
mat[x][y] = 'O';
loop = false;
}//fim do while interno
}//fim do while externo
}//fim do método jogarHumano
//mostra como esta o jogo
private void mostraJogo(){
int cont = 0;
for(char[] a : mat)
for(char b : a){
System.out.printf("[ %c ] ", b);
cont++;
if((cont % a.length) == 0)
System.out.println();
}
}
private void reinicia(){
System.out.println(" !!! NOVO JOGO !!!");
for(byte i = 0; i < mat.length; i++)
for(byte j = 0; j < mat[i].length; j++)
mat[i][j] = '-';
}
}