|
|
1.1 root 1: /*----------------------------------------------------------------------*/
2: /* */
3: /* PACMAN for BBN BitGraphs */
4: /* */
5: /* File: board.c68 */
6: /* Contents: declaration of game board and operations */
7: /* Author: Bob Brown (rlb) */
8: /* Purdue CS */
9: /* Date: May, 1982 */
10: /* Description: The Game board is not easily changed. The */
11: /* characters used are also defined in pacman.h */
12: /* */
13: /*----------------------------------------------------------------------*/
14:
15: #include "style.h"
16: #include "pacman.h"
17:
18: /*
19: ** Due to memory limitations, the static game board shown below is
20: ** overwritten by the dynamic version.
21: */
22:
23: bool Blasted = FALSE;
24:
25: char *Board[] = {
26: "2000000000000320000000000003",
27: "1777777777777117777777777771",
28: "1720037200037117200037200371",
29: "1819917199917117199917199181",
30: "1750047500047547500047500471",
31: "1777777777777777777777777771",
32: "1720037237200000037237200371",
33: "1750047117500320047117500471",
34: "1777777117777117777117777771",
35: "5000037150039119200417200004",
36: "999991712004=54=500317199999",
37: "999991711;;;;;;;;;;117199999",
38: "999991711;20666603;117199999",
39: "000004754;19999991;547500000",
40: "::::::799;19999991;997::::::",
41: "000003723;19999991;237200000",
42: "999991711;50000004;117199999",
43: "999991711;;;;;;;;;;117199999",
44: "9999917119200000039117199999",
45: "2000047549500320049547500003",
46: "1777777777777117777777777771",
47: "1720037200037117200037200371",
48: "175031750004<54<500047120471",
49: "1877117777777997777777117781",
50: "5037117237200000037237117204",
51: "2047547117500320047117547503",
52: "1777777117777117777117777771",
53: "1720000450037117200450000371",
54: "1750000000047547500000000471",
55: "1777777777777777777777777771",
56: "5000000000000000000000000004",
57: };
58:
59: /*
60: ** Generate a new board from the fixed board
61: */
62: newboard()
63: {
64: register int i,j;
65: register char c;
66: for ( i=0 ; i<MAZEROWS ; i++ )
67: for ( j=0 ; j<MAZECOLS ; j++ ) {
68: Board[i][j] &= TYPEMASK;
69: switch ( Board[i][j] ) {
70: case FIXPILL:
71: Board[i][j] |= PILL;
72: break;
73: case BLKDOT:
74: case FIXGOLD:
75: Board[i][j] |= GOLD;
76: }
77: }
78: }
79: char chrmap[] = {"abcdefghi h "};
80: drawboard()
81: {
82: register int i,j;
83: register char c;
84: /*cursinhibit();*/
85: for ( i=0 ; i<MAZEROWS ; i++ ) {
86: for ( j=0 ; j<MAZECOLS ; j++ ) {
87: c = chrmap[Board[i][j] & TYPEMASK];
88: if ( c!=' ' )
89: blt24(c,MZtoSC(i),MZtoSC(j),REPLACE);
90: }
91: #ifndef BLIT
92: rsetdead();
93: #endif
94: }
95: /*cursallow();*/
96: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.