Example #1
0
 public override Amazons.Move YourTurn()
 {
     Amazons.Move move = new Amazons.Move();
     List<List<int>> board = Owner.GetBoard_Simple();
     foreach(var pawn in Owner.Pawns) {
         for (int x = -1; x < 2; x++) {
             for (int y = -1; y < 2; y++) {
                 if(CheckOutOfBounds(new Point(pawn.Position.X + x, pawn.Position.Y + y))) {
                     if (board[pawn.Position.X + x][pawn.Position.Y + y] == 0) {
                         move.ID = pawn.ID;
                         move.MoveTo = new Point(pawn.Position.X + x, pawn.Position.Y + y);
                         board[move.MoveTo.X][move.MoveTo.Y] = 1;
                         board[pawn.Position.X][pawn.Position.Y] = 0;
                         for (int x2 = -1; x2 < 2; x2++) {
                             for (int y2 = -1; y2 < 2; y2++) {
                                 if (CheckOutOfBounds(new Point(move.MoveTo.X + x2, move.MoveTo.Y + y2))) {
                                     if (board[move.MoveTo.X + x2][move.MoveTo.Y + y2] == 0) {
                                         move.ShootTo = new Point(move.MoveTo.X + x2, move.MoveTo.Y + y2);
                                         return move;
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     rand = new System.Random();
     move.ID = rand.Next(0, Owner.Pawns.Count - 1);
     move.MoveTo = new Point(Owner.Pawns[move.ID].Position.X + 1, Owner.Pawns[move.ID].Position.Y + 1);
     move.ShootTo = new Point(Owner.Pawns[move.ID].Position.X, Owner.Pawns[move.ID].Position.Y);
     return move;
     //return new Amazons.Move();
 }
Example #2
0
        override public Amazons.Move YourTurn()
        {
            Amazons.Move       move  = new Amazons.Move();
            List <List <int> > board = Owner.GetBoard_Simple();

            foreach (var pawn in Owner.Pawns)
            {
                for (int x = -1; x < 2; x++)
                {
                    for (int y = -1; y < 2; y++)
                    {
                        if (CheckOutOfBounds(new Point(pawn.Position.X + x, pawn.Position.Y + y)))
                        {
                            if (board[pawn.Position.X + x][pawn.Position.Y + y] == 0)
                            {
                                move.ID     = pawn.ID;
                                move.MoveTo = new Point(pawn.Position.X + x, pawn.Position.Y + y);
                                board[move.MoveTo.X][move.MoveTo.Y]     = 1;
                                board[pawn.Position.X][pawn.Position.Y] = 0;
                                for (int x2 = -1; x2 < 2; x2++)
                                {
                                    for (int y2 = -1; y2 < 2; y2++)
                                    {
                                        if (CheckOutOfBounds(new Point(move.MoveTo.X + x2, move.MoveTo.Y + y2)))
                                        {
                                            if (board[move.MoveTo.X + x2][move.MoveTo.Y + y2] == 0)
                                            {
                                                move.ShootTo = new Point(move.MoveTo.X + x2, move.MoveTo.Y + y2);
                                                return(move);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            rand         = new System.Random();
            move.ID      = rand.Next(0, Owner.Pawns.Count - 1);
            move.MoveTo  = new Point(Owner.Pawns[move.ID].Position.X + 1, Owner.Pawns[move.ID].Position.Y + 1);
            move.ShootTo = new Point(Owner.Pawns[move.ID].Position.X, Owner.Pawns[move.ID].Position.Y);
            return(move);
            //return new Amazons.Move();
        }