Ejemplo n.º 1
0
        public DefaultMoveExecutor(string board, string newMove, Turn turn,
            GameState gameState, string whiteKingPosition, string blackKingPosition, string lastMove,
            bool whiteCanCastleKingSide, bool whiteCanCastleQueenSide, bool blackCanCastleKingSide,
            bool blackCanCastleQueenSide)
        {
            FieldPosition whiteKing = FieldPosition.ParsePosition(whiteKingPosition);
            FieldPosition blackKing = FieldPosition.ParsePosition(blackKingPosition);

            this.oldState = new BoardModel(GetBoard(board), turn, gameState, whiteKing, blackKing,
                whiteCanCastleKingSide, whiteCanCastleQueenSide, blackCanCastleKingSide, blackCanCastleQueenSide);

            this.newState = new BoardModel(GetBoard(board), turn, gameState, whiteKing, blackKing,
                whiteCanCastleKingSide, whiteCanCastleQueenSide, blackCanCastleKingSide, blackCanCastleQueenSide);

            // Parse new move
            string[] splt = newMove.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
            this.source = FieldPosition.ParsePosition(splt[0]);
            this.dest = FieldPosition.ParsePosition(splt[1]);

            if (lastMove != null)
            {
                // Parse last move
                splt = lastMove.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
                this.lastMoveSource = FieldPosition.ParsePosition(splt[0]);
                this.lastMoveDest = FieldPosition.ParsePosition(splt[1]);
            }

            this.sourcePiece = this.newState.Board[source.Row, source.Col];
        }
Ejemplo n.º 2
0
 public BoardModel(char[,] board, Turn turn, GameState gameState,
     FieldPosition whiteKingPosition, FieldPosition blackKingPosition,
     bool whiteCanCastleKingSide, bool whiteCanCastleQueenSide,
     bool blackCanCastleKingSide, bool blackCanCastleQueenSide)
 {
     this.Board = board;
     this.Turn = turn;
     this.GameState = gameState;
     this.WhiteKingPosition = whiteKingPosition;
     this.BlackKingPosition = blackKingPosition;
     this.WhiteCanCastleKingSide = whiteCanCastleKingSide;
     this.WhiteCanCastleQueenSide = whiteCanCastleQueenSide;
     this.BlackCanCastleKingSide = blackCanCastleKingSide;
     this.BlackCanCastleQueenSide = blackCanCastleQueenSide;
 }