helper maps
[mc1516pa.git] / modelchecker / main.c
index 1fd9e93..02cda40 100644 (file)
@@ -7,6 +7,8 @@
 #include <sylvan.h>
 
 #include "sokoban.h"
+#include "coord.h"
+#include "object.h"
 
 #define ERRPRINT(fmt, as...) fprintf(stderr, fmt, ## as);
 #define DPRINT(fmt, as...) if(DEBUG) ERRPRINT(fmt, ## as);
@@ -47,32 +49,33 @@ void solve(FILE *inputstream)
        sokoban_screen *screen = parse_screen(inputstream);
        if (screen == NULL) printf("Something went wrong...\n");
        sokoban_print(screen);
-       sokoban_free(screen);
 
        time_end_read = clock();
        time_start_encode = clock();
-       
+
        lace_init(0, 1000000);
        lace_startup(0, NULL, NULL);
        LACE_ME;
     sylvan_init_package(1LL<<21, 1LL<<27, 1LL<<20, 1LL<<26);
     sylvan_init_bdd(6);
-       
-       //ENCODE???
        switch(strat){
                case COORD:
                        DPRINT("Encoding coordinate based\n");
+                       encode_screen(screen);
                        break;
                case OBJECT:
                        DPRINT("Encoding object based\n");
+                       solve_object(screen);
                        break;
                case HYBRID:
                        DPRINT("Encoding hybrid based\n");
+                       DPRINT("Not implemented yet...\n");
                        break;
                default:
                        ERRPRINT("Huh?");
                        exit(2);
        }
+       sokoban_free(screen);
        time_end_encode = clock();
 
        //SOLVE???