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