es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo verificar si la primera fila de una matriz 2D sin una dimensión fija tiene el mismo valor en todas las posiciones?

Estoy creando un juego de tres en raya en Java con una función de dimensión personalizable (el usuario puede elegir jugar en 3×3, 4×4, 5×5, etc.) y estaba trabajando en la lógica para encontrar un ganador. Actualmente, estoy tratando de averiguar cómo verificar las victorias horizontalmente.

He tenido la idea de hacer un for-loop anidado para verificar la matriz 2D que aloja el tablero, pero no estoy seguro de cómo ejecutar esto. El problema con este código:

para (int i = 0; i < dimensión; i++) {
if (board[i][0] == board[i][1] && board[i][1] == board[i][2] && board[i][0] != ”-‘) {
// ¡Ganaste!
}
}

…Es que su lógica está fija para un juego de 3×3, no para cualquier otra dimensión. Solo sé cómo agregar valores en matrices 2D, ¿cómo puedo verificar si estos valores son iguales? Gracias de antemano.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Puede utilizar un bucle for anidado para verificar el array 2D para una victoria horizontal. Puede utilizar una variable dimension para representar el tamaño del tablero y usarla para controlar el bucle.

    Por ejemplo, si el tablero es de 3×3, dimension sería 3. El bucle externo iterará a través de cada fila y el bucle interno iterará a través de cada columna en la fila.

    Luego puede verificar si los valores en cada columna son iguales y si no son iguales a - (que representa un espacio vacío). Si todos los valores son iguales y no -, entonces el jugador ha ganado.

    A continuación, se muestra un ejemplo del código:

    para (int i = 0; i <dimension; i="" ++)="" {="" booleano="" ganar="verdadero;" para="" (int="" j="0;" j=""></dimension;><dimension; j ++) {
    si (tablero [i] [j]! = tablero [i] [0] || tablero [i] [j] == '-') {
    ganar = falso;
    romper;
    }
    }
    si (ganar) {
    // ¡has ganado!
    }
    }
    j=”” ++)=”” {=”” si=”” (tablero=”” [i]=”” [j]!=”Tablero” [i]=”” [0]=”” ||=”” tablero=”” [i]=”” [j]=”=” ‘-‘)=”” {=”” ganar=”falso;” romper;=”” }=”” }=”” si=”” (ganar)=”” {=”” ¡has=”” ganado!=”” }=”” }=””></dimension; j ++) {
    si (tablero [i] [j]! = tablero [i] [0] || tablero [i] [j] == ‘-‘) {
    ganar = falso;
    romper;
    }
    }
    si (ganar) {
    // ¡has ganado!
    }
    }
    “`>

Comments are closed.