/* * Copyright (c) 1980 Regents of the University of California. * All rights reserved. * * Redistribution and use in source and binary forms are permitted * provided that the above copyright notice and this paragraph are * duplicated in all such forms and that any documentation, * advertising materials, and other materials related to such * distribution and use acknowledge that the software was developed * by the University of California, Berkeley. The name of the * University may not be used to endorse or promote products derived * from this software without specific prior written permission. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * * @(#)robots.h 5.4 (Berkeley) 05/02/90 */ # include # include /* * 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 quit(), cmp_sc(), move_robots(); COORD *rnd_pos();