コード例 #1
0
/* make and stock a room of a given type

   Note: must not use the level creation RNG if this is of a room type that's
   affected by genocide/extinction (LEPREHALL, BEEHIVE, BARRACKS, ANTHOLE,
   COCKNEST), or genocide/extinction would change the layout of the rest of the
   level. */
void
mkroom(struct level *lev, int roomtype)
{
    if (roomtype >= SHOPBASE)
        mkshop(lev);    /* someday, we should be able to specify shop type */
    else
        switch (roomtype) {
        case COURT:
            mkzoo(lev, COURT, rng_for_level(&lev->z));
            break;
        case ZOO:
            mkzoo(lev, ZOO, rng_for_level(&lev->z));
            break;
        case BEEHIVE:
            mkzoo(lev, BEEHIVE, rng_main);
            break;
        case MORGUE:
            mkzoo(lev, MORGUE, rng_for_level(&lev->z));
            break;
        case BARRACKS:
            mkzoo(lev, BARRACKS, rng_main);
            break;
        case SWAMP:
            mkswamp(lev);
            break;
        case TEMPLE:
            mktemple(lev);
            break;
        case LEPREHALL:
            mkzoo(lev, LEPREHALL, rng_main);
            break;
        case COCKNEST:
            mkzoo(lev, COCKNEST, rng_main);
            break;
        case ANTHOLE:
            mkzoo(lev, ANTHOLE, rng_main);
            break;
        default:
            impossible("Tried to make a room of type %d.", roomtype);
        }
}
コード例 #2
0
ファイル: mkroom.c プロジェクト: thejoshwolfe/nethack
void
mkroom (
/* make and stock a room of a given type */
    int roomtype
)
{
    if (roomtype >= SHOPBASE)
        mkshop();       /* someday, we should be able to specify shop type */
    else switch(roomtype) {
        case COURT:     mkzoo(COURT); break;
        case ZOO:       mkzoo(ZOO); break;
        case BEEHIVE:   mkzoo(BEEHIVE); break;
        case MORGUE:    mkzoo(MORGUE); break;
        case BARRACKS:  mkzoo(BARRACKS); break;
        case SWAMP:     mkswamp(); break;
        case TEMPLE:    mktemple(); break;
        case LEPREHALL: mkzoo(LEPREHALL); break;
        case COCKNEST:  mkzoo(COCKNEST); break;
        case ANTHOLE:   mkzoo(ANTHOLE); break;
        default:        impossible("Tried to make a room of type %d.", roomtype);
    }
}