JAVA井字游戏-如何确定获胜者?

问题描述 投票:-3回答:1

我需要确定谁是获胜者,并且被困住。

如何比较每行的索引,每列的索引和对角线以确定获胜者?

基本上,我需要使其变得简单,如果/否则,我不想做200:

if (board [0] [0] .equals ("X") && board [0] [1] .equals ("X") && board [0] [2] .equals ("X")

以及所有行和列,这是不正确的。

import java.util.Scanner;

class Main {
  public static void main(String[] args) {

//Scanner Setup
    Scanner sc = new Scanner(System.in);

// Variables Globales
    int contadorDeJugadas = 0;
    int filaJugador1, columnaJugador1, filaJugador2, columnaJugador2;

// Tablero  
  String[][] tablero = new String[3][3];
  // Primera Fila
  tablero[0][0] = "-";
  tablero[0][1] = "-";
  tablero[0][2] = "-";
  // Segunda Fila
  tablero[1][0] = "-";
  tablero[1][1] = "-";
  tablero[1][2] = "-";
  // Tercera Fila
  tablero[2][0] = "-";
  tablero[2][1] = "-";
  tablero[2][2] = "-";




// Programa
    System.out.println("Bienvenidos al tateti (Version 1)");

    do{

        // Jugada del jugador 1
        if((contadorDeJugadas % 2) == 0){
          System.out.println("Jugador 1, ingresar fila de la jugada");
          filaJugador1 = sc.nextInt();
          System.out.println("Jugador 1, ingresar columna de la jugada");
          columnaJugador1 = sc.nextInt();

            if(tablero[filaJugador1][columnaJugador1] == "-"){
                tablero[filaJugador1][columnaJugador1] = "X";
                contadorDeJugadas++;
              }
            else{
              System.out.println("La posicion ya se encuentra ocupada!");
            }
            for(int i = 0; i < tablero.length; i++){
                  for(int j = 0; j < tablero[i].length; j++){
                    System.out.print(tablero[i][j] + " ");
                    }
                  System.out.println("");
                  }
          }      

        // Jugada del jugador 2
      else{
        System.out.println("Jugador 2, ingresar fila de la jugada");
        filaJugador2 = sc.nextInt();
        System.out.println("Jugador 2, ingresar columna de la jugada");
        columnaJugador2 = sc.nextInt();

          if(tablero[filaJugador2][columnaJugador2] == "-"){
              tablero[filaJugador2][columnaJugador2] = "O";
                contadorDeJugadas++;
          }
          else{
            System.out.println("La posicion ya se encuentra ocupada!");
          }
          for(int i = 0; i < tablero.length; i++){
                for(int j = 0; j < tablero[i].length; j++){
                  System.out.print(tablero[i][j] + " ");
                  }
                System.out.println("");
                }
        }

        if(contadorDeJugadas == 9){
        System.out.println("Fin del juego, empate");
       }
      }while(contadorDeJugadas < 9);



  }
}
java arrays printing do-while tic-tac-toe
1个回答
0
投票

[3],[3],[3],[3],[3],[3],[3],[3]]

© www.soinside.com 2019 - 2024. All rights reserved.