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 };
17 GameBoard(int);//, int, int, int);
24 bool GameHasBeenWon(void);
26 int MovePlayerN(void);
27 int MovePlayerS(void);
28 int MovePlayerE(void);
29 int MovePlayerW(void);
30 bool IsBoxNOfPlayer(void);
31 bool IsBoxSOfPlayer(void);
32 bool IsBoxEOfPlayer(void);
33 bool IsBoxWOfPlayer(void);
34 bool UndoLastMove(int &, int &, int &);
37 int Move(int dx, int dy, char, char);
40 int playerX, playerY; // Player X/Y are zero-based
47 int initialX, initialY;
50 UndoMove undo[8192]; // 8K moves ought to be enough for anybody
53 #endif // __GAMEBOARD_H__