MINIMAX( posición, profundidad, jugador)
comienzo
Si SUFICIENTE (posición, profundidad) entonces
resultado.VALOR = ESTATICA (posición, jugador);
resultado.CAMINO = NULO;
return resultado;
sino
Sucesores := GENMOV (posición, jugador);
Si EstaVacia (Sucesores) entonces
resultado.VALOR = ESTATICA (posición, jugador);
resultado.CAMINO = NULO; return resultado;
sino
resultadoMejor.VALOR = MININT; por cada sucesor de Sucesores
resultadoSucesor := MINIMAX (sucesor, profundidad+1, CONTRARIO (jugador));
Si resultadoMejor.VALOR < - resultadoSucesor.VALOR entonces
resultadoMejor.VALOR := - resultadoSucesor.VALOR;
resultadoMejor.CAMINO := sucesor + resultadoSucesor.CAMINO;
fin si;
fin por;
return resultadoMejor;
fin sino;
fin sino;
fin MINIMAX
No hay comentarios:
Publicar un comentario