Preciso escrever um programa para o jogo da velha. A interação entre o usuario e o
seu programa sera feito pelo console. A cada jogada, o usuario deve indicar a
posicao da jogada, isto e, a linha e a coluna da celula que deve receber o simbolo
‘x’. A cada jogada, o programa imprime a disposicao corrente do tabuleiro.
po eu postei um codigo para este topico nao faz 1 hora, vamo pesquisa antes de sai criando topicos pessoal, bem vou postar o codigo aaqui para vc, lembrando que oque estpu fazendo nao é o correto, o certo seria o pessoal tirar as duvidas que surgiram durante o desenvolvimento e nao dar a resposta pronta, bem o codigo do jogo eu fiz agora a tarde rapidinho por isso vc pode mto bem melhora-lo ai vai o exemplo do jogo da velah com integração pelo console:
import java.util.Scanner;
public class jogoVelha {
static String[][] tabuleiro = new String[3][3];
public static boolean verJogada(String simbolo, int x, int y){
boolean vencedor = false;
if(x==0 && y==0){
if((tabuleiro[0][1].equals(simbolo) && tabuleiro[0][2].equals(simbolo)) ||
(tabuleiro[1][0].equals(simbolo) && tabuleiro[2][0].equals(simbolo)) ||
(tabuleiro[1][1].equals(simbolo) && tabuleiro[2][2].equals(simbolo))){
vencedor = true;
}
}
if(x==0 && y==1){
if((tabuleiro[0][0].equals(simbolo) && tabuleiro[0][2].equals(simbolo)) ||
(tabuleiro[1][1].equals(simbolo) && tabuleiro[2][1].equals(simbolo))){
vencedor = true;
}
}
if(x==0 && y==2){
if((tabuleiro[0][1].equals(simbolo) && tabuleiro[0][0].equals(simbolo)) ||
(tabuleiro[1][2].equals(simbolo) && tabuleiro[2][2].equals(simbolo)) ||
(tabuleiro[1][1].equals(simbolo) && tabuleiro[2][0].equals(simbolo))){
vencedor = true;
}
}
if(x==1 && y==0){
if((tabuleiro[0][0].equals(simbolo) && tabuleiro[2][0].equals(simbolo)) ||
(tabuleiro[1][1].equals(simbolo) && tabuleiro[1][2].equals(simbolo))){
vencedor = true;
}
}
if(x==1 && y==1){
if((tabuleiro[0][1].equals(simbolo) && tabuleiro[2][1].equals(simbolo)) ||
(tabuleiro[1][0].equals(simbolo) && tabuleiro[1][2].equals(simbolo)) ||
(tabuleiro[0][0].equals(simbolo) && tabuleiro[2][2].equals(simbolo)) ||
(tabuleiro[0][2].equals(simbolo) && tabuleiro[2][0].equals(simbolo))){
vencedor = true;
}
}
if(x==1 && y==2){
if((tabuleiro[0][2].equals(simbolo) && tabuleiro[2][2].equals(simbolo)) ||
(tabuleiro[1][1].equals(simbolo) && tabuleiro[1][0].equals(simbolo))){
vencedor = true;
}
}
if(x==2 && y==0){
if((tabuleiro[0][0].equals(simbolo) && tabuleiro[1][0].equals(simbolo)) ||
(tabuleiro[2][1].equals(simbolo) && tabuleiro[2][2].equals(simbolo)) ||
(tabuleiro[1][1].equals(simbolo) && tabuleiro[0][2].equals(simbolo))){
vencedor = true;
}
}
if(x==2 && y==1){
if((tabuleiro[2][0].equals(simbolo) && tabuleiro[2][2].equals(simbolo)) ||
(tabuleiro[1][1].equals(simbolo) && tabuleiro[0][1].equals(simbolo))){
vencedor = true;
}
}
if(x==2 && y==2){
if((tabuleiro[2][1].equals(simbolo) && tabuleiro[2][0].equals(simbolo)) ||
(tabuleiro[1][2].equals(simbolo) && tabuleiro[0][2].equals(simbolo)) ||
(tabuleiro[1][1].equals(simbolo) && tabuleiro[0][0].equals(simbolo))){
vencedor = true;
}
}
return vencedor;
}
public static void main(String[] args) {
int x = 0;
int y = 0;
int jogador = 1;
boolean vencedor = false;
int jogadas = 0;
// preenche os índices da matriz com uma string vazia
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
tabuleiro[i][j] = "-";
}
}
while (!vencedor && jogadas < 9) {
java.util.Scanner s = new Scanner(System.in);
System.out.println("X (Linha): ");
x = s.nextInt();
while(x<0 || x>2){
System.out.println("Índice da linha inválido\nX (Linha): ");
s = new Scanner(System.in);
x = s.nextInt();
}
s = new Scanner(System.in);
System.out.println("Y (Coluna): ");
y = s.nextInt();
while(y<0 || y>2){
System.out.println("Índice da coluna inválido\nY (Coluna): ");
s = new Scanner(System.in);
y = s.nextInt();
}
boolean jogada = false;
if (jogador == 1) {
try {
if (!tabuleiro[x][y].equals("X") && !tabuleiro[x][y].equals("Y")) {
tabuleiro[x][y] = "X";
jogada = true;
jogadas++;
vencedor = verJogada("X", x, y);
} else {
System.out.println("\n Posição já preenchida. \n");
jogada = false;
}
} catch (Exception e) {
e.printStackTrace();
}
} else {
try {
if (!tabuleiro[x][y].equals("X") && !tabuleiro[x][y].equals("Y")) {
tabuleiro[x][y] = "O";
jogada = true;
jogadas++;
vencedor = verJogada("O", x, y);
} else {
System.out.println("\nPosição já preenchida.");
jogada = false;
}
} catch (Exception e) {
e.printStackTrace();
}
}
if (jogada && !vencedor) {
if (jogador == 1) {
jogador = 2;
} else {
jogador = 1;
}
}
String matriz = "\n";
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
matriz += tabuleiro[i][j] + " ";
}
matriz += "\n";
}
System.out.println(matriz);
}
if(vencedor){
System.out.println("Jogador "+jogador+" foi o vencedor.");
}else{
System.out.println("Jogo terminou empatado.");
}
}
}
copie o codigo acima, compile ele e teste, se surgir algum erro post aqui
so lembre que os indices das linhas e colunas começam em 0 e vao ate 2, por isso na hora de informa a linha e a coluna lembre disso.