* Remove most unused WIN32 stuff.
[matthijs/ABM2.git] / ABM2 / Playground.h
1 #pragma once\r
2 \r
3 #include "Engine/engine.h"\r
4 \r
5 #define PLAYGROUND_ROWS 11\r
6 #define PLAYGROUND_COLS 15\r
7 #define PLAYGROUND_BORDER_LEFT 20\r
8 #define PLAYGROUND_BORDER_TOP 66\r
9 #define PLAYGROUND_BORDER_RIGHT 20\r
10 #define PLAYGROUND_BORDER_BOTTOM 18\r
11 #define FIELD_UNIT_WIDTH 40\r
12 #define FIELD_UNIT_HEIGHT 36\r
13 #define BOMBERMAN_BASE_SPEED \r
14 enum TMoveDirection { N,NNE,NE,NEE,E,SEE,SE,SSE,S,SSW,SW,SWW,W,NWW,NW,NNW }; //(0-15 clockwise)\r
15 \r
16 class Bomberman\r
17 {\r
18 public:\r
19         Bomberman(int xloc, int yloc);\r
20         ~Bomberman();\r
21         void Update();\r
22         void move(int xloc, int yloc);\r
23         void move_to(int xloc, int yloc);\r
24         void move_to_direction(TMoveDirection dir);\r
25         int getY();\r
26         int getX();\r
27         int getHeight();\r
28         int getWidth();\r
29         int getCenterX();\r
30         int getCenterY();\r
31         int getOffsetX();\r
32         int getOffsetY();\r
33         int getFieldCenterX();\r
34         int getFieldCenterY();\r
35 private:\r
36         int x,y;\r
37 #ifdef WIN32\r
38         LPDIRECT3DTEXTURE9 texture;\r
39 #endif // WIN32\r
40 };\r
41 \r
42 class Tile\r
43 {\r
44 public:\r
45         Tile(const CMMPointer<Sprite> &sprite, int subsprite, int col, int row);\r
46         ~Tile();\r
47         void Draw();\r
48 private:\r
49         CMMPointer<Sprite> sprite;\r
50         int col, row, subsprite;\r
51 };\r
52 \r
53 class Playground : public ITask\r
54 {\r
55 public:\r
56         Playground(CKernel *kernel);\r
57         bool Start();\r
58         void Update();\r
59         void Stop();\r
60         AUTO_SIZE;\r
61 private:\r
62 \r
63         Bomberman *bomberman;\r
64         Tile *field[PLAYGROUND_COLS][PLAYGROUND_ROWS];\r
65 \r
66         void move_up();\r
67         void move_down();\r
68         void move_right();\r
69         void move_left();\r
70 \r
71         DWORD old_counter;\r
72 };\r