clinic_t * clinic_new(){ clinic_t * self = malloc(sizeof(clinic_t)); int i; for(i = 0; i < NUM_ROOM; i++) self->room[i] = room_new(rand()%4 +2); self->subscribers = list_new(); return self; }
int dungeon_generate() { debug_log("generating new dungeon...\n"); dungeon_fill(ROCK); // fill the dungeon with rocks int i, t; for(i=0, t=0; t<tol; t++) { rooms[i] = room_new(); // determine if the new room collides with any previous room int hasCollision = 0; int j; for(j=0;j<i;j++) { if(room_collide(rooms[i], rooms[j])) { hasCollision = 1; break; } } if(hasCollision) { room_delete(rooms[i]); } else { room_paint(rooms[i]); // sparse path path_pave(rooms[i], rooms[0]); // dense path if(dense) { for(j=1;j<i;j++) { path_pave(rooms[i], rooms[j]); } } i++; } } roomc = i; // place stairs int x, y; room_randomLocation(&x, &y, rooms[0]); dungeon[y][x] = STAIR_UP; room_randomLocation(&x, &y, rooms[1]); dungeon[y][x] = STAIR_DOWN; return 0; }
static void room_new__seats__self(void ** state){ int number = 2; int mas[2] = {1,2}; room_t * self = NULL; self = room_new(number); assert_non_null(self); room_free(self); }
static struct room *room_parse(FILE *f) { char buf[512]; struct room *r; int n; r = room_new(); while(1) { n = get_line(f, buf); if(!n) break; parse_line(r, buf); } return r; }