PLAYER
ALGOR::ALGOR(const char c) : PLAYER(c)
class ALGOR : public PLAYER {
void BOARD::score(size_t i, const PLAYER& p)
void BOARD::games(size_t i, const PLAYER& p)
void BOARD::total(size_t i, const PLAYER& p)
void BOARD::ties(const PLAYER& p)
class PLAYER;
void score(size_t i, const PLAYER& p); // Post score
void games(size_t i, const PLAYER& p); // Post games
void total(size_t i, const PLAYER& p); // Post totals
void ties(const PLAYER& p); // Post ties
class PLAYER;
virtual void score(size_t l, const PLAYER& p) = 0; // Post current score
virtual void games(size_t l, const PLAYER& p) = 0; // Post games won
virtual void total(size_t l, const PLAYER& p) = 0; // Post total score
virtual void ties(const PLAYER& p) = 0; // Post tie games
PLAYER(c),
class HUMAN : public PLAYER {
PLAYER* p[2];
static void play(BOARD& b, PLAYER* p[2])
PLAYER::PLAYER(char who) :
void PLAYER::init(void)
void PLAYER::wl(size_t sc)
int PLAYER::domove(BOARD& b)
class PLAYER {
PLAYER(char who);
virtual ~PLAYER() {}
void TTYSCRN::score(size_t s, const PLAYER& p)
void TTYSCRN::total(size_t s, const PLAYER& p)
void TTYSCRN::games(size_t s, const PLAYER& p)
void TTYSCRN::ties(const PLAYER& p)
void score(size_t s, const PLAYER& p);
void games(size_t s, const PLAYER& p);
void total(size_t s, const PLAYER& p);
void ties(const PLAYER& p);
stmonitor(PLAYER *pp)
PLAYER *npp;
stplayer(PLAYER *newpp, int enter_status)
PLAYER *pp;
static void stmonitor(PLAYER *);
static void stplayer(PLAYER *, int);
PLAYER *pp;
look(PLAYER *pp)
see(PLAYER *pp, int face)
check(PLAYER *pp, int y, int x)
PLAYER *rpp;
showstat(PLAYER *pp)
PLAYER *np;
drawplayer(PLAYER *pp, bool draw)
PLAYER *newp;
message(PLAYER *pp, const char *s)
player_sym(PLAYER *pp, int y, int x)
PLAYER *npp;
static void drawstatus(PLAYER *);
static void see(PLAYER *, int);
static int player_sym(PLAYER *, int, int);
drawmaze(PLAYER *pp)
drawstatus(PLAYER *pp)
PLAYER *np;
static bool havechar(PLAYER *, int);
static void zap(PLAYER *, bool, int);
PLAYER *pp;
PLAYER *pp;
checkdam(PLAYER *ouch, PLAYER *gotcha, IDENT *credit, int amt,
zap(PLAYER *pp, bool was_player, int i)
PLAYER *np;
memcpy(pp, End_player, sizeof (PLAYER));
memcpy(pp, End_monitor, sizeof (PLAYER));
havechar(PLAYER *pp, int i)
PLAYER *pp;
move_player(PLAYER *pp, int dir)
PLAYER *newp;
turn_player(PLAYER *pp, int dir)
fire(PLAYER *pp, int req_index)
fire_slime(PLAYER *pp, int req_index)
static void cloak(PLAYER *);
static void turn_player(PLAYER *, int);
static void fire(PLAYER *, int);
PLAYER *owner, int expl, char over)
static void fire_slime(PLAYER *, int);
static void move_player(PLAYER *, int);
static void pickup(PLAYER *, int, int, int, int);
static void scan(PLAYER *);
int size, PLAYER *owner, IDENT *score, int expl, char over)
cloak(PLAYER *pp)
scan(PLAYER *pp)
pickup(PLAYER *pp, int y, int x, int prob, int obj)
mon_execute(PLAYER *pp)
execute(PLAYER *pp)
PLAYER *pp;
PLAYER *pp;
PLAYER *pp;
PLAYER Player[MAXPL]; /* all the players */
PLAYER *End_player = Player; /* last active player slot */
PLAYER Boot[NBOOTS]; /* all the boots */
PLAYER Monitor[MAXMON]; /* all the monitors */
PLAYER *End_monitor = Monitor; /* last active monitor slot */
PLAYER *b_owner;
extern PLAYER Player[MAXPL], *End_player;
extern PLAYER Boot[NBOOTS];
extern PLAYER Monitor[MAXMON], *End_monitor;
void drawmaze(PLAYER *);
void look(PLAYER *);
void check(PLAYER *, int, int);
void showstat(PLAYER *);
void drawplayer(PLAYER *, bool);
void message(PLAYER *, const char *);
void checkdam(PLAYER *, PLAYER *, IDENT *, int, char);
void mon_execute(PLAYER *); /* ifdef MONITOR only */
void execute(PLAYER *);
void add_shot(int, int, int, char, int, PLAYER *, int, char);
BULLET *create_shot(int, int, int, char, int, int, PLAYER *,
PLAYER *play_at(int, int);
void cgoto(PLAYER *, int, int);
void outch(PLAYER *, int);
void outstr(PLAYER *, const char *, int);
void clrscr(PLAYER *);
void ce(PLAYER *);
void sendcom(PLAYER *, int, ...);
PLAYER *
PLAYER *pp;
PLAYER *pp;
PLAYER *pp;
PLAYER *pp;
PLAYER *pp;
static void move_flyer(PLAYER *);
move_flyer(PLAYER *pp)
PLAYER *pp;
PLAYER *pp;
PLAYER *pp;
ce(PLAYER *pp)
ref(PLAYER *pp)
sendcom(PLAYER *pp, int command, ...)
cgoto(PLAYER *pp, int y, int x)
outch(PLAYER *pp, int ch)
outstr(PLAYER *pp, const char *str, int len)
clrscr(PLAYER *pp)
op = &Player[PLAYER];
Player[PLAYER].was_finished = !Finished;
sort(Player[PLAYER].hand);
if (!restore || (Player[PLAYER].total >= 5000
if (Player[COMP].total < Player[PLAYER].total)
Player[PLAYER].games++;
else if (Player[COMP].total > Player[PLAYER].total)
Player[PLAYER].total = 0;
&& Player[PLAYER].total < 5000);
Play = PLAYER;
if (Play == PLAYER) {
op = &Player[PLAYER];
if (Player[PLAYER].total >= 5000 || Player[COMP].total >= 5000)
if (Player[PLAYER].total > Player[COMP].total)
Player[PLAYER].games++;
else if (Player[PLAYER].total < Player[COMP].total)
Player[PLAYER].total = 0;
if (Play == PLAYER)
if (Order && Movetype != M_DRAW && goodplay && pp == &Player[PLAYER])
op = (pp == &Player[COMP] ? &Player[PLAYER] : &Player[COMP]);
if (pp == &Player[PLAYER])
if (Play == PLAYER)
pp = &Player[PLAYER];
case PLAYER:
mvaddch(My_pos.y, My_pos.x, PLAYER);
mvaddch(My_pos.y, My_pos.x, PLAYER);
addch(PLAYER);