SHARE
TWEET

Untitled

a guest May 25th, 2019 54 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. double Poda_AlfaBeta(Environment estado, int jugador, int inicio, int profundidad, Environment::ActionType & accion, double alpha, double beta){
  3.     if (inicio == profundidad || estado.JuegoTerminado()){
  4.         return ValoracionTest(estado, jugador);
  5.     }
  6.  
  7.     else{
  8.         Environment::ActionType aux;
  9.         double eval;
  10.         int j = -1;
  11.         Environment hijo;
  12.  
  13.         bool *VectAct = new bool[8];
  14.         int numAcciones = estado.possible_actions(VectAct);
  15.  
  16.         if (inicio % 2 == 0){
  17.             double maxEval = menosinf;
  18.  
  19.             for (int i = 0; i < numAcciones; i++){
  20.                 hijo = estado.GenerateNextMove(j);
  21.                 eval = Poda_AlfaBeta(hijo, jugador, inicio + 1, profundidad, aux, alpha, beta);
  22.  
  23.                 if (eval > maxEval){
  24.                     maxEval = eval;
  25.                     accion = (Environment::ActionType) j;
  26.                 }
  27.  
  28.                 if (eval > alpha){
  29.                     alpha = eval;
  30.                 }
  31.  
  32.                 if (beta <= alpha){
  33.                     break;
  34.                 }
  35.             }
  36.  
  37.             return maxEval;
  38.         }
  39.  
  40.         else{
  41.             double minEval = masinf;
  42.  
  43.             for (int i = 0; i < numAcciones; i++){
  44.                 hijo = estado.GenerateNextMove(j);
  45.                 eval = Poda_AlfaBeta(hijo, jugador, inicio + 1, profundidad, aux, alpha, beta);
  46.  
  47.                 if (eval < minEval){
  48.                     minEval = eval;
  49.                     accion = (Environment::ActionType) j;
  50.                 }
  51.  
  52.                 if (eval < beta){
  53.                     beta = eval;
  54.                 }
  55.  
  56.                 if (beta <= alpha){
  57.                     break;
  58.                 }
  59.             }
  60.  
  61.             return minEval;
  62.         }
  63.     }
  64. }
  65.  
  66. */
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top