nice'
authorMart Lubbers <mart@martlubbers.net>
Thu, 24 Mar 2016 18:36:46 +0000 (19:36 +0100)
committerMart Lubbers <mart@martlubbers.net>
Thu, 24 Mar 2016 18:36:46 +0000 (19:36 +0100)
modelchecker/main.c
modelchecker/sokoban.c

index 409f506..56fb6bd 100644 (file)
@@ -39,18 +39,18 @@ void solve(FILE *inputstream){
 
        time_start_read = clock();
        struct sokoban_screen *screen = parse_screen(inputstream);
-        while(screen != NULL){
-            switch(screen->tile){
-            case FREE: printf("x = %d y = %d tile = %s\n", screen->x, screen->y, "FREE");break;
-            case WALL: printf("x = %d y = %d tile = %s\n", screen->x, screen->y, "WALL");break;
-            case BOX: printf("x = %d y = %d tile = %s\n", screen->x, screen->y, "BOX");break;
-            case TARGET: printf("x = %d y = %d tile = %s\n", screen->x, screen->y, "TARGET");break;
-            case AGENT: printf("x = %d y = %d tile = %s\n", screen->x, screen->y, "AGENT");break;
-            case TARGAGENT: printf("x = %d y = %d tile = %s\n", screen->x, screen->y, "TARGAGENT");break;
-            case TARGBOX: printf("x = %d y = %d tile = %s\n", screen->x, screen->y, "TARGBOX");break;
-            }
-            screen = screen->next;
-            }
+       while(screen != NULL){
+               switch(screen->tile){
+               case FREE: printf("x = %d y = %d tile = %s\n", screen->x, screen->y, "FREE");break;
+               case WALL: printf("x = %d y = %d tile = %s\n", screen->x, screen->y, "WALL");break;
+               case BOX: printf("x = %d y = %d tile = %s\n", screen->x, screen->y, "BOX");break;
+               case TARGET: printf("x = %d y = %d tile = %s\n", screen->x, screen->y, "TARGET");break;
+               case AGENT: printf("x = %d y = %d tile = %s\n", screen->x, screen->y, "AGENT");break;
+               case TARGAGENT: printf("x = %d y = %d tile = %s\n", screen->x, screen->y, "TARGAGENT");break;
+               case TARGBOX: printf("x = %d y = %d tile = %s\n", screen->x, screen->y, "TARGBOX");break;
+               }
+               screen = screen->next;
+       }
        //parse_screen(inputstream);
        time_end_read = clock();
 
index 1abda09..9d42daf 100644 (file)
@@ -1,38 +1,38 @@
 #include <stdio.h>
 #include <stdlib.h>
-#include "sokoban.h"
 
+#include "sokoban.h"
 
-//Still need to remove outside walls
+//Still need to remove outside walls and unreachable places.
 struct sokoban_screen *parse_screen(FILE *stream){
-    int buffer, x, y;
-    x = 0;
-    y = 0;
-    struct sokoban_screen *head, *current;
-    head = NULL;
-    while((buffer = fgetc(stream)) != EOF){
-        if (buffer == '\n'){
-            x = 0;
-            y++;
-        }
-        else {
-            current = (struct sokoban_screen *)malloc(sizeof(struct sokoban_screen));
-            current->next = head;
-            switch(buffer) {
-                case ' ' : current->tile = FREE; break;
-                case '@' : current->tile = AGENT; break;
-                case '.' : current->tile = TARGET; break;
-                case '#' : current->tile = WALL; break;
-                case '$' : current->tile = BOX; break;
-                case '*' : current->tile = TARGBOX; break;
-                case '+' : current->tile = TARGAGENT; break;
-                default: return NULL;
-            }
-            current->x = x;
-            current->y = y;
-            x++;
-            head = current;
-        }
-    }
-    return head;
- }
+       int buffer, x, y;
+       x = 0;
+       y = 0;
+       struct sokoban_screen *head, *current;
+       head = NULL;
+       while((buffer = fgetc(stream)) != EOF){
+               if (buffer == '\n'){
+                       x = 0;
+                       y++;
+               }
+               else {
+                       current = (struct sokoban_screen *)malloc(sizeof(struct sokoban_screen));
+                       current->next = head;
+                       switch(buffer) {
+                               case ' ' : current->tile = FREE; break;
+                               case '@' : current->tile = AGENT; break;
+                               case '.' : current->tile = TARGET; break;
+                               case '#' : current->tile = WALL; break;
+                               case '$' : current->tile = BOX; break;
+                               case '*' : current->tile = TARGBOX; break;
+                               case '+' : current->tile = TARGAGENT; break;
+                               default: return NULL;
+                       }
+                       current->x = x;
+                       current->y = y;
+                       x++;
+                       head = current;
+               }
+       }
+       return head;
+}