Class containing all the bitmaps for the 10 different mazes used throughout the game.
Maze.h@3:8547399e8c29, 2017-05-04 (annotated)
- Committer:
- el15mh
- Date:
- Thu May 04 14:01:45 2017 +0000
- Revision:
- 3:8547399e8c29
- Parent:
- 2:834bd321a30d
Doxygen commenting added
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
el15mh | 3:8547399e8c29 | 1 | /** Maze Class |
el15mh | 3:8547399e8c29 | 2 | @brief Class contains all the mazes in the form of many series of lines. |
el15mh | 3:8547399e8c29 | 3 | @author Max Houghton |
el15mh | 3:8547399e8c29 | 4 | @date March 19 2017 |
el15mh | 2:834bd321a30d | 5 | */ |
el15mh | 0:d5a32831fa28 | 6 | |
el15mh | 0:d5a32831fa28 | 7 | #ifndef MAZE_H |
el15mh | 0:d5a32831fa28 | 8 | #define MAZE_H |
el15mh | 0:d5a32831fa28 | 9 | |
el15mh | 0:d5a32831fa28 | 10 | #include "mbed.h" |
el15mh | 0:d5a32831fa28 | 11 | #include "N5110.h" |
el15mh | 0:d5a32831fa28 | 12 | |
el15mh | 0:d5a32831fa28 | 13 | class Maze |
el15mh | 0:d5a32831fa28 | 14 | { |
el15mh | 0:d5a32831fa28 | 15 | |
el15mh | 0:d5a32831fa28 | 16 | public: |
el15mh | 0:d5a32831fa28 | 17 | |
el15mh | 3:8547399e8c29 | 18 | /** |
el15mh | 3:8547399e8c29 | 19 | * @details - constructor |
el15mh | 3:8547399e8c29 | 20 | */ |
el15mh | 0:d5a32831fa28 | 21 | Maze(); |
el15mh | 3:8547399e8c29 | 22 | |
el15mh | 3:8547399e8c29 | 23 | /** |
el15mh | 3:8547399e8c29 | 24 | * @details - constructor |
el15mh | 3:8547399e8c29 | 25 | */ |
el15mh | 0:d5a32831fa28 | 26 | ~Maze(); |
el15mh | 0:d5a32831fa28 | 27 | |
el15mh | 3:8547399e8c29 | 28 | /** Initialise the maze |
el15mh | 3:8547399e8c29 | 29 | * |
el15mh | 3:8547399e8c29 | 30 | * @details - maze object is initialised with specific maze index value |
el15mh | 3:8547399e8c29 | 31 | * @param - mazeIndex - int to select which maze shall be drawn. |
el15mh | 3:8547399e8c29 | 32 | */ |
el15mh | 1:8ed19eb9e7e5 | 33 | void init(int mazeIndex); |
el15mh | 3:8547399e8c29 | 34 | |
el15mh | 3:8547399e8c29 | 35 | /** Draw |
el15mh | 3:8547399e8c29 | 36 | * |
el15mh | 3:8547399e8c29 | 37 | * @details - Maze is drawn on LCD screen. |
el15mh | 3:8547399e8c29 | 38 | * @param - lcd - N5110 Library used to draw lines and set pixels which make up maze. |
el15mh | 3:8547399e8c29 | 39 | */ |
el15mh | 1:8ed19eb9e7e5 | 40 | void draw(N5110 &lcd); |
el15mh | 1:8ed19eb9e7e5 | 41 | |
el15mh | 1:8ed19eb9e7e5 | 42 | private: |
el15mh | 1:8ed19eb9e7e5 | 43 | |
el15mh | 3:8547399e8c29 | 44 | /** Maze Zero |
el15mh | 3:8547399e8c29 | 45 | * |
el15mh | 3:8547399e8c29 | 46 | * @details - Adding lines and pixels to lcd buffer which make up first maze (index 0). This is easy maze 1. |
el15mh | 3:8547399e8c29 | 47 | * @param - lcd - N5110 Library used to draw lines and pixels. |
el15mh | 3:8547399e8c29 | 48 | * |
el15mh | 3:8547399e8c29 | 49 | */ |
el15mh | 3:8547399e8c29 | 50 | void mazeIndexZero(N5110 &lcd); |
el15mh | 2:834bd321a30d | 51 | |
el15mh | 3:8547399e8c29 | 52 | /** Maze One |
el15mh | 3:8547399e8c29 | 53 | * |
el15mh | 3:8547399e8c29 | 54 | * @details - Adding lines and pixels to lcd buffer which make up first maze (index 1). This is easy maze 2. |
el15mh | 3:8547399e8c29 | 55 | * @param - lcd - N5110 Library used to draw lines and pixels. |
el15mh | 3:8547399e8c29 | 56 | * |
el15mh | 3:8547399e8c29 | 57 | */ |
el15mh | 2:834bd321a30d | 58 | void mazeIndexOne(N5110 &lcd); |
el15mh | 3:8547399e8c29 | 59 | |
el15mh | 3:8547399e8c29 | 60 | |
el15mh | 3:8547399e8c29 | 61 | /** Maze Two |
el15mh | 3:8547399e8c29 | 62 | * |
el15mh | 3:8547399e8c29 | 63 | * @details - Adding lines and pixels to lcd buffer which make up first maze (index 2). This is easy maze 3. |
el15mh | 3:8547399e8c29 | 64 | * @param - lcd - N5110 Library used to draw lines and pixels. |
el15mh | 3:8547399e8c29 | 65 | * |
el15mh | 3:8547399e8c29 | 66 | */ |
el15mh | 2:834bd321a30d | 67 | void mazeIndexTwo(N5110 &lcd); |
el15mh | 2:834bd321a30d | 68 | |
el15mh | 3:8547399e8c29 | 69 | /** Maze Three |
el15mh | 3:8547399e8c29 | 70 | * |
el15mh | 3:8547399e8c29 | 71 | * @details - Adding lines and pixels to lcd buffer which make up first maze (index 3). This is medium maze 1. |
el15mh | 3:8547399e8c29 | 72 | * @param - lcd - N5110 Library used to draw lines and pixels. |
el15mh | 3:8547399e8c29 | 73 | * |
el15mh | 3:8547399e8c29 | 74 | */ |
el15mh | 2:834bd321a30d | 75 | void mazeIndexThree(N5110 &lcd); |
el15mh | 3:8547399e8c29 | 76 | |
el15mh | 3:8547399e8c29 | 77 | /** Maze Four. |
el15mh | 3:8547399e8c29 | 78 | * |
el15mh | 3:8547399e8c29 | 79 | * @details - Adding lines and pixels to lcd buffer which make up first maze (index 4). This is medium maze 2. |
el15mh | 3:8547399e8c29 | 80 | * @param - lcd - N5110 Library used to draw lines and pixels. |
el15mh | 3:8547399e8c29 | 81 | * |
el15mh | 3:8547399e8c29 | 82 | */ |
el15mh | 2:834bd321a30d | 83 | void mazeIndexFour(N5110 &lcd); |
el15mh | 3:8547399e8c29 | 84 | |
el15mh | 3:8547399e8c29 | 85 | /** Maze Five. |
el15mh | 3:8547399e8c29 | 86 | * |
el15mh | 3:8547399e8c29 | 87 | * @details - Adding lines and pixels to lcd buffer which make up first maze (index 5). This is medium maze 3. |
el15mh | 3:8547399e8c29 | 88 | * @param - lcd - N5110 Library used to draw lines and pixels. |
el15mh | 3:8547399e8c29 | 89 | * |
el15mh | 3:8547399e8c29 | 90 | */ |
el15mh | 2:834bd321a30d | 91 | void mazeIndexFive(N5110 &lcd); |
el15mh | 2:834bd321a30d | 92 | |
el15mh | 3:8547399e8c29 | 93 | |
el15mh | 3:8547399e8c29 | 94 | /** Maze Six. |
el15mh | 3:8547399e8c29 | 95 | * |
el15mh | 3:8547399e8c29 | 96 | * @details - Adding lines and pixels to lcd buffer which make up first maze (index 6). This is hard maze 1. |
el15mh | 3:8547399e8c29 | 97 | * @param - lcd - N5110 Library used to draw lines and pixels. |
el15mh | 3:8547399e8c29 | 98 | * |
el15mh | 3:8547399e8c29 | 99 | */ |
el15mh | 2:834bd321a30d | 100 | void mazeIndexSix(N5110 &lcd); |
el15mh | 3:8547399e8c29 | 101 | |
el15mh | 3:8547399e8c29 | 102 | /** Maze Seven. |
el15mh | 3:8547399e8c29 | 103 | * |
el15mh | 3:8547399e8c29 | 104 | * @details - Adding lines and pixels to lcd buffer which make up first maze (index 7). This is hard maze 2. |
el15mh | 3:8547399e8c29 | 105 | * @param - lcd - N5110 Library used to draw lines and pixels. |
el15mh | 3:8547399e8c29 | 106 | * |
el15mh | 3:8547399e8c29 | 107 | */ |
el15mh | 2:834bd321a30d | 108 | void mazeIndexSeven(N5110 &lcd); |
el15mh | 3:8547399e8c29 | 109 | |
el15mh | 3:8547399e8c29 | 110 | /** Maze Eight. |
el15mh | 3:8547399e8c29 | 111 | * |
el15mh | 3:8547399e8c29 | 112 | * @details - Adding lines and pixels to lcd buffer which make up first maze (index 8). This is hard maze 3. |
el15mh | 3:8547399e8c29 | 113 | * @param - lcd - N5110 Library used to draw lines and pixels. |
el15mh | 3:8547399e8c29 | 114 | * |
el15mh | 3:8547399e8c29 | 115 | */ |
el15mh | 2:834bd321a30d | 116 | void mazeIndexEight(N5110 &lcd); |
el15mh | 2:834bd321a30d | 117 | |
el15mh | 3:8547399e8c29 | 118 | /** Maze Nine. |
el15mh | 3:8547399e8c29 | 119 | * |
el15mh | 3:8547399e8c29 | 120 | * @details - Adding lines and pixels to lcd buffer which make up first maze (index 9). This is the extreme version maze. |
el15mh | 3:8547399e8c29 | 121 | * @param - lcd - N5110 Library used to draw lines and pixels. |
el15mh | 3:8547399e8c29 | 122 | * |
el15mh | 3:8547399e8c29 | 123 | */ |
el15mh | 2:834bd321a30d | 124 | void mazeIndexNine(N5110 &lcd); |
el15mh | 0:d5a32831fa28 | 125 | |
el15mh | 3:8547399e8c29 | 126 | /** |
el15mh | 3:8547399e8c29 | 127 | * @details - Index value which is used in draw() function to allow the desired maze to be drawn. |
el15mh | 3:8547399e8c29 | 128 | * @param - _mazeIndex - integer to specify desired maze. |
el15mh | 3:8547399e8c29 | 129 | */ |
el15mh | 1:8ed19eb9e7e5 | 130 | int _mazeIndex; |
el15mh | 0:d5a32831fa28 | 131 | }; |
el15mh | 0:d5a32831fa28 | 132 | |
el15mh | 2:834bd321a30d | 133 | #endif /* MAZE_H */ |