I think kings sorta work. In most cases
made the isLegal function take into account own pieces occupying squares
fixed legalMoves and accounting for blocking pieces in castling