/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* moves.h :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: maiboyer +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/11 16:13:08 by maiboyer #+# #+# */ /* Updated: 2024/01/11 16:18:49 by maiboyer ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef MOVES_H #define MOVES_H #include "app/element.h" #include "app/state.h" #include "me/types.h" typedef enum e_move { SWAP_A = 1 << 0, SWAP_B = 1 << 1, SWAP_BOTH = SWAP_A | SWAP_B, PUSH_A = 1 << 2, PUSH_B = 1 << 3, ROTATE_A = 1 << 4, ROTATE_B = 1 << 5, ROTATE_BOTH = ROTATE_A | ROTATE_B, REVERSE_ROTATE_A = 1 << 6, REVERSE_ROTATE_B = 1 << 7, REVERSE_ROTATE_BOTH = REVERSE_ROTATE_A | REVERSE_ROTATE_B, } t_move; void do_move(t_move m, t_state *s); #endif /* MOVES_H */