xref: /csrg-svn/games/robots/init_field.c (revision 60840)
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