void mirror_link (struct level *l, int room, enum dir dir0, enum dir dir1) { int r0 = roomd (l, room, dir0); int r1 = roomd (l, room, dir1); link_room (l, room, r0, dir1); link_room (l, room, r1, dir0); }
int main(int ac, char **av) { int v; t_map map; t_graph **pile; if (ac != 2) return (1); if (load_map(&map, av[1]) == -1 || create_graph(&map) == -1 || link_room(&map) == -1) return (1); if ((pile = malloc(sizeof(t_graph *))) == NULL) return (1); *pile = NULL; if ((v = search_path(map.start, map.end, &pile)) == 0) { printf("No solution found\n"); return (1); } else if (v == -1) return (2); set_path(map.end); show_map(&map); free(pile); free_all(&map); return (0); }
int main(int argc, char* argv[]) { FILE* in = NULL; FILE* out = fopen("castle.out", "w"); int i, j; if(argc == 2) in = fopen(argv[1], "r"); else in = fopen("castle.in", "r"); fscanf(in, "%d %d", &M, &N); init(); for(i = 0; i < N; ++i) for(j = 0; j < M; ++j) { fscanf(in, "%d", &mods[i][j]); } printf("M: %d, N: %d\n", M, N); for(i = 0; i < N; ++i) { for(j = 0; j < M; ++j) { printf("%d ", mods[i][j]); } printf("\n"); } count_room(); link_room(); merge(); printf("\n"); printf("%d\n%d\n%d\n%d %d %c\n", num_room , max_size , max_merge , merge_room.r + 1, merge_room.c + 1, merge_room.wall); fprintf(out, "%d\n%d\n%d\n%d %d %c\n", num_room , max_size , max_merge , merge_room.r + 1, merge_room.c + 1, merge_room.wall); fclose(out); return 0; }