getCastlingRights method

String getCastlingRights()

Implementation

String getCastlingRights() {
  String rights = "";

  // White castling rights:
  if (!MoveValidator.hasLostCastlingRights(this, PieceColor.white, true)) {
    rights += "K"; // White king-side available
  }
  if (!MoveValidator.hasLostCastlingRights(this, PieceColor.white, false)) {
    rights += "Q"; // White queen-side available
  }

  // Black castling rights:
  if (!MoveValidator.hasLostCastlingRights(this, PieceColor.black, true)) {
    rights += "k"; // Black king-side available
  }
  if (!MoveValidator.hasLostCastlingRights(this, PieceColor.black, false)) {
    rights += "q"; // Black queen-side available
  }

  return rights.isEmpty ? "-" : rights;
}