Пример #1
0
        public static Game NewGame()
        {
            var board = new Game();

            for (int i = 1; i <= 12; i++)
            {
                board.Set(i, Tile.Black);
            }

            for (int i = 21; i <= 32; i++)
            {
                board.Set(i, Tile.White);
            }
            return(board);
        }
Пример #2
0
        public Game Move(Move move)
        {
            Tile[,] tiles = Tiles.Clone() as Tile[, ];
            var game = new Game
            {
                Tiles = tiles
            };

            if (move == null)
            {
                return(game);
            }

            if (move is Move)
            {
                var tile = game.GetTile(move.From);
                game.Set(move.From, Tile.Empty);
                game.Set(move.To, tile);
            }

            if (move is Eat)
            {
                foreach (var toEat in (move as Eat).Eaten)
                {
                    game.Set(toEat, Tile.Empty);
                }
            }

            //Make a queen
            if (move.To.Row == 7 && game.GetTile(move.To) == Tile.White)
            {
                game.Set(move.To, Tile.QueenWhite);
            }
            if (move.To.Row == 0 && game.GetTile(move.To) == Tile.Black)
            {
                game.Set(move.To, Tile.QueenBlack);
            }

            return(game);
        }