|
|
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.