public static char?ToChar(this PieceCode pieceCode) { switch (pieceCode) { case PieceCode.None: return(null); case PieceCode.N: return('N'); case PieceCode.B: return('B'); case PieceCode.R: return('R'); case PieceCode.Q: return('Q'); case PieceCode.K: return('K'); default: throw new InvalidOperationException("Unknown PieceCode"); } }
public static string GetName(this PieceCode pieceCode) { switch (pieceCode) { case PieceCode.None: return("pawn"); case PieceCode.N: return("Knight"); case PieceCode.B: return("Bishop"); case PieceCode.R: return("Rook"); case PieceCode.Q: return("Queen"); case PieceCode.K: return("King"); default: throw new InvalidOperationException("Unknown PieceCode"); } }
public bool HasThisPieceOn(Square square, PieceCode pieceCode) { return(!IsEmptyAt(square) && GetPieceOn(square).Code == pieceCode); }
public Move(PieceCode pieceCode, StartSquare startSquare, DestinationSquare destinationSquare) { PieceCode = pieceCode; StartSquare = startSquare; DestinationSquare = destinationSquare; }