diff options
Diffstat (limited to 'include/action_list.h')
| -rw-r--r-- | include/action_list.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/include/action_list.h b/include/action_list.h new file mode 100644 index 0000000..3670114 --- /dev/null +++ b/include/action_list.h @@ -0,0 +1,21 @@ +#include <stdlib.h> +#include <stdint.h> + +#include <tak.h> + +enum A_TYPE { A_PLACE, A_MOVE }; + +typedef struct action_list_s { + struct action_list_s *next; + enum A_TYPE type; + uint8_t loc; + uint8_t data0; + uint8_t data1; +} action_list_t; + +void action_list_init(const uint8_t new_board_size); +void action_list_free(action_list_t *list); +action_list_t *action_list_generate(void); + +void action_take(action_list_t *action); +void action_undo(action_list_t *action); |
