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);
     }
 }
Пример #10
0
 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);
     }
 }
Пример #15
0
 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);
     }
 }
Пример #16
0
        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);
            }
        }
Пример #17
0
        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);
            }
        }
Пример #18
0
        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);
        }
Пример #19
0
        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);
        }