el15mh 200929957

Dependencies:   mbed

Committer:
el15mh
Date:
Thu May 04 17:39:23 2017 +0000
Revision:
10:989e5dbd12ee
Parent:
9:960dfc71c224
Documented and final revision

Who changed what in which revision?

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