+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+#ifndef lint
+static char sccsid[] = "@(#)init_field.c 5.1 (Berkeley) %G%";
+#endif not lint
+
+# include "robots.h"
+
+/*
+ * init_field:
+ * Lay down the initial pattern whih is constant across all levels,
+ * and initialize all the global variables.
+ */
+init_field()
+{
+ register int i;
+ register WINDOW *wp;
+ register int j;
+ static bool first = TRUE;
+ static char *desc[] = {
+ "Directions:",
+ "",
+ "y k u",
+ " \\|/",
+ "h- -l",
+ " /|\\",
+ "b j n",
+ "",
+ "Commands:",
+ "",
+ "w: wait for end",
+ "t: teleport",
+ "q: quit",
+ "^L: redraw screen",
+ "",
+ "Legend:",
+ "",
+ "+: robot",
+ "*: junk heap",
+ "@: you",
+ "",
+ "Score: 0",
+ NULL
+ };
+
+ Dead = FALSE;
+ Waiting = FALSE;
+ flushok(stdscr, TRUE);
+ Score = 0;
+
+ erase();
+ move(0, 0);
+ addch('+');
+ for (i = 1; i < Y_FIELDSIZE; i++) {
+ move(i, 0);
+ addch('|');
+ }
+ move(Y_FIELDSIZE, 0);
+ addch('+');
+ for (i = 1; i < X_FIELDSIZE; i++)
+ addch('-');
+ addch('+');
+ if (first)
+ refresh();
+ move(0, 1);
+ for (i = 1; i < X_FIELDSIZE; i++)
+ addch('-');
+ addch('+');
+ for (i = 1; i < Y_FIELDSIZE; i++) {
+ move(i, X_FIELDSIZE);
+ addch('|');
+ }
+ if (first)
+ refresh();
+ for (i = 0; desc[i] != NULL; i++) {
+ move(i, X_FIELDSIZE + 2);
+ addstr(desc[i]);
+ }
+ if (first)
+ refresh();
+ first = FALSE;
+#ifdef FANCY
+ if (Pattern_roll)
+ Next_move = &Move_list[-1];
+#endif
+}