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); }
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); }