#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