windows-nt/Source/XPSP1/NT/shell/osshell/ep/snake/rtns.h
2020-09-26 16:20:57 +08:00

107 lines
1.6 KiB
C

/****************/
/* file: rtns.h */
/****************/
#define lvlLevel 20
#define lvlGameOver 21
#define lvlMax 20
#define cLivesStart 3
#define cLivesMax 9
#define xMax 33
#define yMax 34
#define posMax (xMax*yMax)
#define posNW 0
#define posNE (xMax-1)
#define posSW (posMax-xMax)
#define posSE (posMax-1)
#define posEnter (posMax - 17) /* Entrance: Bottom Center */
#define posLeave 16 /* Exit: Top Center */
/*** Bitmaps ***/
/* Blocks */
#define blkNull 0
#define blkFood 1
#define blkPlum 2
#define blkXXXX 3
#define blkHeadN 4
#define blkHeadE 5
#define blkHeadS 6
#define blkHeadW 7
#define blkTailN 8
#define blkTailE 9
#define blkTailS 10
#define blkTailW 11
#define blkBodyNE 12
#define blkBodySE 13
#define blkBodySW 14
#define blkBodyNW 15
#define blkBodyNS 16
#define blkBodyEW 17
#define blkMax 18
#define blkWallEW 0x1111
#define blkWallNS 0x1044
#define blkWallNW 0x1050
#define blkWallNE 0x1141
#define blkWallSW 0x1014
#define blkWallSE 0x1105
/*** Keys ***/
#define keyHelp '?'
#define keyHelp2 '/'
#define keyStart ' '
#define keyPref 'P'
#define keyPref2 'p'
#define keyPanic 27 /* esc */
#define dirN 0
#define dirE 1
#define dirS 2
#define dirW 3
#define dirLft -1
#define dirRht +1
#define skillBegin 0
#define skillInter 1
#define skillExpert 2
#define tickNil -1
typedef INT TICK; /* Ticks (1/10 of a second) */
typedef INT BLK; /* Block */
typedef INT DIR; /* Direction (N,E,S,W) */
typedef INT POS; /* Facing | display style */
/*** Routines ***/
VOID StartLevel(VOID);
VOID StartGame(INT);
VOID DoTimer(VOID);
VOID DoChangeDir(DIR);
VOID DoChangeRelDir(DIR);