rookCastlesTo function

Square rookCastlesTo(
  1. Side side,
  2. CastlingSide cs
)

Returns the square the rook moves to when castling.

Implementation

Square rookCastlesTo(Side side, CastlingSide cs) => switch (side) {
      Side.white => switch (cs) {
          CastlingSide.queen => Square.d1,
          CastlingSide.king => Square.f1,
        },
      Side.black => switch (cs) {
          CastlingSide.queen => Square.d8,
          CastlingSide.king => Square.f8,
        },
    };