diff options
Diffstat (limited to 'robots/robots.h')
-rw-r--r-- | robots/robots.h | 110 |
1 files changed, 110 insertions, 0 deletions
diff --git a/robots/robots.h b/robots/robots.h new file mode 100644 index 00000000..cafea703 --- /dev/null +++ b/robots/robots.h @@ -0,0 +1,110 @@ +/* + * Copyright (c) 1980 Regents of the University of California. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)robots.h 5.6 (Berkeley) 2/28/91 + */ + +# include <curses.h> +# include <setjmp.h> + +/* + * miscellaneous constants + */ + +# define Y_FIELDSIZE 23 +# define X_FIELDSIZE 60 +# define Y_SIZE 24 +# define X_SIZE 80 +# define MAXLEVELS 4 +# define MAXROBOTS (MAXLEVELS * 10) +# define ROB_SCORE 10 +# define S_BONUS (60 * ROB_SCORE) +# define Y_SCORE 21 +# define X_SCORE (X_FIELDSIZE + 9) +# define Y_PROMPT (Y_FIELDSIZE - 1) +# define X_PROMPT (X_FIELDSIZE + 2) +# define MAXSCORES (Y_SIZE - 2) +# define MAXNAME 16 +# define MS_NAME "Ten" + +/* + * characters on screen + */ + +# define ROBOT '+' +# define HEAP '*' +# define PLAYER '@' + +/* + * pseudo functions + */ + +# undef CTRL +# define CTRL(X) ('X' - 'A' + 1) + +/* + * type definitions + */ + +typedef struct { + int y, x; +} COORD; + +/* + * global variables + */ + +extern bool Dead, Full_clear, Jump, Newscore, Real_time, Running, + Teleport, Waiting, Was_bonus; + +#ifdef FANCY +extern bool Pattern_roll, Stand_still; +#endif + +extern char Cnt_move, Field[Y_FIELDSIZE][X_FIELDSIZE], *Next_move, + *Move_list, Run_ch; + +extern int Count, Level, Num_robots, Num_scores, Score, + Start_level, Wait_bonus; + +extern COORD Max, Min, My_pos, Robots[]; + +extern jmp_buf End_move; + +/* + * functions types + */ + +int cmp_sc(); +void move_robots(); + +COORD *rnd_pos(); |