1     namespace NKlein_54321 {
2             class BombSquad {
3                     public:
4                             enum {
5                                 UNCOVERED = 0x1000,
6                                 BOMB = 0x2000,
7                                 FLAG = 0x4000
8                             };
9                     public:
10                             BombSquad(
11                                     Cube* _cube,
12                                     unsigned int _dims = 2,
13                                     unsigned int _skillLevel = 0,
14                                     bool _wrap = true,
15                                     BombSquadView* _view = 0
16                                 );
17                     public:
18                             void reset( void );
19                     public:
20                             void uncover( unsigned int index, bool click = true );
21                             void toggleFlag( unsigned int index );
22                     private:
23                             void checkWinningCondition( void );
24                     private:
25                             Cube* cube;
26                             unsigned int dims;
27                             unsigned int skillLevel;
28                             bool wrap;
29                             unsigned int bombCount;
30                             unsigned int flagCount;
31                             unsigned int coveredCount;
32                             bool gameOver;
33                             BombSquadView* view;
34             };
35     };
36