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