public GamePiece(Player player, BoardSquare boardSquare) { PlayerRelevance = player; PlayerRelevance.PiecesBelongsToPlayer.Add(this); ContainingSquare = boardSquare; ContainingSquare.ContainedPiece = this; }
public Rook(Player player, BoardSquare square) : base(player, square) { strategy = new MoveStrategy(this, true, Tuple.Create(1, 0), Tuple.Create(0, -1), Tuple.Create(-1, 0), Tuple.Create(0, 1) ); }
private GameBoard() { Board = new BoardSquare[8, 8]; for (int i = 0; i < 8; i++) { for (int j = 0; j < 8; j++) { Board[i, j] = new BoardSquare(i, j, this); } } }
public Knight(Player player, BoardSquare square) : base(player, square) { strategy = new MoveStrategy(this, false, Tuple.Create(2, 1), Tuple.Create(2, -1), Tuple.Create(-2, 1), Tuple.Create(-2, -1), Tuple.Create(1, 2), Tuple.Create(-1, 2), Tuple.Create(1, -2), Tuple.Create(-1, -2) ); }
public King(Player player, BoardSquare square) : base(player, square) { strategy = new MoveStrategy(this, false, Tuple.Create(1, 1), Tuple.Create(1, 0), Tuple.Create(1, -1), Tuple.Create(0, -1), Tuple.Create(-1, -1), Tuple.Create(-1, 0), Tuple.Create(-1, 1), Tuple.Create(0, 1) ); }
public static BoardSquare[,] Flip(BoardSquare[,] board) { if (board.GetLength(0) != 8 || board.GetLength(1) != 8) { throw new Exception("board is not in the right size"); } BoardSquare[,] outBoard = new BoardSquare[8, 8]; for (int j = 0; j < 8; j++) { for (int i = 0; i < 8; i++) { outBoard[i, j] = board[i, 7 - j]; outBoard[i, j].LocationOnBoard = board[i, 7 - j].LocationOnBoard; } } return(outBoard); }
public Pawn(Player player, BoardSquare square) : base(player, square) { strategy = new PawnStrategy(this); }