MAXVLEVEL
if (k > 1 && (rnd(17) <= 4 || k == MAXLEVEL - 1 || k == MAXLEVEL + MAXVLEVEL - 1))
if (k != MAXLEVEL + MAXVLEVEL - 1)
if ((lv == MAXLEVEL - 1) || (lv == MAXLEVEL + MAXVLEVEL - 1) || rnd(13) == 2) {
if (lv == MAXLEVEL - 1 || lv == MAXLEVEL + MAXVLEVEL - 1)
if ((j > 0) && (j != MAXLEVEL - 1) && (j != MAXLEVEL + MAXVLEVEL - 1))
if ((j != MAXLEVEL - 1) && (j != MAXLEVEL + MAXVLEVEL - 1))
char beenhere[MAXLEVEL + MAXVLEVEL] = { 0 }; /* 1 if have been on this level */
lwrite((char *)beenhere, MAXLEVEL + MAXVLEVEL);
for (k = 0; k < MAXLEVEL + MAXVLEVEL; k++)
lrfill((char *)beenhere, MAXLEVEL + MAXVLEVEL);
for (k = 0; k < MAXLEVEL + MAXVLEVEL; k++)
for (j = 0; j < MAXLEVEL + MAXVLEVEL; j++) {
cell = malloc(sizeof(struct cel) * (MAXLEVEL + MAXVLEVEL) * MAXX * MAXY);
if (lvl < 0 || lvl > MAXLEVEL + MAXVLEVEL) /* correct level? */
if (level < 0 || level > MAXLEVEL + MAXVLEVEL) /* correct level? */
if (level < MAXLEVEL + MAXVLEVEL - 1)
if (level < MAXLEVEL + MAXVLEVEL - 1) /* not on V3 */
else if (level == MAXLEVEL + MAXVLEVEL - 1)
if ((level == MAXLEVEL - 1) || (level == MAXLEVEL + MAXVLEVEL - 1)) {
if (tmp >= MAXLEVEL + MAXVLEVEL)
tmp = MAXLEVEL + MAXVLEVEL - 1;