aboutsummaryrefslogtreecommitdiff
path: root/include/action_list.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/action_list.h')
-rw-r--r--include/action_list.h21
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);