#include #include #include #include void readPlayer(char *arr); void readZombie(char *arr); void readTreasure(char *arr); // global array for maze char **maze; // read maze file in to the array void readMaze(char *arr, int r, int c); int main(int argc, char *argv[]) { FILE* mazeFile; /* Maze Input File */ char chold; /* Holds character for line input from file */ int row; /* Holds number of rows for input from file */ int col; /* Holds number of cols for input from file */ char shold[2000]; /* Holds lines for input from file */ int l; int k; int c1; int c2; if (argc != 2) { printf("An error has ocurred no input file was given.\n"); return 1; } mazeFile = fopen(argv[1], "r"); if (mazeFile == NULL) { printf("Error in opening the file.\n"); return 1; } fgets(shold, 2, mazeFile); while ( !feof(mazeFile) ) { switch(shold[0]) { case 'M': //printf ("Maze encountered\n"); fscanf(mazeFile, "%d %d", &row, &col); // printf("%d\n", row); // possible dynamic allocation of 2D array // dynamic allocation of array for maze int i = 0, j = 0; maze = malloc(row * sizeof(char *)); for(i = 0; i < row; i++) { maze[i] = malloc(col * sizeof(char)); } for (i = 0; i < row; i++) { for (j = 0; j < col; j++) { //fscanf(mazeFile, "%c", &chold); fscanf(mazeFile, "%c", &maze[i][j]); if (maze[i][j] == '\n') { printf ("\n"); fscanf(mazeFile, "%c", &maze[i][j]); } printf("%c", maze[i][j]); } } // printf("%c", maze[0 * col + 0]); // for(i = 0; i < row; i++) //{ // free(maze[i]); //} // free(maze); // int (*maze)[col] = malloc(sizeof(int[row][col])); //readMaze(maze, row, col); break; case 'P': //case for player //printf ("Player\n"); fscanf(mazeFile, "%d %d", &k, &l); maze[k][l] = 'P'; printf("%c" , maze[k][l]); //printf("%d\n", row); // possible dynamic allocation of 2D array // char* player = malloc((row * col) * sizeof(char)); // readPlayer(player); break; case 'Z': //case for zombie printf ("Zombie\n"); fscanf(mazeFile, "%d %d", &row, &col); printf("%d\n", row); // possible dynamic allocation of 2D array // char* zombie = malloc((row * col) * sizeof(char)); // readZombie(zombie); break; case 'T': //case for treasure printf ("Treasure\n"); fscanf(mazeFile, "%d %d", &row, &col); printf("%d\n", row); // possible dynamic allocation of 2D array // char* treasure = malloc((row * col) * sizeof(char)); // readTreasure(treasure); break; case '\n': printf("\n"); break; default: //printf ("Basic error\n"); break; }; // for(int i=0;i