121467Smckusick /* 2*60840Sbostic * Copyright (c) 1980, 1993 3*60840Sbostic * The Regents of the University of California. All rights reserved. 433690Sbostic * 542589Sbostic * %sccs.include.redist.c% 621467Smckusick */ 721467Smckusick 821467Smckusick #ifndef lint 9*60840Sbostic static char sccsid[] = "@(#)make_level.c 8.1 (Berkeley) 05/31/93"; 1033690Sbostic #endif /* not lint */ 1121467Smckusick 1221467Smckusick # include "robots.h" 1321467Smckusick 1421467Smckusick /* 1521467Smckusick * make_level: 1621467Smckusick * Make the current level 1721467Smckusick */ make_level()1821467Smckusickmake_level() 1921467Smckusick { 2021467Smckusick register int i; 2121467Smckusick register COORD *cp; 2221467Smckusick register WINDOW *wp; 2321467Smckusick register int x, *endp; 2421467Smckusick 2521467Smckusick reset_count(); 2621467Smckusick for (i = 1; i < Y_FIELDSIZE; i++) 2721467Smckusick for (x = 1; x < X_FIELDSIZE; x++) 2821467Smckusick if (Field[i][x] != 0) 2921467Smckusick mvaddch(i, x, ' '); 3021467Smckusick if (My_pos.y > 0) 3121467Smckusick mvaddch(My_pos.y, My_pos.x, ' '); 3221467Smckusick 3321467Smckusick Waiting = FALSE; 3421467Smckusick Wait_bonus = 0; 3521467Smckusick leaveok(stdscr, FALSE); 3621467Smckusick for (cp = Robots; cp < &Robots[MAXROBOTS]; cp++) 3721467Smckusick cp->y = -1; 3821467Smckusick My_pos.y = -1; 3921467Smckusick 4021467Smckusick bzero(Field, sizeof Field); 4121467Smckusick Min.y = Y_FIELDSIZE; 4221467Smckusick Min.x = X_FIELDSIZE; 4321467Smckusick Max.y = 0; 4421467Smckusick Max.x = 0; 4521467Smckusick if ((i = Level * 10) > MAXROBOTS) 4621467Smckusick i = MAXROBOTS; 4721467Smckusick Num_robots = i; 4821467Smckusick while (i-- > 0) { 4921467Smckusick cp = rnd_pos(); 5021467Smckusick Robots[i] = *cp; 5121467Smckusick Field[cp->y][cp->x]++; 5221467Smckusick if (cp->y < Min.y) 5321467Smckusick Min.y = cp->y; 5421467Smckusick if (cp->x < Min.x) 5521467Smckusick Min.x = cp->x; 5621467Smckusick if (cp->y > Max.y) 5721467Smckusick Max.y = cp->y; 5821467Smckusick if (cp->x > Max.x) 5921467Smckusick Max.x = cp->x; 6021467Smckusick } 6121467Smckusick My_pos = *rnd_pos(); 6221467Smckusick refresh(); 6321467Smckusick } 64