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