Fission FSN
Loading...
Searching...
No Matches
gfCMazeMinigameGenerateComponent.h
Go to the documentation of this file.
1/********************************************************************
2*
3* File: gfCMazeMinigameGenerateComponent.h
4*
5* Purpose: Generate simple maze to be consumed by the word search
6* component
7*
8*********************************************************************/
9
10#ifndef gfCMazeMinigameGenerateComponenthdr
11#define gfCMazeMinigameGenerateComponenthdr
12
13#include <vector>
14
16#include <fsCore/fsPoint.h>
17
19
21{
22 friend class fsCComponentFactory;
24
25public:
26
27 static const fsStr mWallTile;
28 static const fsStr mPathTile;
29 static const fsStr mStartTile;
30 static const fsStr mEndTile;
31
32 void generate(fsStr const& pTileSet, fsStr const& pHilight, fsPoint const& pDimensions, fsPoint const& pOffset);
33
34 static const fsCUniqueId mTypeId;
35
36protected:
37
38 static fsIComponent* create(fsCEntity* pParent);
39
42
43private:
44
45 static const fsStr mSolveTile;
46 const static fsS32 mDx[4];
47 const static fsS32 mDy[4];
48
49 void startPointGenerate();
50 void dimensionsSanitize(const fsPoint& pDimensions);
51
52 fsS32 columnRowToIndex(fsS32 pColumn, fsS32 pRow) const;
53
54 std::vector<fsS32> randomDirectionsGet() const;
55 void pathCutFrom(fsS32 pColumn, fsS32 pRow);
56 fsBool pathSolve(fsS32 pColumn, fsS32 pRow);
57
58 void gridOfWallsCreate();
59 void fileSave() const;
60
61 std::vector<fsStr> mTiles;
62
63 fsPoint mStart;
64 fsPoint mEnd;
65
66 fsPoint mDimensions;
67 fsPoint mOffest;
68 fsStr mTileSet;
69 fsStr mHilight;
70};
71
72#endif
Definition fsCEntity.h:39
Definition fsCUniqueId.h:21
fsIComponent(fsCEntity *pParent)
Definition fsIComponent.cpp:86
Definition fsStr.h:23
virtual ~gfCMazeMinigameGenerateComponent()
Definition gfCMazeMinigameGenerateComponent.cpp:207
static const fsCUniqueId mTypeId
Definition gfCMazeMinigameGenerateComponent.h:34
friend class gfCWordSearchMinigameLogicComponent
Definition gfCMazeMinigameGenerateComponent.h:23
friend class fsCComponentFactory
Definition gfCMazeMinigameGenerateComponent.h:22
static fsIComponent * create(fsCEntity *pParent)
Definition gfCMazeMinigameGenerateComponent.cpp:194
static const fsStr mPathTile
Definition gfCMazeMinigameGenerateComponent.h:28
static const fsStr mStartTile
Definition gfCMazeMinigameGenerateComponent.h:29
gfCMazeMinigameGenerateComponent(fsCEntity *pParent)
Definition gfCMazeMinigameGenerateComponent.cpp:199
static const fsStr mEndTile
Definition gfCMazeMinigameGenerateComponent.h:30
void generate(fsStr const &pTileSet, fsStr const &pHilight, fsPoint const &pDimensions, fsPoint const &pOffset)
Definition gfCMazeMinigameGenerateComponent.cpp:172
static const fsStr mWallTile
Definition gfCMazeMinigameGenerateComponent.h:27
bool fsBool
Definition fsBaseTypes.h:26
int fsS32
Definition fsBaseTypes.h:20
Definition fsPoint.h:17