]> Shamusworld >> Repos - warehouse-man-deluxe/blob - src/gameboard.h
Added rudimentary animation.
[warehouse-man-deluxe] / src / gameboard.h
1 #ifndef __GAMEBOARD_H__
2 #define __GAMEBOARD_H__
3
4 enum { GTSpace=0x00, GTWall=0x01, GTBox=0x02, GTBoxSpot=0x04 };
5 enum { PMInvalid, PMWalk, PMPush };
6
7 class GameBoard
8 {
9         public:
10                 GameBoard(int);//, int, int, int);
11                 ~GameBoard();
12
13         protected:
14
15         public:
16                 bool GameHasBeenWon(void);
17                 void ResetGame(void);
18                 int MovePlayerN(void);
19                 int MovePlayerS(void);
20                 int MovePlayerE(void);
21                 int MovePlayerW(void);
22                 bool IsBoxNOfPlayer(void);
23                 bool IsBoxSOfPlayer(void);
24                 bool IsBoxEOfPlayer(void);
25                 bool IsBoxWOfPlayer(void);
26
27         private:
28                 int Move(int & var, int direction, char, char);
29
30         public:
31                 int playerX, playerY;           // Player X/Y are zero-based
32                 int width, height;
33                 char * board;
34
35         private:
36                 char * initialBoard;
37                 int initialX, initialY;
38                 int boardLength;
39 };
40
41 #endif  // __GAMEBOARD_H__
42