示例#1
0
        void ComprobarMejorMovimientoaYactualizar(Movimiento mov, Juego.color col)
        {
            int ValorDeJugada = mov.Valor;

            if (col == Juego.color.Oscuro)
            {
                int MejorValor = -999;
                if (ValorDeJugada > MejorValor)
                {
                    MejorValorDeMovimiento = ValorDeJugada;
                    this.MejorMovimiento   = mov;
                }
            }
            else
            {
                int MejorValor = 999;
                if (ValorDeJugada < MejorValor)
                {
                    MejorValorDeMovimiento = ValorDeJugada;
                    this.MejorMovimiento   = mov;
                }
            }
            if (MejorMovimiento != null)
            {
                this.valor = MejorMovimiento.Valor;
            }
        }
示例#2
0
 public Movimiento(Juego.color col)
 {
     this.estadoFinal = new EstadoDeJuego();
     if (col == Juego.color.Claro)
     {
         this.estadoFinal.ValorDeEstado = 999;
     }
     else
     {
         this.estadoFinal.ValorDeEstado = -999;
     }
 }
示例#3
0
文件: IA.cs 项目: oscarpavon/ajedrez
        public static List <Movimiento> CalcularMovimientosPorColorEnEstado(Juego.color color, EstadoDeJuego estado)
        {
            List <Movimiento> movimientos = new List <Movimiento> ();

            if (color == color.Claro)
            {
                movimientos = CalcularMovimientosDesdeListaDePiezasEnEstado(estado.IdsActivosPiezasClaras, estado);
            }
            else
            {
                movimientos = CalcularMovimientosDesdeListaDePiezasEnEstado(estado.IdsActivosPiezasOscuras, estado);
            }
            return(movimientos);
        }