121509Smckusick /* 2*60777Sbostic * Copyright (c) 1980, 1993 3*60777Sbostic * The Regents of the University of California. All rights reserved. 421509Smckusick * 542576Sbostic * %sccs.include.redist.c% 633706Sbostic * 7*60777Sbostic * @(#)cribbage.h 8.1 (Berkeley) 05/31/93 821509Smckusick */ 912574Sarnold 107707Sarnold extern CARD deck[ CARDS ]; /* a deck */ 117707Sarnold extern CARD phand[ FULLHAND ]; /* player's hand */ 127707Sarnold extern CARD chand[ FULLHAND ]; /* computer's hand */ 137707Sarnold extern CARD crib[ CINHAND ]; /* the crib */ 147707Sarnold extern CARD turnover; /* the starter */ 157707Sarnold 167707Sarnold extern CARD known[ CARDS ]; /* cards we have seen */ 177707Sarnold extern int knownum; /* # of cards we know */ 187707Sarnold 197707Sarnold extern int pscore; /* player's score */ 207707Sarnold extern int cscore; /* comp's score */ 217707Sarnold extern int glimit; /* points to win game */ 227707Sarnold 237707Sarnold extern int pgames; /* player's games won */ 247707Sarnold extern int cgames; /* comp's games won */ 257707Sarnold extern int gamecount; /* # games played */ 267872Sarnold extern int Lastscore[2]; /* previous score for each */ 277707Sarnold 287707Sarnold extern BOOLEAN iwon; /* if comp won last */ 297707Sarnold extern BOOLEAN explain; /* player mistakes explained */ 307707Sarnold extern BOOLEAN rflag; /* if all cuts random */ 317707Sarnold extern BOOLEAN quiet; /* if suppress random mess */ 327872Sarnold extern BOOLEAN playing; /* currently playing game */ 337707Sarnold 347707Sarnold extern char expl[]; /* string for explanation */ 357707Sarnold 3659264Sbostic void addmsg __P((const char *, ...)); 3759264Sbostic int adjust __P((CARD [], CARD)); 3859264Sbostic int anymove __P((CARD [], int, int)); 3959264Sbostic int anysumto __P((CARD [], int, int, int)); 4059264Sbostic void bye __P((void)); 4159264Sbostic int cchose __P((CARD [], int, int)); 4259264Sbostic void cdiscard __P((BOOLEAN)); 4359264Sbostic int chkscr __P((int *, int)); 4459264Sbostic int comphand __P((CARD [], char *)); 4559264Sbostic void cremove __P((CARD, CARD [], int)); 4659264Sbostic int cut __P((BOOLEAN, int)); 4759264Sbostic int deal __P((int)); 4859264Sbostic void discard __P((BOOLEAN)); 4959264Sbostic void do_wait __P((void)); 5059264Sbostic void endmsg __P((void)); 5159264Sbostic int eq __P((CARD, CARD)); 5259264Sbostic int fifteens __P((CARD [], int)); 5359264Sbostic void game __P((void)); 5459264Sbostic void gamescore __P((void)); 5559264Sbostic char *getline __P((void)); 5659264Sbostic int getuchar __P((void)); 5759264Sbostic int incard __P((CARD *)); 5859264Sbostic int infrom __P((CARD [], int, char *)); 5959264Sbostic void instructions __P((void)); 6059264Sbostic int isone __P((CARD, CARD [], int)); 6159264Sbostic void makeboard __P((void)); 6259264Sbostic void makedeck __P((CARD [])); 6359264Sbostic void makeknown __P((CARD [], int)); 6459264Sbostic void msg __P((const char *, ...)); 6559264Sbostic int msgcard __P((CARD, BOOLEAN)); 6659264Sbostic int msgcrd __P((CARD, BOOLEAN, char *, BOOLEAN)); 6759264Sbostic int number __P((int, int, char *)); 6859264Sbostic int numofval __P((CARD [], int, int)); 6959264Sbostic int pairuns __P((CARD [], int)); 7059264Sbostic int peg __P((BOOLEAN)); 7159264Sbostic int pegscore __P((CARD, CARD [], int, int)); 7259264Sbostic int playhand __P((BOOLEAN)); 7359264Sbostic int plyrhand __P((CARD [], char *)); 7459264Sbostic void prcard __P((WINDOW *, int, int, CARD, BOOLEAN)); 7559264Sbostic void prcrib __P((BOOLEAN, BOOLEAN)); 7659264Sbostic void prhand __P((CARD [], int, WINDOW *, BOOLEAN)); 7759264Sbostic void printcard __P((WINDOW *, int, CARD, BOOLEAN)); 7859264Sbostic void prpeg __P((int, int, BOOLEAN)); 7959264Sbostic void prtable __P((int)); 8059264Sbostic int readchar __P((void)); 8159264Sbostic void rint __P((int)); 8259264Sbostic int score __P((BOOLEAN)); 8359264Sbostic int scorehand __P((CARD [], CARD, int, BOOLEAN, BOOLEAN)); 8459264Sbostic void shuffle __P((CARD [])); 8559264Sbostic void sorthand __P((CARD [], int)); 8659264Sbostic void wait_for __P((int)); 87