121465Smckusick /*
2*60840Sbostic * Copyright (c) 1980, 1993
3*60840Sbostic * The Regents of the University of California. All rights reserved.
433690Sbostic *
542589Sbostic * %sccs.include.redist.c%
621465Smckusick */
721465Smckusick
821465Smckusick #ifndef lint
9*60840Sbostic static char sccsid[] = "@(#)init_field.c 8.1 (Berkeley) 05/31/93";
1033690Sbostic #endif /* not lint */
1121465Smckusick
1221465Smckusick # include "robots.h"
1321465Smckusick
1421465Smckusick /*
1521465Smckusick * init_field:
1621465Smckusick * Lay down the initial pattern whih is constant across all levels,
1721465Smckusick * and initialize all the global variables.
1821465Smckusick */
init_field()1921465Smckusick init_field()
2021465Smckusick {
2121465Smckusick register int i;
2221465Smckusick register WINDOW *wp;
2321465Smckusick register int j;
2421465Smckusick static bool first = TRUE;
2521465Smckusick static char *desc[] = {
2621465Smckusick "Directions:",
2721465Smckusick "",
2821465Smckusick "y k u",
2921465Smckusick " \\|/",
3021465Smckusick "h- -l",
3121465Smckusick " /|\\",
3221465Smckusick "b j n",
3321465Smckusick "",
3421465Smckusick "Commands:",
3521465Smckusick "",
3621465Smckusick "w: wait for end",
3721465Smckusick "t: teleport",
3821465Smckusick "q: quit",
3921465Smckusick "^L: redraw screen",
4021465Smckusick "",
4121465Smckusick "Legend:",
4221465Smckusick "",
4321465Smckusick "+: robot",
4421465Smckusick "*: junk heap",
4521465Smckusick "@: you",
4621465Smckusick "",
4721465Smckusick "Score: 0",
4821465Smckusick NULL
4921465Smckusick };
5021465Smckusick
5121465Smckusick Dead = FALSE;
5221465Smckusick Waiting = FALSE;
5321465Smckusick flushok(stdscr, TRUE);
5421465Smckusick Score = 0;
5521465Smckusick
5621465Smckusick erase();
5721465Smckusick move(0, 0);
5821465Smckusick addch('+');
5921465Smckusick for (i = 1; i < Y_FIELDSIZE; i++) {
6021465Smckusick move(i, 0);
6121465Smckusick addch('|');
6221465Smckusick }
6321465Smckusick move(Y_FIELDSIZE, 0);
6421465Smckusick addch('+');
6521465Smckusick for (i = 1; i < X_FIELDSIZE; i++)
6621465Smckusick addch('-');
6721465Smckusick addch('+');
6821465Smckusick if (first)
6921465Smckusick refresh();
7021465Smckusick move(0, 1);
7121465Smckusick for (i = 1; i < X_FIELDSIZE; i++)
7221465Smckusick addch('-');
7321465Smckusick addch('+');
7421465Smckusick for (i = 1; i < Y_FIELDSIZE; i++) {
7521465Smckusick move(i, X_FIELDSIZE);
7621465Smckusick addch('|');
7721465Smckusick }
7821465Smckusick if (first)
7921465Smckusick refresh();
8021465Smckusick for (i = 0; desc[i] != NULL; i++) {
8121465Smckusick move(i, X_FIELDSIZE + 2);
8221465Smckusick addstr(desc[i]);
8321465Smckusick }
8421465Smckusick if (first)
8521465Smckusick refresh();
8621465Smckusick first = FALSE;
8721465Smckusick #ifdef FANCY
8821465Smckusick if (Pattern_roll)
8921465Smckusick Next_move = &Move_list[-1];
9021465Smckusick #endif
9121465Smckusick }
92