Beispiel #1
0
 public void Set(Position p, int val)
 {
     this.p = new Position();
     this.p.x = p.x;
     this.p.y = p.y;
     this.val = val;
 }
Beispiel #2
0
 public State(Position p, int val)
 {
     this.p = new Position();
     this.p.x = p.x;
     this.p.y = p.y;
     this.val = val;
 }
Beispiel #3
0
 public AI(int size, int ai)
 {
     n = size;
     rand = new Random();
     Val = new int[n, n];
     _branch = 3;
     maxdepth = ai;
     prevp = new Position(-1, -1);
     currp = new Position(-1, -1);
 }
Beispiel #4
0
 public AI(int size, int ai,bool zingLaw)
 {
     n = size;
     this.zingLaw = zingLaw;
     rand = new Random();
     Val = new int[n, n];
     _branch = 3;
     maxdepth = ai;
     prevp = new Position(-1, -1);
     currp = new Position(-1, -1);
 }
 private void UpdateGraphic(Position p)
 {
     //MessageBox.Show("i = " + p.x + "j= " + p.y);
     Rectangle rc = new Rectangle(p.y * CELL_SIZE, (p.x+1) * CELL_SIZE, CELL_SIZE+1, CELL_SIZE + 1);
     Invalidate(rc);
 }
 private void UpdateGr4phic(Position p)
 {
     Rectangle rc = new Rectangle(p.y * CELL_SIZE+1, (p.x+1) * CELL_SIZE-1, CELL_SIZE-2 , CELL_SIZE-2 );
     Invalidate(rc);
 }
Beispiel #7
0
 private State GetMaxNode()
 {
     Position p = new Position(0, 0);
     List<State> list = new List<State>();
     int t = -INT_MAX;
     for (int i = 0; i < n; i++)
         for (int j = 0; j < n; j++)
         {
             if (t < Val[i, j])
             {
                 t = Val[i, j];
                 p.Set(i, j);
                 list.Clear();
                 list.Add(new State(p, t));
             }
             else if (t == Val[i, j])
             {
                 p.Set(i, j);
                 list.Add(new State(p, t));
             }
         }
     for (int i = 0; i < list.Count; i++)
     {
         Val[list[i].p.x, list[i].p.y] = 0;
         //Console.WriteLine("{0}-{1}", list[i].p.x, list[i].p.y);
     }
     //Console.WriteLine("----");
     int x = rand.Next(0, list.Count);
     //Val[list[x].p.x, list[x].p.y] = 0;
     return list[x];
 }
Beispiel #8
0
 public Step(Position pp, char cc)
 {
     CurrentPlayer = cc;
     p = new Position();
     p.Set(pp);
 }
Beispiel #9
0
 public Step()
 {
     p = new Position(-1, -1);
     CurrentPlayer = ' ';
 }
Beispiel #10
0
 public void Set(Position p)
 {
     x = p.x; y = p.y;
 }