37 lines
1.3 KiB
C
37 lines
1.3 KiB
C
/* ************************************************************************** */
|
|
/* */
|
|
/* ::: :::::::: */
|
|
/* moves.h :+: :+: :+: */
|
|
/* +:+ +:+ +:+ */
|
|
/* By: maiboyer <maiboyer@student.42.fr> +#+ +:+ +#+ */
|
|
/* +#+#+#+#+#+ +#+ */
|
|
/* 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 */
|