| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <stdbool.h>
- #include <limits.h>
- #include <assert.h>
- #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 [<file>]\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;
- }
- }
- }
- }
|