el15mh 200929957

Dependencies:   mbed

Revision:
9:960dfc71c224
Child:
10:989e5dbd12ee
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Maze/Maze.h	Thu May 04 14:43:29 2017 +0000
@@ -0,0 +1,133 @@
+/** Maze Class
+ @brief Class contains all the mazes in the form of many series of lines.
+ @author Max Houghton
+ @date March 19 2017
+ */
+
+#ifndef MAZE_H
+#define MAZE_H
+
+#include "mbed.h"
+#include "N5110.h"
+
+class Maze
+{
+    
+public:
+    
+    /**
+     *  @details - constructor
+     */
+    Maze();
+    
+    /**
+     *  @details - constructor
+     */
+    ~Maze();
+    
+    /** Initialise the maze
+     *
+     *  @details - maze object is initialised with specific maze index value
+     *  @param - mazeIndex - int to select which maze shall be drawn.
+     */
+    void init(int mazeIndex);
+    
+    /** Draw
+     *
+     *  @details - Maze is drawn on LCD screen.
+     *  @param - lcd - N5110 Library used to draw lines and set pixels which make up maze.
+     */
+    void draw(N5110 &lcd);
+    
+private:
+    
+    /** Maze Zero
+     *
+     *  @details - Adding lines and pixels to lcd buffer which make up first maze (index 0). This is easy maze 1.
+     *  @param - lcd - N5110 Library used to draw lines and pixels.
+     *
+     */
+    void mazeIndexZero(N5110 &lcd);
+    
+    /** Maze One
+     *
+     *  @details - Adding lines and pixels to lcd buffer which make up first maze (index 1). This is easy maze 2.
+     *  @param - lcd - N5110 Library used to draw lines and pixels.
+     *
+     */
+    void mazeIndexOne(N5110 &lcd);
+    
+    
+    /** Maze Two
+     *
+     *  @details - Adding lines and pixels to lcd buffer which make up first maze (index 2). This is easy maze 3.
+     *  @param - lcd - N5110 Library used to draw lines and pixels.
+     *
+     */
+    void mazeIndexTwo(N5110 &lcd);
+    
+    /** Maze Three
+     *
+     *  @details - Adding lines and pixels to lcd buffer which make up first maze (index 3). This is medium maze 1.
+     *  @param - lcd - N5110 Library used to draw lines and pixels.
+     *
+     */
+    void mazeIndexThree(N5110 &lcd);
+    
+    /** Maze Four.
+     *
+     *  @details - Adding lines and pixels to lcd buffer which make up first maze (index 4). This is medium maze 2.
+     *  @param - lcd - N5110 Library used to draw lines and pixels.
+     *
+     */
+    void mazeIndexFour(N5110 &lcd);
+    
+    /** Maze Five.
+     *
+     *  @details - Adding lines and pixels to lcd buffer which make up first maze (index 5). This is medium maze 3.
+     *  @param - lcd - N5110 Library used to draw lines and pixels.
+     *
+     */
+    void mazeIndexFive(N5110 &lcd);
+    
+    
+    /** Maze Six.
+     *
+     *  @details - Adding lines and pixels to lcd buffer which make up first maze (index 6). This is hard maze 1.
+     *  @param - lcd - N5110 Library used to draw lines and pixels.
+     *
+     */
+    void mazeIndexSix(N5110 &lcd);
+    
+    /** Maze Seven.
+     *
+     *  @details - Adding lines and pixels to lcd buffer which make up first maze (index 7). This is hard maze 2.
+     *  @param - lcd - N5110 Library used to draw lines and pixels.
+     *
+     */
+    void mazeIndexSeven(N5110 &lcd);
+    
+    /** Maze Eight.
+     *
+     *  @details - Adding lines and pixels to lcd buffer which make up first maze (index 8). This is hard maze 3.
+     *  @param - lcd - N5110 Library used to draw lines and pixels.
+     *
+     */
+    void mazeIndexEight(N5110 &lcd);
+    
+    /** Maze Nine.
+     *
+     *  @details - Adding lines and pixels to lcd buffer which make up first maze (index 9). This is the extreme version maze.
+     *  @param - lcd - N5110 Library used to draw lines and pixels.
+     *
+     */
+    void mazeIndexNine(N5110 &lcd);
+    
+    /**
+     *  @details - Index value which is used in draw() function to allow the desired maze to be drawn.
+     *  @param - _mazeIndex - integer to specify desired maze.
+     */
+    int _mazeIndex;
+};
+
+#endif /* MAZE_H */