|
|
1.1 root 1: /*
2: * Copyright (c) 1980 Regents of the University of California.
3: * All rights reserved.
4: *
5: * Redistribution and use in source and binary forms are permitted
6: * provided that the above copyright notice and this paragraph are
7: * duplicated in all such forms and that any documentation,
8: * advertising materials, and other materials related to such
9: * distribution and use acknowledge that the software was developed
10: * by the University of California, Berkeley. The name of the
11: * University may not be used to endorse or promote products derived
12: * from this software without specific prior written permission.
13: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15: * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16: *
17: * @(#)monop.def 5.2 (Berkeley) 6/18/88
18: */
19:
20: # include "monop.h"
21: # include "deck.h"
22:
23: bool fixing, /* set if fixing up debt */
24: trading, /* set if in process of trading */
25: told_em, /* set if told user he's out of debt */
26: spec; /* set if moving by card to RR or UTIL */
27:
28: char *name_list[MAX_PL+2], /* list of players' names */
29: *comlist[] = { /* list of normal commands */
30: "quit", /* 0 */ "print", /* 1 */
31: "where", /* 2 */ "own holdings", /* 3 */
32: "holdings", /* 4 */ "shell", /* 5 */
33: "mortgage", /* 6 */ "unmortgage", /* 7 */
34: "buy houses", /* 8 */ "sell houses", /* 9 */
35: "card", /* 10 */ "pay", /* 11 */
36: "trade", /* 12 */ "resign", /* 13 */
37: "save", /* 14 */ "restore", /* 15 */
38: "roll", /* 16 */ "", /* 17 */
39: 0
40: },
41: *yn[] = { /* list of commands for yes/no answers */
42: "yes", /* 0 */ "no", /* 1 */
43: "quit", /* 2 */ "print", /* 3 */
44: "where", /* 4 */ "own holdings", /* 5 */
45: "holdings", /* 6 */ "shell", /* 7 */
46: 0
47: },
48: *lucky_mes[] = { /* "got lucky" messages */
49: "You lucky stiff", "You got lucky",
50: "What a lucky person!", "You must have a 4-leaf clover",
51: "My, my! Aren't we lucky!", "Luck smiles upon you",
52: "You got lucky this time", "Lucky person!",
53: "Your karma must certainly be together",
54: "How beautifully Cosmic", "Wow, you must be really with it"
55: /* "I want your autograph", -- Save for later */
56: };
57:
58: int player, /* current player number */
59: num_play, /* current number of players */
60: num_doub, /* # of doubles current player rolled */
61: /* # of "got lucky" messages */
62: num_luck = sizeof lucky_mes / sizeof (char *),
63: /* list of command functions */
64: buy_houses(), card(), do_move(), do_move(), list(), list_all(),
65: mortgage(), pay(), printboard(), quit(), resign(), restore(),
66: rub(), save(), sell_houses(), shell_out(), trade(),
67: unmortgage(), where(),
68: (*func[])() = { /* array of function calls for commands */
69: quit, /* quit game |* 0 *| */
70: printboard, /* print board |* 1 *| */
71: where, /* where players are |* 2 *| */
72: list, /* own holdings |* 3 *| */
73: list_all, /* holdings list |* 4 *| */
74: shell_out, /* shell |* 5 *| */
75: mortgage, /* mortgage property |* 6 *| */
76: unmortgage, /* unmortgage property |* 7 *| */
77: buy_houses, /* buy houses |* 8 *| */
78: sell_houses, /* sell houses |* 9 *| */
79: card, /* card for jail |* 10 *| */
80: pay, /* pay for jail |* 11 *| */
81: trade, /* trade |* 12 *| */
82: resign, /* resign |* 13 *| */
83: save, /* save game |* 14 *| */
84: restore, /* restore game |* 15 *| */
85: do_move, /* roll |* 16 *| */
86: do_move /* "" |* 17 *| */
87: };
88:
89: DECK deck[2]; /* Chance and Community Chest */
90:
91: PLAY *play, /* player structure array ("calloc"ed) */
92: *cur_p; /* pointer to current player's struct */
93:
94: RR_S rr[N_RR]; /* raildroad descriptions */
95:
96: UTIL_S util[2]; /* utility descriptions */
97:
98: MON mon[N_MON] = { /* monopoly descriptions */
99: # include "mon.dat"
100: };
101:
102: PROP prop[N_PROP] = { /* typical properties */
103: # include "prop.dat"
104: };
105:
106: SQUARE board[N_SQRS+1] = { /* board itself (+1 for Jail) */
107: # include "brd.dat"
108: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.