/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* moves.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: maiboyer +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/01/11 16:17:26 by maiboyer #+# #+# */ /* Updated: 2024/01/11 16:31:56 by maiboyer ### ########.fr */ /* */ /* ************************************************************************** */ #include "app/moves.h" #include "app/element.h" #include "app/state.h" void push_a(t_state *s); void push_b(t_state *s); void swap_a(t_state *s); void swap_b(t_state *s); void rotate_a(t_state *s); void rotate_b(t_state *s); void rev_rotate_a(t_state *s); void rev_rotate_b(t_state *s); void do_move(t_move m, t_state *s) { if (m & PUSH_A) push_a(s); if (m & PUSH_B) push_b(s); if (m & SWAP_A) swap_a(s); if (m & SWAP_B) swap_b(s); if (m & ROTATE_A) rotate_a(s); if (m & ROTATE_B) rotate_b(s); if (m & REVERSE_ROTATE_A) rev_rotate_a(s); if (m & REVERSE_ROTATE_B) rev_rotate_b(s); }