示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
                    }
                }
            }
        }