예제 #1
0
 public Player(Quoridor.AI.Player player)
 {
     Color         = player.Color;
     NumberOfWalls = player.NumberOfWalls;
     Goals         = new List <int>();
     timeline      = new Stack <int>();
     timeline.Push(QuoridorGraph.BoardGraph.ToOneDimension(player.Position));
 }
예제 #2
0
        public static void CreatePlayer(Tile[,] tiles, Quoridor.AI.Player self, List <Quoridor.AI.Player> players)
        {
            Self        = new Player(self);
            Opponent    = new Player(players.Find(o => !o.Equals(self)));
            Self.MyTurn = true;

            for (int y = 0; y < QuoridorGraph.BOARD_SIZE; y++)
            {
                for (int x = 0; x < QuoridorGraph.BOARD_SIZE; x++)
                {
                    Color color = tiles[x, y].Color;

                    if (color == Self.Color)
                    {
                        Self.Goals.Add(QuoridorGraph.BoardSizeToOneDimension(x, y));
                    }

                    if (color == Opponent.Color)
                    {
                        Opponent.Goals.Add(QuoridorGraph.BoardSizeToOneDimension(x, y));
                    }
                }
            }
        }