121464Smckusick /* 221464Smckusick * Copyright (c) 1980 Regents of the University of California. 3*33690Sbostic * All rights reserved. 4*33690Sbostic * 5*33690Sbostic * Redistribution and use in source and binary forms are permitted 6*33690Sbostic * provided that this notice is preserved and that due credit is given 7*33690Sbostic * to the University of California at Berkeley. The name of the University 8*33690Sbostic * may not be used to endorse or promote products derived from this 9*33690Sbostic * software without specific prior written permission. This software 10*33690Sbostic * is provided ``as is'' without express or implied warranty. 1121464Smckusick */ 1221464Smckusick 1321464Smckusick #ifndef lint 14*33690Sbostic static char sccsid[] = "@(#)extern.c 5.2 (Berkeley) 03/09/88"; 15*33690Sbostic #endif /* not lint */ 1621464Smckusick 1721464Smckusick # include "robots.h" 1821464Smckusick 1921464Smckusick bool Dead; /* Player is now dead */ 2021464Smckusick bool Full_clear = TRUE; /* Lots of junk for init_field to clear */ 2121464Smckusick bool Jump = FALSE; /* Jump while running, counting, or waiting */ 2221464Smckusick bool Newscore; /* There was a new score added */ 2321464Smckusick #ifdef FANCY 2421464Smckusick bool Pattern_roll = FALSE; /* Auto play for YHBJNLUK pattern */ 2521464Smckusick #endif 2621464Smckusick bool Real_time = FALSE; /* Play in real time? */ 2721464Smckusick bool Running = FALSE; /* Currently in the middle of a run */ 2821464Smckusick #ifdef FANCY 2921464Smckusick bool Stand_still = FALSE; /* Auto play for standing still pattern */ 3021464Smckusick #endif 3121464Smckusick bool Teleport = FALSE; /* Teleport automatically when player must */ 3221464Smckusick bool Waiting; /* Player is waiting for end */ 3321464Smckusick bool Was_bonus = FALSE; /* Was a bonus last level */ 3421464Smckusick 3521464Smckusick char Cnt_move; /* Command which has preceded the count */ 3621464Smckusick char Field[Y_FIELDSIZE][X_FIELDSIZE]; /* the playing field itslef */ 3721464Smckusick char *Next_move; /* Next move to be used in the pattern */ 3821464Smckusick char *Move_list = "YHBJNLUK";/* List of moves in the pattern */ 3921464Smckusick char Run_ch; /* Character for the direction we are running */ 4021464Smckusick 4121464Smckusick int Count = 0; /* Command count */ 4221464Smckusick int Level; /* Current level */ 4321464Smckusick int Num_robots; /* Number of robots left */ 4421464Smckusick int Num_scores; /* Number of scores posted */ 4521464Smckusick int Score; /* Current score */ 4621464Smckusick int Start_level = 1; /* Level on which to start */ 4721464Smckusick int Wait_bonus; /* bonus for waiting */ 4821464Smckusick 4921464Smckusick COORD Max; /* Max area robots take up */ 5021464Smckusick COORD Min; /* Min area robots take up */ 5121464Smckusick COORD My_pos; /* Player's current position */ 5221464Smckusick COORD Robots[MAXROBOTS]; /* Robots' current positions */ 5321464Smckusick 5421464Smckusick jmp_buf End_move; /* Jump to on Real_time */ 55