]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - monop/monop.h
Integrate Warp Kit into the NetBSD build
[bsdgames-darwin.git] / monop / monop.h
index 2198d7dde2ff4d84ded03c5ea811eef19110d6e0..ecc74204d2e02ef5a340612438d9fe7cadbd755f 100644 (file)
@@ -1,6 +1,8 @@
+/*     $NetBSD: monop.h,v 1.19 2009/08/12 08:10:49 dholland Exp $      */
+
 /*
- * Copyright (c) 1980 Regents of the University of California.
- * All rights reserved.
+ * Copyright (c) 1980, 1993
+ *     The Regents of the University of California.  All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * 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.
  *
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *     from: @(#)monop.h       5.5 (Berkeley) 6/1/90
- *     $Id: monop.h,v 1.2 1993/08/01 18:53:46 mycroft Exp $
+ *     @(#)monop.h     8.1 (Berkeley) 5/31/93
  */
 
-# include      <stdio.h>
+#include <err.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
 
-# 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                         */
 };
@@ -86,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     */
 };
 
@@ -106,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                        */
 };
@@ -121,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;
@@ -135,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);