Advertisement
Guest User

Untitled

a guest
May 25th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  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. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement