Jogo da Velha

Preciso de uma ajuda para fazer um jogo da Velha A interaçãoo entre o usuário e o
seu programa seria feito pelo console. A cada jogada, o usuário deve indicar a
posição da jogada, isto é, a linha e a coluna da célula que deve receber o símbolo
‘x’. A cada jogada, o programa imprime a disposição corrente do tabuleiro.

Comece a fazer e se tiver alguma dúvida específica é só perguntar. Não fazemos dever de casa aqui.

Aff, eu respondi um topico desses a uma semana atras, de uma procurada pelo forum. Levei um tempinho escrevendo o codigo e vc nem se da ao trabalho de procurar pelo forum? :shock:
Eu dei uma ideia de como comecar e fiz um codigo funcional que voce so teria que copiar, colar e fazer testes. Procura por ai! Deve estar la pela pagina 5. Ve la! T+

Apagaram meu post? :?:

Então vo fazer algo que não deveria, desenvolvi aqui rapidinho um jogo da velha e vou te postar o codigo, foi desenvolvido rapidamente então obvio que vc pode melhorar esse codigo, mas o certo é o pessoal ajudar com as duvidas e nao colocar a solucao pronta, mas está ai o codigo:

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.");
        }
        
        
    }

}

Vlw ai!