public class jogoDaVelha {
static char[][] tab = {
{'_', '|', '_', '|', '_'},
{'_', '|', '_', '|', '_'},
{' ', '|', ' ', '|', ' '}
};
public static void main(String[] args) {
for (int i = 0; i < 9; i++) {
if (i % 2 == 1) {
primeiroJogador(tab);
} else {
segundoJogador(tab);
}
primeiroJogador(tab);
segundoJogador(tab);
}
}
public static boolean VerificarPosicao(int posicaoMarcada, char[][] tabuleiroDoJogo) {
switch(posicaoMarcada) {
case 1:
if (tabuleiroDoJogo[0][0] == '_') {
return true;
} else {
return false;
}
case 2:
if (tabuleiroDoJogo[0][2] == '_') {
return true;
} else {
return false;
}
case 3:
if (tabuleiroDoJogo[0][4] == '_') {
return true;
} else {
return false;
}
case 4:
if (tabuleiroDoJogo[1][0] == '_') {
return true;
} else {
return false;
}
case 5:
if (tabuleiroDoJogo[1][2] == '_') {
return true;
} else {
return false;
}
case 6:
if (tabuleiroDoJogo[1][4] == '_') {
return true;
} else {
return false;
}
case 7:
if (tabuleiroDoJogo[2][0] == ' ') {
return true;
} else {
return false;
}
case 8:
if (tabuleiroDoJogo[2][2] == ' ') {
return true;
} else {
return false;
}
case 9:
if (tabuleiroDoJogo[2][4] == ' ') {
return true;
} else {
return false;
}
default:
return false;
}
}
public static void Tabuleiro(char[][] tabuleiroJogo) {
for (char[] linha : tabuleiroJogo) {
for (char c : linha) {
System.out.print(c);
}
System.out.println();
}
}
public static void primeiroJogador(char[][] tabuleiroJogo) {
System.out.println();
Tabuleiro(tab);
System.out.println("Jogador 1, Informe a posição no tabuleiro:");
Scanner teclado = new Scanner(System.in);
int posicao = teclado.nextInt();
segundoJogador(tab);
boolean verif = VerificarPosicao(posicao, tabuleiroJogo);
while(verif != true) {
System.out.println("A jogado efetuada é inválida!");
System.out.println("Digite uma nova opção:");
posicao = teclado.nextInt();
verif = VerificarPosicao(posicao, tabuleiroJogo);
}
criarTabuleiro(posicao, "Primeiro Jogador", tabuleiroJogo);
}
public static void segundoJogador(char [][] tabuleiroJogo) {
System.out.println();
Tabuleiro(tab);
System.out.println(" jogador 2, Informe a posição no tabuleiro:");
Scanner teclado = new Scanner(System.in);
int posicao = teclado.nextInt();
segundoJogador(tab);
boolean verif = VerificarPosicao(posicao, tabuleiroJogo);
while(verif != true) {
System.out.println("A jogado efetuada é inválida!");
System.out.println("Digite uma nova opção:");
posicao = teclado.nextInt();
verif = VerificarPosicao(posicao, tabuleiroJogo);
}
criarTabuleiro(posicao, "Segundo jogador", tabuleiroJogo);
}
public static void criarTabuleiro(int pos, String jogador, char[][] tabuleiroJogo) {
char marcacao = ' ';
if (jogador == "Primeiro jgador") {
marcacao = 'X';
} else if (jogador == "Segundo jogador") {
marcacao = 'O';
}
switch (pos) {
case 1:
tabuleiroJogo[0][0] = marcacao;
break;
case 2:
tabuleiroJogo[0][2] = marcacao;
break;
case 3:
tabuleiroJogo[0][4] = marcacao;
break;
case 4:
tabuleiroJogo[1][0] = marcacao;
break;
case 5:
tabuleiroJogo[1][2] = marcacao;
break;
case 6:
tabuleiroJogo[1][4] = marcacao;
break;
case 7:
tabuleiroJogo[2][0] = marcacao;
break;
case 8:
tabuleiroJogo[2][2] = marcacao;
break;
case 9:
tabuleiroJogo[2][4] = marcacao;
break;
default:
break;
}
Tabuleiro(tab);
}
public static boolean VerificaVencedor(char[][] tabuleiroJogo, char marcacao) {
if (tabuleiroJogo[0][0] == marcacao && tabuleiroJogo[1][0] == marcacao && tabuleiroJogo [2][0] == marcacao){
System.out.println("'" + marcacao + "' VENCEU");
return true;
}
return false;
}
}
Está muita vaga a sua dúvida. Explique melhor o que você quer que o programa faça e o que está saindo do jeito que está.
Eu quero que ele marque o X e o O no tabuleiro quando o usario colocar a posição desejada, pq ele não marca quando digitado
Já tentou debugar?
Como assim debugar?
Não to conseguindo, não