Olá, boa noite a quem puder ver.
Sou novo aqui e não sei exatamente como as coisas funcionam, mas, pelo pouco que vi, parecem-me sérios e competentes.
Lamento postar uma coisa que já foi postada por outros users, mas, estou iniciando em java e estou tentando elaborar o famoso exercício do jogo da velha mas, com o pouco conhecimento que tenho, não consigo encontrar o erro em meu código.
Não estou pedindo para fazerem um exercício. Estou querendo aprender com meus erros e fazer o meu código funcionar, dados os meus conhecimentos atuais.
Se alguém puder me dar uma “luz”, eu seria muito agradecido.
Segue abaixo o código que tentei:
package Velha;
import java.util.Scanner;
public class Test_2 {
private static Scanner leia;
public static void main(String[] args) {
leia = new Scanner(System.in);
String a[][] = new String[3][3];
int i=0, j=0, l=0, c=0;
char x = 'X', o = 'O';
int cont;
System.out.println("####################################################");
System.out.println(" Seja bem vindo ao jogo da velha ");
System.out.println("####################################################");
System.out.println("\nLembrete: Os valores das linhas e colunas começam em 0 e terminam em 2");
for (i=0; i<3; i++) {
for (j=0; j<3; j++)
a[i][j] = "-";
for (cont = 0; cont < 9; cont ++) {
System.out.print("\nDigite a linha do primeiro jogador: ");
l = leia.nextInt();
while(i<0 || i>2){
System.out.print("\nÍndice da linha inválido\nX (Linha): ");
l = leia.nextInt();
}
System.out.print("Digite a coluna do primeiro jogador: ");
c = leia.nextInt();
while(j<0 || j>2){
System.out.print("\nÍndice da coluna inválido\nY (Coluna): ");
c = leia.nextInt();
}
System.out.println();
a[l][c] = "x";
System.out.println(" " + " 0" + " 1"+ " 2") ;
System.out.println("0 " + a[0][0] + " " + a[0][1] + " " + a[0][2] );
System.out.println("1 " + a[1][0] + " " + a[1][1] + " " + a[1][2] );
System.out.println("2 " + a[2][0] + " " + a[2][1] + " " + a[2][2] );
if (cont >= 5)
{
if ((a[0][0] == a[0][1] && a[0][0] == a[0][2])||
(a[1][0] == a[1][1] && a[1][0] == a[1][2])||
(a[2][0] == a[2][1] && a[2][0] == a[2][2])||
(a[0][0] == a[1][0] && a[0][0] == a[2][0])||
(a[0][1] == a[1][1] && a[0][1] == a[2][1])||
(a[0][2] == a[1][2] && a[0][2] == a[2][2])||
(a[2][2] == a[0][0] && a[2][2] == a[1][1])||
(a[0][2] == a[1][1] && a[1][1] == a[2][0]))
{
if (a[0][0] == "x")
{
System.out.println("\n\nJogador 1 venceu!!!");
break;
}
}
}
System.out.print("\nDigite a linha do segundo jogador: ");
l = leia.nextInt();
while(i<0 || i>2){
System.out.print("\nÍndice da linha inválido\nX (Linha): ");
l = leia.nextInt();
}
System.out.print("Digite a coluna do segundo jogador: ");
c = leia.nextInt();
while(j<0 || j>2){
System.out.print("\nÍndice da coluna inválido\nY (Coluna): ");
c = leia.nextInt();
}
System.out.println();
cont++;
a[l][c] = "o";
System.out.println(" " + " 0" + " 1"+ " 2");
System.out.println("0 " + a[0][0] + " " + a[0][1] + " " + a[0][2] );
System.out.println("1 " + a[1][0] + " " + a[1][1] + " " + a[1][2] );
System.out.println("2 " + a[2][0] + " " + a[2][1] + " " + a[2][2] );
if (cont >= 5)
{
if ((a[0][0] == a[0][1] && a[0][0] == a[0][2])||
(a[1][0] == a[1][1] && a[1][0] == a[1][2])||
(a[2][0] == a[2][1] && a[2][0] == a[2][2])||
(a[0][0] == a[1][0] && a[0][0] == a[2][0])||
(a[0][1] == a[1][1] && a[0][1] == a[2][1])||
(a[0][2] == a[1][2] && a[0][2] == a[2][2])||
(a[2][2] == a[0][0] && a[2][2] == a[1][1])||
(a[0][2] == a[1][1] && a[1][1] == a[2][0]))
{
if (a[0][0] == "o")
{
System.out.println("\n\nJogador 2 venceu!!! =D =D ");
break;
}
}
}
if (cont == 9)
{
System.out.println("Deu Velha!!!");
break;
}
}
}
}
}