#include #include #include #include #include #include #define MAXCOLS 256 #define MAXROWS 256 /* Data type: Labyrinth - ASCII map, costs, direction */ typedef struct labyrinth { char lab[MAXCOLS+2][MAXROWS]; long costs[MAXCOLS][MAXROWS]; long bestx[MAXCOLS][MAXROWS]; long besty[MAXCOLS][MAXROWS]; int maxrow; int startx; int starty; int treasurex; int treasurey; }LabCell, *Lab_p; //prototypes Lab_p LabRead(File* in); int main(int argc, char* argv[]) { FILE *in = stdin; Lab_p lab = NULL, handle; char* inp; if(argc > 2) { fprintf(stderr, "Usage: %s []\n", argv[0]); exit(EXIT_FAILURE); } if(argc == 2) { in = fopen(argv[1], "r"); if(!in) { perror(argv[0]); exit(EXIT_FAILURE); } } lab LabRead(in); return 0; } Lab_p LabRead(File* in) { int x,y = 0; char value; Lab_p map = malloc(LabCell); while(*in) { while(value = fgetc(*in) != "\n") { map->lab[x] = value; } } } }