add manual page, Berkeley specific copyright
[unix-history] / usr / src / games / mille / extern.c
CommitLineData
ee6f123f
KB
1/*
2 * Copyright (c) 1982 Regents of the University of California.
4dfa8914
KB
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms are permitted
65c7d3b6
KB
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.
ee6f123f
KB
16 */
17
18#ifndef lint
65c7d3b6 19static char sccsid[] = "@(#)extern.c 5.4 (Berkeley) %G%";
4dfa8914 20#endif /* not lint */
ee6f123f
KB
21
22# include "mille.h"
23
24/*
25 * @(#)extern.c 1.1 (Berkeley) 4/1/82
26 */
27
28bool 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
35char *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
62int 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 */
d66cb992 94 },
ee6f123f
KB
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
118CARD 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
149FILE *outf;
150
151PLAY Player[2]; /* Player descriptions */
152
153WINDOW *Board, /* Playing field screen */
154 *Miles, /* Mileage screen */
155 *Score; /* Score screen */
156