Esempio n. 1
0
        public override ChessPiece GetPiece(int row, int column)
        {
            IPieceBehaviour UpMovement        = new BasicMovementBehaviour(0, -1, 1);
            IPieceBehaviour RightMovement     = new BasicMovementBehaviour(1, 0, 1);
            IPieceBehaviour DownMovement      = new BasicMovementBehaviour(0, 1, 1);
            IPieceBehaviour LeftMovement      = new BasicMovementBehaviour(-1, 0, 1);
            IPieceBehaviour UpRightMovement   = new BasicMovementBehaviour(1, -1, 1);
            IPieceBehaviour DownRightMovement = new BasicMovementBehaviour(1, 1, 1);
            IPieceBehaviour DownLeftMovement  = new BasicMovementBehaviour(-1, 1, 1);
            IPieceBehaviour UpLeftMovement    = new BasicMovementBehaviour(-1, -1, 1);
            IPieceBehaviour UpCapture         = new BasicCaptureBehaviour(0, -1, 1);
            IPieceBehaviour RightCapture      = new BasicCaptureBehaviour(1, 0, 1);
            IPieceBehaviour DownCapture       = new BasicCaptureBehaviour(0, 1, 1);
            IPieceBehaviour LeftCapture       = new BasicCaptureBehaviour(-1, 0, 1);
            IPieceBehaviour UpRightCapture    = new BasicCaptureBehaviour(1, -1, 1);
            IPieceBehaviour DownRightCapture  = new BasicCaptureBehaviour(1, 1, 1);
            IPieceBehaviour DownLeftCapture   = new BasicCaptureBehaviour(-1, 1, 1);
            IPieceBehaviour UpLeftCapture     = new BasicCaptureBehaviour(-1, -1, 1);
            IPieceBehaviour ShortCastle       = new CastleBehaviour(2, 0, 1, 0, 3, -2, 0);
            IPieceBehaviour LongCastle        = new CastleBehaviour(-2, 0, -1, 0, 4, 3, 0);

            IPieceBehaviour[] pieceBehaviours = new IPieceBehaviour[] { UpMovement, RightMovement, DownMovement, LeftMovement, UpRightMovement, DownRightMovement, DownLeftMovement, UpLeftMovement,
                                                                        UpCapture, RightCapture, DownCapture, LeftCapture, UpRightCapture, DownRightCapture, DownLeftCapture, UpLeftCapture, ShortCastle, LongCastle };
            return(new King(Alliance, Texture, pieceBehaviours, row, column, false, 0, this));
        }
Esempio n. 2
0
        public override ChessPiece GetPiece(int row, int column)
        {
            IPieceBehaviour UpMovement    = new BasicMovementBehaviour(0, -1, 1000000);
            IPieceBehaviour RightMovement = new BasicMovementBehaviour(1, 0, 1000000);
            IPieceBehaviour DownMovement  = new BasicMovementBehaviour(0, 1, 1000000);
            IPieceBehaviour LeftMovement  = new BasicMovementBehaviour(-1, 0, 1000000);
            IPieceBehaviour UpCapture     = new BasicCaptureBehaviour(0, -1, 1000000);
            IPieceBehaviour RightCapture  = new BasicCaptureBehaviour(1, 0, 1000000);
            IPieceBehaviour DownCapture   = new BasicCaptureBehaviour(0, 1, 1000000);
            IPieceBehaviour LeftCapture   = new BasicCaptureBehaviour(-1, 0, 1000000);

            IPieceBehaviour[] pieceBehaviours = new IPieceBehaviour[] { UpMovement, RightMovement, DownMovement, LeftMovement, UpCapture, RightCapture, DownCapture, LeftCapture };
            return(new Rook(Alliance, Texture, pieceBehaviours, row, column, false, 5, this));
        }
Esempio n. 3
0
        public override ChessPiece GetPiece(int row, int column)
        {
            IPieceBehaviour UpLeftMovement    = new BasicMovementBehaviour(-1, -1, 1000000);
            IPieceBehaviour UpRightMovement   = new BasicMovementBehaviour(1, -1, 1000000);
            IPieceBehaviour DownLeftMovement  = new BasicMovementBehaviour(-1, 1, 1000000);
            IPieceBehaviour DownRightMovement = new BasicMovementBehaviour(1, 1, 1000000);
            IPieceBehaviour UpLeftCapture     = new BasicCaptureBehaviour(-1, -1, 1000000);
            IPieceBehaviour UpRightCapture    = new BasicCaptureBehaviour(1, -1, 1000000);
            IPieceBehaviour DownLeftCapture   = new BasicCaptureBehaviour(-1, 1, 1000000);
            IPieceBehaviour DownRightCapture  = new BasicCaptureBehaviour(1, 1, 1000000);

            IPieceBehaviour[] pieceBehaviours = new IPieceBehaviour[] { UpLeftMovement, UpRightMovement, DownLeftMovement, DownRightMovement, UpLeftCapture, UpRightCapture, DownLeftCapture, DownRightCapture };

            return(new Bishop(Alliance, Texture, pieceBehaviours, row, column, false, 3, this));
        }
Esempio n. 4
0
        public override ChessPiece GetPiece(int row, int column)
        {
            int Ydirection;

            if (Alliance == Alliance.White)
            {
                Ydirection = -1;
            }
            else
            {
                Ydirection = 1;
            }
            IPieceBehaviour forwardMovement        = new BasicMovementBehaviour(0, Ydirection, 1);
            IPieceBehaviour diagonalLeftCapture    = new BasicCaptureBehaviour(-1, Ydirection, 1);
            IPieceBehaviour diagonalRightCapture   = new BasicCaptureBehaviour(1, Ydirection, 1);
            IPieceBehaviour startingDoubleMove     = new StartingMovementBehaviour(0, Ydirection * 2, 1);
            IPieceBehaviour diagonalLeftEnPassant  = new EnpassantBehaviour(-1, Ydirection, -1, 0);
            IPieceBehaviour diagonalRightEnPassant = new EnpassantBehaviour(1, Ydirection, 1, 0);

            IPieceBehaviour[] pieceBehaviours = new IPieceBehaviour[] { forwardMovement, diagonalLeftCapture, diagonalRightCapture, startingDoubleMove, diagonalLeftEnPassant, diagonalRightEnPassant };
            return(new Pawn(Alliance, Texture, pieceBehaviours, row, column, false, false, 1, this));
        }
Esempio n. 5
0
        public override ChessPiece GetPiece(int row, int column)
        {
            IPieceBehaviour UpLeftMovement    = new BasicMovementBehaviour(-1, -2, 1);
            IPieceBehaviour UpRightMovement   = new BasicMovementBehaviour(1, -2, 1);
            IPieceBehaviour RightUpMovement   = new BasicMovementBehaviour(2, -1, 1);
            IPieceBehaviour RightDownMovement = new BasicMovementBehaviour(2, 1, 1);
            IPieceBehaviour DownRightMovement = new BasicMovementBehaviour(1, 2, 1);
            IPieceBehaviour DownLeftMovement  = new BasicMovementBehaviour(-1, 2, 1);
            IPieceBehaviour LeftDownMovement  = new BasicMovementBehaviour(-2, 1, 1);
            IPieceBehaviour LeftUpMovement    = new BasicMovementBehaviour(-2, -1, 1);
            IPieceBehaviour UpLeftCapture     = new BasicCaptureBehaviour(-1, -2, 1);
            IPieceBehaviour UpRightCapture    = new BasicCaptureBehaviour(1, -2, 1);
            IPieceBehaviour RightUpCapture    = new BasicCaptureBehaviour(2, -1, 1);
            IPieceBehaviour RightDownCapture  = new BasicCaptureBehaviour(2, 1, 1);
            IPieceBehaviour DownRightCapture  = new BasicCaptureBehaviour(1, 2, 1);
            IPieceBehaviour DownLeftCapture   = new BasicCaptureBehaviour(-1, 2, 1);
            IPieceBehaviour LeftDownCapture   = new BasicCaptureBehaviour(-2, 1, 1);
            IPieceBehaviour LeftUpCapture     = new BasicCaptureBehaviour(-2, -1, 1);

            IPieceBehaviour[] pieceBehaviours = new IPieceBehaviour[] { UpLeftMovement, UpRightMovement, RightUpMovement, RightDownMovement, DownRightMovement, DownLeftMovement, LeftDownMovement, LeftUpMovement,
                                                                        UpLeftCapture, UpRightCapture, RightUpCapture, RightDownCapture, DownRightCapture, DownLeftCapture, LeftDownCapture, LeftUpCapture };

            return(new Knight(Alliance, Texture, pieceBehaviours, row, column, false, 3, this));
        }