/// <summary> /// Hacemos dos comprobaciones, que la posición está dentro del tablero /// y que cumple con las reglas del juego. /// </summary> /// <param name="tablero">Tablero en la situación actual de juego /// </param> /// <param name="posicion">Posición elegida por el jugador cuya /// legalidad queremos comprobar</param> /// <param name="color">Color del jugador</param> /// <returns>True si la jugada es correcta, false en caso contrario /// </returns> private Boolean ComprobarJugada(Tablero tablero, Posicion posicion, Color color) { Boolean movimientoValido; movimientoValido = Reglas.PosicionDentroTablero(posicion.Row, posicion.Col); if (!movimientoValido) { return(false); } movimientoValido = Reglas.PosicionLegal(tablero, posicion.Row, posicion.Col, color); if (!movimientoValido) { return(false); } return(true); }
/// <summary> /// Método para comprobar en qué casillas podemos colocar piezas. /// </summary> /// <param name="tablero">Tablero en su situación actual</param> public void ComprobarValidas(Tablero tablero) { posicionesValidas = new Queue(); Posicion posicion; for (int row = 1; row < 9; row++) { for (int col = 1; col < 9; col++) { if (Reglas.PosicionLegal(tablero, row, col, color)) { posicion = new Posicion(); posicion.Row = row; posicion.Col = col; posicionesValidas.Enqueue(posicion); } } } }