X-Git-Url: https://git.cameronkatri.com/bsdgames-darwin.git/blobdiff_plain/a65a873e56c35780711e9f73872c4fe0254589b0..4b279035b0e1eee92a868ff0519a1d4678e0e818:/monop/monop.h diff --git a/monop/monop.h b/monop/monop.h index 2bc82dab..ecc74204 100644 --- a/monop/monop.h +++ b/monop/monop.h @@ -1,4 +1,4 @@ -/* $NetBSD: monop.h,v 1.4 1995/04/24 12:24:23 cgd Exp $ */ +/* $NetBSD: monop.h,v 1.19 2009/08/12 08:10:49 dholland Exp $ */ /* * Copyright (c) 1980, 1993 @@ -12,11 +12,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors + * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * @@ -35,53 +31,48 @@ * @(#)monop.h 8.1 (Berkeley) 5/31/93 */ -# include -# include -# include +#include +#include +#include +#include -# define reg register -# define shrt char -# define bool char -# define unsgn unsigned +#define bool char -# define TRUE (1) -# define FALSE (0) +#define TRUE (1) +#define FALSE (0) -# define N_MON 8 /* number of monopolies */ -# define N_PROP 22 /* number of normal property squares */ -# define N_RR 4 /* number of railroads */ -# define N_UTIL 2 /* number of utilities */ -# define N_SQRS 40 /* number of squares on board */ -# define MAX_PL 9 /* maximum number of players */ -# define MAX_PRP (N_PROP+N_RR+N_UTIL) /* max # ownable property */ +#define N_MON 8 /* number of monopolies */ +#define N_PROP 22 /* number of normal property squares */ +#define N_RR 4 /* number of railroads */ +#define N_UTIL 2 /* number of utilities */ +#define N_SQRS 40 /* number of squares on board */ +#define MAX_PL 9 /* maximum number of players */ +#define MAX_PRP (N_PROP+N_RR+N_UTIL) /* max # ownable property */ +#define N_HOUSE 32 /* total number of houses available */ +#define N_HOTEL 12 /* total number of hotels available */ /* square type numbers */ -# define PRPTY 0 /* normal property */ -# define RR 1 /* railroad */ -# define UTIL 2 /* water works - electric co */ -# define SAFE 3 /* safe spot */ -# define CC 4 /* community chest */ -# define CHANCE 5 /* chance (surprise!!!) */ -# define INC_TAX 6 /* Income tax */ -# define GOTO_J 7 /* Go To Jail! */ -# define LUX_TAX 8 /* Luxury tax */ -# define IN_JAIL 9 /* In jail */ - -# define JAIL 40 /* JAIL square number */ - -# define lucky(str) printf("%s%s\n",str,lucky_mes[roll(1,num_luck)-1]) -# define printline() printf("------------------------------\n") -# define sqnum(sqp) (sqp - board) -# define swap(A1,A2) if ((A1) != (A2)) { \ - (A1) ^= (A2); \ - (A2) ^= (A1); \ - (A1) ^= (A2); \ - } +#define PRPTY 0 /* normal property */ +#define RR 1 /* railroad */ +#define UTIL 2 /* water works - electric co */ +#define SAFE 3 /* safe spot */ +#define CC 4 /* community chest */ +#define CHANCE 5 /* chance (surprise!!!) */ +#define INC_TAX 6 /* Income tax */ +#define GOTO_J 7 /* Go To Jail! */ +#define LUX_TAX 8 /* Luxury tax */ +#define IN_JAIL 9 /* In jail */ + +#define JAIL 40 /* JAIL square number */ + +#define lucky(str) printf("%s%s\n",str,lucky_mes[roll(1,num_luck)-1]) +#define printline() printf("------------------------------\n") +#define sqnum(sqp) ((short)(sqp - board)) struct sqr_st { /* structure for square */ - char *name; /* place name */ - shrt owner; /* owner number */ - shrt type; /* place type */ + const char *name; /* place name */ + short owner; /* owner number */ + short type; /* place type */ struct prp_st *desc; /* description struct */ int cost; /* cost */ }; @@ -89,14 +80,14 @@ struct sqr_st { /* structure for square */ typedef struct sqr_st SQUARE; struct mon_st { /* monopoly description structure */ - char *name; /* monop. name (color) */ - shrt owner; /* owner of monopoly */ - shrt num_in; /* # in monopoly */ - shrt num_own; /* # owned (-1: not poss. monop)*/ - shrt h_cost; /* price of houses */ - char *not_m; /* name if not monopoly */ - char *mon_n; /* name if a monopoly */ - char sqnums[3]; /* Square numbers (used to init)*/ + const char *name; /* monop. name (color) */ + short owner; /* owner of monopoly */ + short num_in; /* # in monopoly */ + short num_own; /* # owned (-1: not poss. monop)*/ + short h_cost; /* price of houses */ + const char *not_m; /* name if not monopoly */ + const char *mon_n; /* name if a monopoly */ + unsigned char sqnums[3]; /* Square numbers (used to init)*/ SQUARE *sq[3]; /* list of squares in monop */ }; @@ -109,8 +100,8 @@ typedef struct mon_st MON; struct prp_st { /* property description structure */ bool morg; /* set if mortgaged */ bool monop; /* set if monopoly */ - shrt square; /* square description */ - shrt houses; /* number of houses */ + short square; /* square description */ + short houses; /* number of houses */ MON *mon_desc; /* name of color */ int rent[6]; /* rents */ }; @@ -124,13 +115,13 @@ typedef struct own_st OWN; struct plr_st { /* player description structure */ char *name; /* owner name */ - shrt num_gojf; /* # of get-out-of-jail-free's */ - shrt num_rr; /* # of railroads owned */ - shrt num_util; /* # of water works/elec. co. */ - shrt loc; /* location on board */ - shrt in_jail; /* count of turns in jail */ + short num_gojf; /* # of get-out-of-jail-free's */ + short num_rr; /* # of railroads owned */ + short num_util; /* # of water works/elec. co. */ + short loc; /* location on board */ + short in_jail; /* count of turns in jail */ int money; /* amount of money */ - OWN *own_list; /* start of propery list */ + OWN *own_list; /* start of property list */ }; typedef struct plr_st PLAY; @@ -138,4 +129,93 @@ typedef struct prp_st PROP; typedef struct prp_st RR_S; typedef struct prp_st UTIL_S; -int cc(), chance(), lux_tax(), goto_jail(), inc_tax(); +extern bool trading, spec, fixing, told_em; + +extern const char *const yncoms[], *name_list[], *const lucky_mes[]; + +extern int num_play, player, num_doub, num_luck; + +extern void (*const func[])(void); + +/*extern MON mon[N_MON];*/ + +extern PLAY *play, *cur_p; + +extern PROP prop[N_PROP]; + +/*extern RR_S rr[N_RR];*/ + +extern SQUARE board[N_SQRS + 1]; + +/*extern UTIL_S util[2];*/ + + +/* cards.c */ +void ret_card(PLAY *); + +/* execute.c */ +void execute(int); +void do_move(void); +void move(int); +void save(void); +void restore(void); +int rest_f(const char *); + +/* getinp.c */ +int getinp(const char *, const char *const []); + +/* houses.c */ +void buy_houses(void); +void sell_houses(void); + +/* jail.c */ +void card(void); +void pay(void); +int move_jail(int, int ); +void printturn(void); + +/* misc.c */ +int getyn(const char *); +void notify(void); +void next_play(void); +int get_int(const char *); +void set_ownlist(int); +void is_not_monop(MON *); +void list(void); +void list_all(void); +void quit(void); + +/* morg.c */ +void mortgage(void); +void unmortgage(void); +void force_morg(void); + +/* print.c */ +void printboard(void); +void where(void); +void printsq(int, bool); +void printhold(int); + +/* prop.c */ +void buy(int, SQUARE *); +void add_list(int, OWN **, int); +void del_list(int, OWN **, short); +void bid(void); +int prop_worth(PLAY *); + +/* rent.c */ +void rent(SQUARE *); + +/* roll.c */ +int roll(int, int); + +/* spec.c */ +void inc_tax(void); +void goto_jail(void); +void lux_tax(void); +void cc(void); +void chance(void); + +/* trade.c */ +void trade(void); +void resign(void);