Implement all chess rules for tryMove, except en passant, castling and check.