public void AddFigureToBoard(IPlayer firstPlayser, IPlayer secondPlayer, IBoard board, string fen) { var splitedFen = fen.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries); var index = 0; for (int row = splitedFen.Length - 1; row >= 0; row--) { var currentRow = this.MakeRow(splitedFen[row]); for (int col = 0; col < currentRow.Length; col++) { if (currentRow[col] == Pown) { var pawn = new Pawn(secondPlayer.Color); secondPlayer.AddFigure(pawn); var position = new Position(index + 1, (char)(col + 'a')); board.AddFigure(pawn, position); } else if (currentRow[col] == King) { var figureInstance = new King(firstPlayser.Color); firstPlayser.AddFigure(figureInstance); var position = new Position(index + 1, (char)(col + 'a')); board.AddFigure(figureInstance, position); } } index++; } }
private void AddKingToBoardRow(IPlayer player, IBoard board, int chessRow, char chessCol) { var figureInstance = new King(player.Color); player.AddFigure(figureInstance); var position = new Position(chessRow, chessCol); board.AddFigure(figureInstance, position); }
private void AddPawnsToBoardRow(IPlayer player, IBoard board, int chessRow) { for (int i = 0; i < GlobalConstants.StandartGameTotalBoardCols - 2; i += 2) { var pawn = new Pawn(player.Color); player.AddFigure(pawn); var position = new Position(chessRow, (char)(i + 'a')); board.AddFigure(pawn, position); } // TODO: Remove //// For testing only //var pawn = new Pawn(player.Color); //player.AddFigure(pawn); //var position = new Position(8, (char)(0 + 'a')); //board.AddFigure(pawn, position); //pawn = new Pawn(player.Color); //player.AddFigure(pawn); //position = new Position(8, (char)(2 + 'a')); //board.AddFigure(pawn, position); //pawn = new Pawn(player.Color); //player.AddFigure(pawn); //position = new Position(8, (char)(4 + 'a')); //board.AddFigure(pawn, position); //pawn = new Pawn(player.Color); //player.AddFigure(pawn); //position = new Position(6, (char)(4 + 'a')); //board.AddFigure(pawn, position); }
private void AddPawnsToBoardRow(IPlayer player, IBoard board, int chessRow) { for (int i = 0; i < BOARD_SIZE; i++) { var pawn = new Pawn(player.Color); player.AddFigure(pawn); board.AddFigure(pawn, new Position(chessRow, (char)(i + 'a'))); } }
private void AddPawnsToBoardRow(IPlayer player, IBoard board, int chessRow) { for (int i = 0; i < BoardTotalRowsAndCols; i++) { var pawn = new Pawn(player.Color); player.AddFigure(pawn); var position = new Position(chessRow, (char)(i + 'a')); board.AddFigure(pawn, position); } }
private void AddPawnsToBoardRow(IPlayer player, IBoard board, int chessRow) { for (int i = 0; i < GlobalConstants.StandartGameTotalBoardCols; i++) { var pawn = new Pawn(player.Color); player.AddFigure(pawn); var position = new Position(chessRow, (char)(i + 'a')); board.AddFigure(pawn, position); } }
private void AddPawnsToBoardRow(IPlayer player, IBoard board, int chessRow) { for (int i = 0; i < BoardTotalRowsAndCols; i++) { var pawn = new Pawn(player.Color); player.AddFigure(pawn); var position = new Position(chessRow, (char)(i + 'a')); board.AddFigure(pawn, position); } }
private void PlacePeice(int pos, Type gamepeice, IPlayer player, IBoard board, int chessRow) { var figureType = gamepeice; var figureInstance = (IFigure)Activator.CreateInstance(figureType, player.Color); player.AddFigure(figureInstance); var position = new Position(chessRow, (char)(pos + 'a')); board.AddFigure(figureInstance, position); }
private void AddSpecialFigures(IPlayer player, IChessboard board, int row) { for (int i = 0; i < figureTypes.Length; i++) { var figure = (IFigure)Activator.CreateInstance(figureTypes[i], player.Color); player.AddFigure(figure); var position = new Position(row, i); board.AddFigure(figure, position); } }
private void AddArmyToBoardRow(IPlayer player, IBoard board, int chessRow) { for (int i = 0; i < BOARD_SIZE; i++) { var figureType = this.figureTypes[i]; var figureEntity = (IFigure)Activator.CreateInstance(figureType, player.Color); player.AddFigure(figureEntity); board.AddFigure(figureEntity, new Position(chessRow, (char)(i + 'a'))); } }
private void AddPawns(IPlayer player, IChessboard board, int row) { for (int i = 0; i < 8; i++) { var pawn = new Pawn(player.Color); player.AddFigure(pawn); var position = new Position(row, i); board.AddFigure(pawn, position); } }
private void AddArmyToBoardRow(IPlayer player, IBoard board, int chessRow) { for (int i = 0; i < BoardTotalRowsAndCols; i++) { var figureType = this.figureTypes[i]; var figureInstance = (IFigure)Activator.CreateInstance(figureType, player.Color); player.AddFigure(figureInstance); var position = new Position(chessRow, (char)(i + 'a')); board.AddFigure(figureInstance, position); } }
private void InitializePawns(IPlayer player, IBoard board, int chessRow) { for (int i = 0; i < BoradTotalRowsCols; i++) { Pawn pawn = new Pawn(player.Color); player.AddFigure(pawn); var position = new Position(chessRow, (char)(i + 'a')); board.AddFigure(pawn, position); } }
private void AddArmyToBoardRow(IPlayer player, IBoard board, int chessRow) { for (int i = 0; i < GlobalConstants.StandartGameTotalBoardCols; i++) { var figureType = this.figureTypes[i]; var figureInstance = (IFigure)Activator.CreateInstance(figureType, player.Color); player.AddFigure(figureInstance); var position = new Position(chessRow, (char)(i + 'a')); board.AddFigure(figureInstance, position); } }
private void AddArmyToBoardRow(IPlayer player, IBoard board, int chessRow) { for (var i = 0; i < BOARD_TOTAL_ROWS_AND_COLS; i++) { var figureType = this._figureTypes[i]; var figureInstance = (IFigure)Activator.CreateInstance(figureType, player.Color); player.AddFigure(figureInstance); var chessCol = (char)(i + 'a'); var position = new Position(chessRow, chessCol); board.AddFigure(figureInstance, position); } }
private void AddPawnsToBoardRow(IPlayer player, IBoard board, int chessRow) { for (var i = 0; i < BOARD_TOTAL_ROWS_AND_COLS; i++) { var chessCol = (char)(i + 'a'); var pawn = new Pawn(player.Color); player.AddFigure(pawn); var position = new Position(chessRow, chessCol); board.AddFigure(pawn, position); } }
private void AddPawnsToBoardRow(IPlayer player, IBoard board, int chessRow) { if (chessRow > BoardTotalRowsAndCols || chessRow < 1) { throw new Exception("Chess row out of bounds!"); } for (int i = 0; i < BoardTotalRowsAndCols; i++) { var pawn = new Pawn(player.Color); player.AddFigure(pawn); var position = new Position(chessRow, (char)(i + 'a')); board.AddFigure(pawn, position); } }
private void MoveRookCastle(Move move, IPlayer attacker) { var isLongCastle = move.From.Col > move.To.Col; var rookRow = move.From.Row; var rookFromCol = isLongCastle ? 0 : 7; var rookToCol = isLongCastle ? move.From.Col - 1 : move.From.Col + 1; var rook = this.gameBoard.SeeFigureOnPosition(rookRow, rookFromCol); var rookFromPosition = new Position(rookRow, rookFromCol); var rookToPosition = new Position(rookRow, rookToCol); var rookMove = new Move(rookFromPosition, rookToPosition); this.MoveFigures(rookMove, rook); attacker.RemoveFigure(rookMove.From); attacker.AddFigure(rookMove.To, rook); }
private void MoveRookCastle(Move move, IPlayer attacker) { var isLongCastle = move.From.Col > move.To.Col; var rookRow = move.From.Row; var rookFromCol = isLongCastle ? 0 : 7; var rookToCol = isLongCastle ? move.From.Col - 1 : move.From.Col + 1; var rook = this.gameBoard.SeeFigureOnPosition(rookRow, rookFromCol); var rookFromPosition = new Position(rookRow, rookFromCol); var rookToPosition = new Position(rookRow, rookToCol); var rookMove = new Move(rookFromPosition, rookToPosition); this.MoveFigures(rookMove, rook); attacker.RemoveFigure(rookMove.From); attacker.AddFigure(rookMove.To, rook); }