|
|
1.1 root 1: /*
2: * Copyright (c) 1982 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:
18: #ifndef lint
19: static char sccsid[] = "@(#)extern.c 5.4 (Berkeley) 6/18/88";
20: #endif /* not lint */
21:
22: # include "mille.h"
23:
24: /*
25: * @(#)extern.c 1.1 (Berkeley) 4/1/82
26: */
27:
28: bool Debug, /* set if debugging code on */
29: Finished, /* set if current hand is finished */
30: Next, /* set if changing players */
31: On_exit, /* set if game saved on exiting */
32: Order, /* set if hand should be sorted */
33: Saved; /* set if game just saved */
34:
35: char *C_fmt = "%-18.18s", /* format for printing cards */
36: *Fromfile = NULL, /* startup file for game */
37: Initstr[100], /* initial string for error field */
38: *_cn[NUM_CARDS] = { /* Card name buffer */
39: "",
40: "25",
41: "50",
42: "75",
43: "100",
44: "200",
45: "Out of Gas",
46: "Flat Tire",
47: "Accident",
48: "Stop",
49: "Speed Limit",
50: "Gasoline",
51: "Spare Tire",
52: "Repairs",
53: "Go",
54: "End of Limit",
55: "Extra Tank",
56: "Puncture Proof",
57: "Driving Ace",
58: "Right of Way"
59: },
60: **C_name = &_cn[1]; /* Card names */
61:
62: int Card_no, /* Card number for current move */
63: End, /* End value for current hand */
64: Handstart = COMP, /* Player who starts hand */
65: Movetype, /* Current move type */
66: Play, /* Current player */
67: Numgos, /* Number of Go cards used by computer */
68: Window = W_SMALL, /* Current window wanted */
69: Numseen[NUM_CARDS], /* Number of cards seen in current hand */
70: Value[NUM_MILES] = { /* Value of mileage cards */
71: 25, 50, 75, 100, 200
72: },
73: Numcards[NUM_CARDS] = { /* Number of cards in deck */
74: 10, /* C_25 */
75: 10, /* C_50 */
76: 10, /* C_75 */
77: 12, /* C_100 */
78: 4, /* C_200 */
79: 2, /* C_EMPTY */
80: 2, /* C_FLAT */
81: 2, /* C_CRASH */
82: 4, /* C_STOP */
83: 3, /* C_LIMIT */
84: 6, /* C_GAS */
85: 6, /* C_SPARE */
86: 6, /* C_REPAIRS */
87: 14, /* C_GO */
88: 6, /* C_END_LIMIT */
89: 1, /* C_GAS_SAFE */
90: 1, /* C_SPARE_SAFE */
91: 1, /* C_DRIVE_SAFE */
92: 1, /* C_RIGHT_WAY */
93: 0 /* C_INIT */
94: },
95: Numneed[NUM_CARDS] = { /* number of cards needed per hand */
96: 0, /* C_25 */
97: 0, /* C_50 */
98: 0, /* C_75 */
99: 0, /* C_100 */
100: 0, /* C_200 */
101: 2, /* C_EMPTY */
102: 2, /* C_FLAT */
103: 2, /* C_CRASH */
104: 4, /* C_STOP */
105: 3, /* C_LIMIT */
106: 2, /* C_GAS */
107: 2, /* C_SPARE */
108: 2, /* C_REPAIRS */
109: 10, /* C_GO */
110: 3, /* C_END_LIMIT */
111: 1, /* C_GAS_SAFE */
112: 1, /* C_SPARE_SAFE */
113: 1, /* C_DRIVE_SAFE */
114: 1, /* C_RIGHT_WAY */
115: 0 /* C_INIT */
116: };
117:
118: CARD Discard, /* Top of discard pile */
119: Sh_discard, /* Last discard card shown */
120: *Topcard, /* Pointer to next card to be picked */
121: Opposite[NUM_CARDS] = { /* Opposites of each card */
122: C_25, C_50, C_75, C_100, C_200, C_GAS, C_SPARE,
123: C_REPAIRS, C_GO, C_END_LIMIT, C_EMPTY, C_FLAT, C_CRASH,
124: C_STOP, C_LIMIT, C_EMPTY, C_FLAT, C_CRASH, C_STOP, C_INIT
125: },
126: Deck[DECK_SZ] = { /* Current deck */
127: C_25, C_25, C_25, C_25, C_25, C_25, C_25, C_25, C_25, C_25,
128: C_50, C_50, C_50, C_50, C_50, C_50, C_50, C_50, C_50, C_50,
129: C_75, C_75, C_75, C_75, C_75, C_75, C_75, C_75, C_75, C_75,
130: C_100, C_100, C_100, C_100, C_100, C_100, C_100, C_100, C_100,
131: C_100, C_100, C_100,
132: C_200, C_200, C_200, C_200,
133: C_EMPTY, C_EMPTY,
134: C_FLAT, C_FLAT,
135: C_CRASH, C_CRASH,
136: C_STOP, C_STOP, C_STOP, C_STOP,
137: C_LIMIT, C_LIMIT, C_LIMIT,
138: C_GAS, C_GAS, C_GAS, C_GAS, C_GAS, C_GAS,
139: C_SPARE, C_SPARE, C_SPARE, C_SPARE, C_SPARE, C_SPARE,
140: C_REPAIRS, C_REPAIRS, C_REPAIRS, C_REPAIRS, C_REPAIRS,
141: C_REPAIRS,
142: C_END_LIMIT, C_END_LIMIT, C_END_LIMIT, C_END_LIMIT, C_END_LIMIT,
143: C_END_LIMIT,
144: C_GO, C_GO, C_GO, C_GO, C_GO, C_GO, C_GO, C_GO, C_GO, C_GO,
145: C_GO, C_GO, C_GO, C_GO,
146: C_GAS_SAFE, C_SPARE_SAFE, C_DRIVE_SAFE, C_RIGHT_WAY
147: };
148:
149: FILE *outf;
150:
151: PLAY Player[2]; /* Player descriptions */
152:
153: WINDOW *Board, /* Playing field screen */
154: *Miles, /* Mileage screen */
155: *Score; /* Score screen */
156:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.