chess_engine Move Generation: If King is in check find all legal moves. 1a. If no king moves -> is checkmate. Find pinned pieces. Find all legal moves for non-pinned pieces.