screen shrinking done
[mc1516pa.git] / modelchecker / sokoban.h
index 95dc079..30466e3 100644 (file)
@@ -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