1 #ifndef __GAMEBOARD_H__
2 #define __GAMEBOARD_H__
4 enum { GTSpace=0x00, GTWall=0x01, GTBox=0x02, GTBoxSpot=0x04, GTNull=0x08, GTMan=0x10 };
5 enum { PMInvalid, PMWalk, PMPush };
15 GameBoard(int);//, int, int, int);
21 bool GameHasBeenWon(void);
23 int MovePlayerN(void);
24 int MovePlayerS(void);
25 int MovePlayerE(void);
26 int MovePlayerW(void);
27 bool IsBoxNOfPlayer(void);
28 bool IsBoxSOfPlayer(void);
29 bool IsBoxEOfPlayer(void);
30 bool IsBoxWOfPlayer(void);
31 bool UndoLastMove(int &, int &, int &);
34 int Move(int dx, int dy, char, char);
37 int playerX, playerY; // Player X/Y are zero-based
44 int initialX, initialY;
47 UndoMove undo[8192]; // 8K moves ought to be enough for anybody
50 #endif // __GAMEBOARD_H__