Olá, esta é minha resolução de um trabalho de escola.
Eu deveria criar um jogo da velha, simples assim, ou quase simples assim…
import java.util.Scanner;
public class JogoDaVelha {
private int x, y, cont, fim;
private Scanner t;
private String jogador1, jogador2, ganhador;
private static String velha[][];
public void jogoDaVelha() {
cont = fim = 0;
t = new Scanner(System.in);
jogador1 = "";
while (true) {
System.out.println("Escolha X ou O");
jogador1 = t.nextLine();
if (jogador1.equals("X") || jogador1.equals("O")) {
break;
}
}
System.out.println("Jogador 1 fica com " + jogador1);
if (jogador1.equals("X")) {
jogador2 = "O";
System.out.println("Jogador 2 fica com O");
} else {
jogador2 = "X";
System.out.println("Jogador 2 fica com X");
}
velha = new String[3][3];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
velha[i][j] = " ";
}
}
while (true) {
if (cont % 2 == 0) {
System.out.println("Vez do jogador 1");
} else {
System.out.println("Vez do jogador 2");
}
while (true) {
desenhar();
x = 3;
y = 3;
while (x > 2) {
System.out.println("Linha:");
x = t.nextInt();
}
while (y > 2) {
System.out.println("Coluna:");
y = t.nextInt();
}
if (cont % 2 == 0) {
if (velha[y][x].equals(" ")) {
velha[y][x] = jogador1;
break;
} else {
System.out.println("Posição já marcada. Marque outra posição");
}
} else {
if (velha[y][x].equals(" ")) {
velha[y][x] = jogador2;
break;
} else {
System.out.println("Posição já marcada. Marque outra posição");
}
}
}
cont++;
fim++;
if (("X".equals(velha[0][2]) && "X".equals(velha[1][1]) && "X".equals(velha[2][1]))
|| ("X".equals(velha[0][0]) && "X".equals(velha[1][1]) && "X".equals(velha[2][2]))
|| ("X".equals(velha[0][0]) && "X".equals(velha[0][1]) && "X".equals(velha[0][2]))
|| ("X".equals(velha[1][0]) && "X".equals(velha[1][1]) && "X".equals(velha[1][2]))
|| ("X".equals(velha[2][0]) && "X".equals(velha[2][1]) && "X".equals(velha[2][2]))
|| ("X".equals(velha[0][0]) && "X".equals(velha[1][0]) && "X".equals(velha[2][0]))
|| ("X".equals(velha[0][1]) && "X".equals(velha[1][1]) && "X".equals(velha[2][1]))
|| ("X".equals(velha[0][2]) && "X".equals(velha[1][2]) && "X".equals(velha[2][2]))) {
ganhador = "X";
break;
} else if (("O".equals(velha[0][2]) && "O".equals(velha[1][1]) && "O".equals(velha[2][1]))
|| ("O".equals(velha[0][0]) && "O".equals(velha[1][1]) && "O".equals(velha[2][2]))
|| ("O".equals(velha[0][0]) && "O".equals(velha[0][1]) && "O".equals(velha[0][2]))
|| ("O".equals(velha[1][0]) && "O".equals(velha[1][1]) && "O".equals(velha[1][2]))
|| ("O".equals(velha[2][0]) && "O".equals(velha[2][1]) && "O".equals(velha[2][2]))
|| ("O".equals(velha[0][0]) && "O".equals(velha[1][0]) && "O".equals(velha[2][0]))
|| ("O".equals(velha[0][1]) && "O".equals(velha[1][1]) && "O".equals(velha[2][1]))
|| ("O".equals(velha[0][2]) && "O".equals(velha[1][2]) && "O".equals(velha[2][2]))) {
ganhador = "O";
break;
} else if (fim == 9) {
break;
}
}
if (jogador1.equals(ganhador)) {
System.out.println("Jogador 1 ganhou!");
} else if (jogador2.equals(ganhador)) {
System.out.println("Jogador 2 ganhou");
} else {
System.out.println("Velha");
}
desenhar();
}
public static void desenhar() {
System.out.println(" 0 1 2");
for (int i = 0; i < 3; i++) {
System.out.print(i + " ");
for (int j = 0; j < 3; j++) {
if (j != 2) {
System.out.print(" " + velha[i][j] + " |");
} else {
System.out.print(" " + velha[i][j]);
}
}
if (i != 2) {
System.out.println("\n –––––––––––");
} else {
System.out.println("");
}
}
}
}