MINIMAX( posición, profundidad, jugador)
comienzo
- Si SUFICIENTE (posición, profundidad) entonces
- resultado.VALOR := ESTATICA (posición, jugador);
resultado.CAMINO := NULO;
return resultado;
- Sucesores := GENMOV (posición, jugador);
Si EstaVacia (Sucesores) entonces
- resultado.VALOR := ESTATICA (posición, jugador);
resultado.CAMINO := NULO;
return resultado;
- 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;
No hay comentarios:
Publicar un comentario