diff options
| author | tslil clingman <tslil@posteo.de> | 2021-01-26 17:42:53 -0500 |
|---|---|---|
| committer | tslil <tslil@posteo.de> | 2026-08-28 19:37:41 +0100 |
| commit | de4f20f28afe23ecfc546ad242e5bb44710996cc (patch) | |
| tree | 32cd0cf0757327cee4ee4d4631920284d54816f3 /include/actions.h | |
| parent | d45db690ce92cb2c847175cfd9ac497f3dd40cea (diff) | |
Storing best moves!
Diffstat (limited to 'include/actions.h')
| -rw-r--r-- | include/actions.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/include/actions.h b/include/actions.h new file mode 100644 index 0000000..661f11e --- /dev/null +++ b/include/actions.h @@ -0,0 +1,33 @@ +#ifndef ACTIONS_H +#define ACTIONS_H + +#include <stdlib.h> +#include <stdint.h> + +#include <tak.h> + +enum A_TYPE { A_PLACE, A_MOVE }; + +typedef uint32_t action_t; + +typedef struct action_node_s { + struct action_node_s *next; + action_t action; +} action_node_t; + +typedef struct action_list_s { + struct action_node_s *head, *tail; + uint32_t length; +} action_list_t; + +void action_list_init(void); +void action_list_free(action_list_t *list); +action_list_t *action_list_generate(void); +int action_move_to_front(const action_t action, action_list_t *list); + +void action_take(const action_t action); +void action_undo(const action_t action); + +void action_to_ptn(const action_t action, char* out_ptn); + +#endif |
