X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=modelchecker%2Fsokoban.h;h=30466e37b437a93aeb81c678f3716b62b8436cdc;hb=59b2b66a7c7b6585ebd30e8c530b9f826bcc70e9;hp=95dc079ad30738974a8e9e821052d3f0959b3671;hpb=f73ed5bf4ad9769bcf39e00d6896ae8e7085126a;p=mc1516pa.git diff --git a/modelchecker/sokoban.h b/modelchecker/sokoban.h index 95dc079..30466e3 100644 --- a/modelchecker/sokoban.h +++ b/modelchecker/sokoban.h @@ -1,15 +1,26 @@ #ifndef SOKOBAN_H #define SOKOBAN_H +#include "uthash.h" typedef enum {FREE, WALL, BOX, TARGET, AGENT, TARGAGENT, TARGBOX} sokoban_tile; -struct sokoban_screen { +typedef struct { int x; int y; +} record_key; + +typedef struct { + record_key coord; sokoban_tile tile; - sokoban_screen *next; -}; + UT_hash_handle hh; +} sokoban_screen; + +sokoban_screen *parse_screen(FILE *stream); + +sokoban_screen *get_coord(int x, int y, sokoban_screen *screen); + +void sokoban_print(sokoban_screen *screen); -sokoban_screen *parse(FILE *stream); +void sokoban_free(sokoban_screen *screen); #endif