Implement valid_move_seq? and perform move functions