Class containing all the bitmaps for the 10 different mazes used throughout the game.

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?

UserRevisionLine numberNew 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 */