Advertisement
Guest User

Untitled

a guest
Jul 25th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.01 KB | None | 0 0
  1. public class AlphaBeta
  2. {
  3.     bool MaxPlayer = true;
  4.  
  5.     public AlphaBeta()
  6.     {
  7.     }
  8.  
  9.     public int Iterate(Node node, int depth, int alpha, int beta, bool Player)
  10.     {
  11.         if (depth == 0 || node.IsTerminal(Player))
  12.         {
  13.             return node.GetTotalScore(Player);
  14.         }
  15.  
  16.         if (Player == MaxPlayer)
  17.         {
  18.             foreach (Node child in node.Children(Player))
  19.             {
  20.                 alpha = Math.Max(alpha, Iterate(child, depth - 1, alpha, beta, !Player));
  21.                 if (beta < alpha)
  22.                 {
  23.                     break;
  24.                 }
  25.  
  26.             }
  27.  
  28.             return alpha;
  29.         }
  30.         else
  31.         {
  32.             foreach (Node child in node.Children(Player))
  33.             {
  34.                 beta = Math.Min(beta, Iterate(child, depth - 1, alpha, beta, !Player));
  35.  
  36.                 if (beta < alpha)
  37.                 {
  38.                     break;
  39.                 }
  40.             }
  41.  
  42.             return beta;
  43.         }
  44.     }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement