xref: /csrg-svn/games/robots/robots.h (revision 60840)
121474Smckusick /*
2*60840Sbostic  * Copyright (c) 1980, 1993
3*60840Sbostic  *	The Regents of the University of California.  All rights reserved.
421474Smckusick  *
542591Sbostic  * %sccs.include.redist.c%
633690Sbostic  *
7*60840Sbostic  *	@(#)robots.h	8.1 (Berkeley) 05/31/93
821474Smckusick  */
921474Smckusick 
1021474Smckusick # include	<curses.h>
1121474Smckusick # include	<setjmp.h>
1221474Smckusick 
1321474Smckusick /*
1421474Smckusick  * miscellaneous constants
1521474Smckusick  */
1621474Smckusick 
1721474Smckusick # define	Y_FIELDSIZE	23
1821474Smckusick # define	X_FIELDSIZE	60
1921474Smckusick # define	Y_SIZE		24
2021474Smckusick # define	X_SIZE		80
2121474Smckusick # define	MAXLEVELS	4
2221474Smckusick # define	MAXROBOTS	(MAXLEVELS * 10)
2321474Smckusick # define	ROB_SCORE	10
2421474Smckusick # define	S_BONUS		(60 * ROB_SCORE)
2521474Smckusick # define	Y_SCORE		21
2621474Smckusick # define	X_SCORE		(X_FIELDSIZE + 9)
2721474Smckusick # define	Y_PROMPT	(Y_FIELDSIZE - 1)
2821474Smckusick # define	X_PROMPT	(X_FIELDSIZE + 2)
2921474Smckusick # define	MAXSCORES	(Y_SIZE - 2)
3021474Smckusick # define	MAXNAME		16
3121474Smckusick # define	MS_NAME		"Ten"
3221474Smckusick 
3321474Smckusick /*
3421474Smckusick  * characters on screen
3521474Smckusick  */
3621474Smckusick 
3721474Smckusick # define	ROBOT	'+'
3821474Smckusick # define	HEAP	'*'
3921474Smckusick # define	PLAYER	'@'
4021474Smckusick 
4121474Smckusick /*
4221474Smckusick  * type definitions
4321474Smckusick  */
4421474Smckusick 
4521474Smckusick typedef struct {
4621474Smckusick 	int	y, x;
4721474Smckusick } COORD;
4821474Smckusick 
4921474Smckusick /*
5021474Smckusick  * global variables
5121474Smckusick  */
5221474Smckusick 
5321474Smckusick extern bool	Dead, Full_clear, Jump, Newscore, Real_time, Running,
5421474Smckusick 		Teleport, Waiting, Was_bonus;
5521474Smckusick 
5621474Smckusick #ifdef	FANCY
5721474Smckusick extern bool	Pattern_roll, Stand_still;
5821474Smckusick #endif
5921474Smckusick 
6021474Smckusick extern char	Cnt_move, Field[Y_FIELDSIZE][X_FIELDSIZE], *Next_move,
6121474Smckusick 		*Move_list, Run_ch;
6221474Smckusick 
6321474Smckusick extern int	Count, Level, Num_robots, Num_scores, Score,
6421474Smckusick 		Start_level, Wait_bonus;
6521474Smckusick 
6621474Smckusick extern COORD	Max, Min, My_pos, Robots[];
6721474Smckusick 
6821474Smckusick extern jmp_buf	End_move;
6921474Smckusick 
7021474Smckusick /*
7121474Smckusick  * functions types
7221474Smckusick  */
7321474Smckusick 
7446757Sbostic int	cmp_sc();
7546757Sbostic void	move_robots();
7621474Smckusick 
7721474Smckusick COORD	*rnd_pos();
7856098Selan 
7956098Selan 
8056098Selan 
8156098Selan 
82