el15mh 200929957

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
el15mh
Date:
Thu May 04 17:39:23 2017 +0000
Parent:
9:960dfc71c224
Commit message:
Documented and final revision

Changed in this revision

Animations/Animations.h Show annotated file Show diff for this revision Revisions of this file
Ball/Ball.h Show annotated file Show diff for this revision Revisions of this file
Maze/Maze.h Show annotated file Show diff for this revision Revisions of this file
MazeEngine/MazeEngine.h Show annotated file Show diff for this revision Revisions of this file
Menu/Menu.h Show annotated file Show diff for this revision Revisions of this file
diff -r 960dfc71c224 -r 989e5dbd12ee Animations/Animations.h
--- a/Animations/Animations.h	Thu May 04 14:43:29 2017 +0000
+++ b/Animations/Animations.h	Thu May 04 17:39:23 2017 +0000
@@ -1,9 +1,3 @@
-/** Animations Class
- @brief Class contains all the different animations used throughout the game.
- @author Max Houghton
- @date April 13 2017
- */
-
 #ifndef ANIMATIONS_H
 #define ANIMATIONS_H
 
@@ -11,6 +5,12 @@
 #include "N5110.h"
 #include "Gamepad.h"
 
+/**
+ @brief Animations Class contains all the different animations used throughout the game.
+ @author Max Houghton
+ @date April 13 2017
+ */
+
 class Animations
 {
     
diff -r 960dfc71c224 -r 989e5dbd12ee Ball/Ball.h
--- a/Ball/Ball.h	Thu May 04 14:43:29 2017 +0000
+++ b/Ball/Ball.h	Thu May 04 17:39:23 2017 +0000
@@ -1,9 +1,3 @@
-/**
- @brief Ball Class contains necessary parameters to draw the ball of the correct position, size and fill style.
- @author Max Houghton
- @date March 19 2017
- */
-
 #ifndef BALL_H
 #define BALL_H
 
@@ -11,6 +5,12 @@
 #include "N5110.h"
 #include "Gamepad.h"
 
+/**
+ @brief Ball Class contains necessary parameters to draw the ball of the correct position, size and colour.
+ @author Max Houghton
+ @date March 19 2017
+ */
+
 class Ball
 {
     
@@ -62,6 +62,7 @@
     /** Get Velocity
      *
      *  @details - Function returns a 2D Vector struct containing information about the ball's next position.
+     *  @return position
      *
      */
     Vector2D getVelocity();
@@ -70,6 +71,7 @@
      *
      *  @details - This function dictates the position of the ball for the next update of the game. It is used in the wall collision check and goal check functions.
      *  @param - p - 2D Vector struct containing the location of the ball to be set to.
+     *  @return velocity
      *
      */
     void setPosition(Vector2D p);
@@ -92,27 +94,29 @@
     /** Check For Interference
      *
      *  @details - When using the accelerometer data for position values, small but non-zero values can cause the ball undesirably. This function removes all small values of the data ensuring the ball only moves according to deliberate movements of the accelerometer.
+     *  @return velocity
      *
      */
     Vector2D checkForInterference(Vector2D velocity);
     
     /**
-     *  @param - _radius - Integer to decide size of the ball to be drawn.
+     *  @param _radius - Integer to decide size of the ball to be drawn.
      */
     int _radius;
     
     /**
-     *  @param - _x - Float value specifying x coordinate of centre of ball.
+     *  @param _x - Float value specifying x coordinate of centre of ball.
      */
     float _x;
     
     /**
-     *  @param - _y - Float value specifying y coordinate of centre of ball.
+     *  @param _y - Float value specifying y coordinate of centre of ball.
      */
     float _y;
     
     /**
-     *  @param - _colour - Boolean value specifying fill style of the ball; true corresponds to transparent fill and false to solid fill.
+     *  @param _colour - Boolean value specifying fill style of the ball; true corresponds to transparent fill and false to solid fill.
+     *  @return _colour
      */
     bool _colour;
     
diff -r 960dfc71c224 -r 989e5dbd12ee Maze/Maze.h
--- a/Maze/Maze.h	Thu May 04 14:43:29 2017 +0000
+++ b/Maze/Maze.h	Thu May 04 17:39:23 2017 +0000
@@ -1,15 +1,15 @@
-/** 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"
 
+/**
+ @brief Maze Class contains all the mazes in the form of many series of lines.
+ @author Max Houghton
+ @date March 19 2017
+ */
+
 class Maze
 {
     
@@ -28,14 +28,14 @@
     /** Initialise the maze
      *
      *  @details - maze object is initialised with specific maze index value
-     *  @param - mazeIndex - int to select which maze shall be drawn.
+     *  @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.
+     *  @param lcd - N5110 Library used to draw lines and set pixels which make up maze.
      */
     void draw(N5110 &lcd);
     
@@ -44,7 +44,7 @@
     /** 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.
+     *  @param lcd - N5110 Library used to draw lines and pixels.
      *
      */
     void mazeIndexZero(N5110 &lcd);
@@ -52,7 +52,7 @@
     /** 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.
+     *  @param lcd - N5110 Library used to draw lines and pixels.
      *
      */
     void mazeIndexOne(N5110 &lcd);
@@ -61,7 +61,7 @@
     /** 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.
+     *  @param lcd - N5110 Library used to draw lines and pixels.
      *
      */
     void mazeIndexTwo(N5110 &lcd);
@@ -69,7 +69,7 @@
     /** 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.
+     *  @param lcd - N5110 Library used to draw lines and pixels.
      *
      */
     void mazeIndexThree(N5110 &lcd);
@@ -77,7 +77,7 @@
     /** 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.
+     *  @param lcd - N5110 Library used to draw lines and pixels.
      *
      */
     void mazeIndexFour(N5110 &lcd);
@@ -85,7 +85,7 @@
     /** 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.
+     *  @param lcd - N5110 Library used to draw lines and pixels.
      *
      */
     void mazeIndexFive(N5110 &lcd);
@@ -94,7 +94,7 @@
     /** 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.
+     *  @param lcd - N5110 Library used to draw lines and pixels.
      *
      */
     void mazeIndexSix(N5110 &lcd);
@@ -102,7 +102,7 @@
     /** 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.
+     *  @param lcd - N5110 Library used to draw lines and pixels.
      *
      */
     void mazeIndexSeven(N5110 &lcd);
@@ -110,7 +110,7 @@
     /** 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.
+     *  @param lcd - N5110 Library used to draw lines and pixels.
      *
      */
     void mazeIndexEight(N5110 &lcd);
@@ -118,14 +118,14 @@
     /** 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.
+     *  @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.
+     *  @param _mazeIndex - integer to specify desired maze.
      */
     int _mazeIndex;
 };
diff -r 960dfc71c224 -r 989e5dbd12ee MazeEngine/MazeEngine.h
--- a/MazeEngine/MazeEngine.h	Thu May 04 14:43:29 2017 +0000
+++ b/MazeEngine/MazeEngine.h	Thu May 04 17:39:23 2017 +0000
@@ -1,9 +1,3 @@
-/** Maze Engine class
- @brief Class runs the game loop, drawing the mazes and checking for wall collisions and goals.
- @author Max Houghton
- @date March 3 2017
- */
-
 #ifndef MAZEENGINE_H
 #define MAZEENGINE_H
 
@@ -15,6 +9,12 @@
 #include "Ball.h"
 #include "Maze.h"
 
+/**
+ @brief Maze Engine Class runs the game loop, drawing the mazes and checking for wall collisions and goals.
+ @author Max Houghton
+ @date March 3 2017
+ */
+
 class MazeEngine
 {
     
@@ -33,12 +33,12 @@
     /** Initiase Game
      *
      *   @details - Initiases the game with the appropriate different parameters chosen by user
-     *   @param - mazeIndex - selects the maze to be drawn
-     *   @param - x - specifies the x coordinate for the starting position of the ball
-     *   @param - y - specifies the y coordinate for the starting position of the ball
-     *   @param - radius - specifies size of the ball to be drawn
-     *   @param - control - selects the ball control method; joystick or accelerometer
-     *   @param - colour - specifies if the ball is either transparent or filled
+     *   @param mazeIndex - selects the maze to be drawn
+     *   @param x - specifies the x coordinate for the starting position of the ball
+     *   @param y - specifies the y coordinate for the starting position of the ball
+     *   @param radius - specifies size of the ball to be drawn
+     *   @param control - selects the ball control method; joystick or accelerometer
+     *   @param colour - specifies if the ball is either transparent or filled
      */
     void init(int mazeIndex,    // sets the difficulty of the maze
               int x,            // x coordinate of ball centre
@@ -50,14 +50,14 @@
     /** Read Input
      *
      *  @details - Reads the input from either the joystick or the accelerometer. If (boolean) control value is true, joystick is used, otherwise the accelerometer is used.
-     *  @param - pad - Gamepad Library.
-     *  @param - device - FXOS8700CQ Library.
+     *  @param pad - Gamepad Library.
+     *  @param device - FXOS8700CQ Library.
      */
     void readInput(Gamepad &pad, FXOS8700CQ &device);
     
     /** Read Joystick Input
      *
-     *  @param - pad - Gamepad Library.
+     *  @param pad - Gamepad Library.
      *  2D Vector position (struct) is filled with (x,y) values using get_mapped_coord()
      *  function from Gamepad library.
      *  Values are between -1 and 1.
@@ -68,100 +68,101 @@
     /** Read Accelerometer
      *
      *  @details - Struct 'Data' is filled with values using get_values() function from FXOS8700CQ library. These data values are then used to calculate the pitch and roll for the device. Pitch and roll are both floats between -1 and 1. Pitch value equates to motion in the x axis, and roll in the y axis.
-     *  @param - device - the FXOS8700CQ Library.
+     *  @param device - the FXOS8700CQ Library.
      */
     void readAccelerometer(FXOS8700CQ &device);
     
     /** Update
      *
      *  @details - Updates the game using the position parameters found previously. Initially checks for goal, if so, quit function. If no goal, the position of the ball is updated and the space around the ball is checked for the next loop.
-     *  @param - position - 2D Vector struct holding ball position.
+     *  @param position - 2D Vector struct holding ball position.
      */
     void update(N5110 &lcd);
     
     /** Draw
      *
      *  @details - Draws both the maze and the ball. Maze Array is used when performing wall collision checks. Acquired prior to drawing the ball to avoid confusion between ball edges and walls.
-     *  @param - lcd - N5110 Library.
+     *  @param lcd - N5110 Library.
      */
     void draw(N5110 &lcd);
     
     /** Check Wall Collision
      *
      *  @details - Checks the position of the ball using the getPosition() function from the ball class. The distance between the centre and the outermost turned on pixel is calculated. If the value calculated is different than the radius value, there must be a pixel. Therefore stop movement in that direction.
-     *  @param - lcd - N5110 Library used to create lcd buffer for maze and ball.
+     *  @param lcd - N5110 Library used to create lcd buffer for maze and ball.
      */
     void checkWallCollision(N5110 &lcd);
     
     /** Check Goal
      *
      *  @details - Position of the ball is acquired using getPosition() function from Ball class. For extreme maze (index 9), goal location is at centre of maze. For all other mazes, goal is achieved when x coordinate of centre of ball exceeds (+ radius) the maximum value of the LCD buffer, 83. (i.e it has gone off the screen)
-     *  @param - lcd - N5110 Library.
+     *  @param lcd - N5110 Library.
      */
     bool checkGoal();
     
     /** Get Maze Array
      *
      *  @details - Array used for wall collision checking is aquired. Function scans through each pixel in the LCD and sets value in corresponding array to 1 if the pixel is turned on
-     *  @param - lcd - N5110 Library.
+     *  @param lcd - N5110 Library.
+     *  @return _goal
      */
     void getMazeArray(N5110 &lcd);
     
     /** Goal
      *
-     *  @param - _goal - Boolean variable stating whether the goal has been achieved or not.
+     *  @param _goal - Boolean variable stating whether the goal has been achieved or not.
      */
     bool _goal;
     
 private:
     
     /**
-     *  @param - _maze - Create instance of Maze class.
+     *  @param _maze - Create instance of Maze class.
      */
     Maze _maze;
     
     /**
-     *  @param - _ball_ - Create instance of Ball class.
+     *  @param _ball_ - Create instance of Ball class.
      */
     Ball _ball;
     
     /**
-     *  @param - position - 2D Vector struct storing the position of the ball.
+     *  @param position - 2D Vector struct storing the position of the ball.
      */
     Vector2D position;
     
     /**
-     *  @param - _mazeIndex - Integer variable to store maze index. This is used to draw the appropriate maze.
+     *  @param _mazeIndex - Integer variable to store maze index. This is used to draw the appropriate maze.
      */
     int _mazeIndex;
     
     /**
-     *  @param - _x - coordinate for centre of the ball.
+     *  @param _x - coordinate for centre of the ball.
      */
     int _x;
     
     /**
-     *  @param - _y - coordinate for centre of the ball.
+     *  @param _y - coordinate for centre of the ball.
      */
     int _y;
     
     /**
-     *  @param - _radius - value of the size of the ball
+     *  @param _radius - value of the size of the ball
      */
     int _radius;
     
     /**
-     *  @param - _control - Boolean variable to state the control method. If _control is true, the joystick is used for an input, otherwise the accelerometer is used.
+     *  @param _control - Boolean variable to state the control method. If _control is true, the joystick is used for an input, otherwise the accelerometer is used.
      */
     bool _control;
     
     /**
-     *  @param - _colour - Boolean variable to state the ball fill style. If _colour is true, the ball has a transparent fill, otherwise the ball has a solid fill.
+     *  @param _colour - Boolean variable to state the ball fill style. If _colour is true, the ball has a transparent fill, otherwise the ball has a solid fill.
      */
     bool _colour;
     
     /**
-     *  @param - _mazArray[][] - 2D Float Array storing the locations of the turned on pixels. Used for wall collision checks.
+     *  @param _mazArray[][] - 2D Float Array storing the locations of the turned on pixels. Used for wall collision checks.
      */
     float _mazeArray[84][48];
 };
diff -r 960dfc71c224 -r 989e5dbd12ee Menu/Menu.h
--- a/Menu/Menu.h	Thu May 04 14:43:29 2017 +0000
+++ b/Menu/Menu.h	Thu May 04 17:39:23 2017 +0000
@@ -1,9 +1,3 @@
-/** Menu Class
- @brief Class runs the menu which the program uses as a basis.
- @author Max Houghton
- @date April 4 2017
- */
-
 #ifndef MENU_H
 #define MENU_H
 
@@ -17,6 +11,12 @@
 #include "Maze.h"
 #include "Ball.h"
 
+/**
+ @brief Menu Class runs the menu which the program uses as a basis.
+ @author Max Houghton
+ @date April 4 2017
+ */
+
 class Menu
 {
     
@@ -42,10 +42,10 @@
     /** Main Menu Function
      *
      *  @details - The main function which runs the game and allows player to select all different game parameters.
-     *  @param - lcd - N5110 Library, used for drawing strings and printing bitmaps
-     *  @param - pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
-     *  @param - device - FXOS8700CQ Libary, used to read data from accelerometer
-     *  @param - animate - Animations Library to provide short animations.
+     *  @param lcd - N5110 Library, used for drawing strings and printing bitmaps
+     *  @param pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
+     *  @param device - FXOS8700CQ Libary, used to read data from accelerometer
+     *  @param animate - Animations Library to provide short animations.
      *
      */
     void main(N5110 &lcd,
@@ -57,9 +57,9 @@
      *
      *  @details - The main function which runs the game and allows player to select all different game parameters.
      *  @details - Called from main file when the game is loading.
-     *  @param - lcd - N5110 Library, used for drawing strings and printing bitmaps
-     *  @param - pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
-     *  @param - animate - Animations Library to provide short animations.
+     *  @param lcd - N5110 Library, used for drawing strings and printing bitmaps
+     *  @param pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
+     *  @param animate - Animations Library to provide short animations.
      *
      */
     void intro(N5110 &lcd, Gamepad &pad, Animations &animate);
@@ -69,13 +69,13 @@
     /**
      *
      * @details - Game Loop function.
-     * @param - lcd - N5110 Library, used for drawing strings and printing bitmaps
-     *  @param - pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
-     *  @param - device - FXOS8700CQ Libary, used to read data from accelerometer
-     *  @param - animate - Animations Library to provide short animations.
-     *  @param - difficulty - Integer value to specificy desired difficulty; maze Index is randomly chosen according to difficulty value.
-     *  @param - tone - Boolean value to select whether sound is used or not.
-     *  @param - FPS - Specifies the frame rate at which the game is to be played at.
+     * @param lcd - N5110 Library, used for drawing strings and printing bitmaps
+     *  @param pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
+     *  @param device - FXOS8700CQ Libary, used to read data from accelerometer
+     *  @param animate - Animations Library to provide short animations.
+     *  @param difficulty - Integer value to specificy desired difficulty; maze Index is randomly chosen according to difficulty value.
+     *  @param tone - Boolean value to select whether sound is used or not.
+     *  @param FPS - Specifies the frame rate at which the game is to be played at.
      *
      */
     void playGame(N5110 &lcd,
@@ -89,12 +89,12 @@
     /**
      *
      * @details - Prints all chosen game parameters to serial port - used mostly for debugging.
-     * @param - mazeIndex - specifies which of the 10 mazes is to be drawn.
-     * @param - x - x coordiante for centre of ball when drawn initially.
-     * @param - y - y coordiante for centre of ball when drawn initially.
-     * @param - control - Boolean value to specify desired control method.
-     * @param - colour - Boolean value to select type of ball; filled or transparent.
-     * @param - FPS - Specifies the frame rate at which the game is to be played at.
+     * @param mazeIndex - specifies which of the 10 mazes is to be drawn.
+     * @param x - x coordiante for centre of ball when drawn initially.
+     * @param y - y coordiante for centre of ball when drawn initially.
+     * @param control - Boolean value to specify desired control method.
+     * @param colour - Boolean value to select type of ball; filled or transparent.
+     * @param FPS - Specifies the frame rate at which the game is to be played at.
      *
      */
     void printGameParameters(int mazeIndex,
@@ -109,10 +109,10 @@
     /**
      *
      * @details - Game Options Function to allow user to choose game style.
-     * @param - lcd - N5110 Library, used for drawing strings and printing bitmaps
-     *  @param - pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
-     *  @param - animate - Animations Library to provide short animations.
-     *  @param - tone - Boolean value to select whether sound is used or not.
+     * @param lcd - N5110 Library, used for drawing strings and printing bitmaps
+     *  @param pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
+     *  @param animate - Animations Library to provide short animations.
+     *  @param tone - Boolean value to select whether sound is used or not.
      */
     void options(N5110 &lcd, Gamepad &pad, Animations &animate, bool tone);
     
@@ -120,9 +120,9 @@
     /**
      *
      * @details - LCD Settings Function to allow user to alter appearance of game on LCD.
-     * @param - lcd - N5110 Library, used for drawing strings and printing bitmaps
-     *  @param - pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
-     *  @param - animate - Animations Library to provide short animations.    
+     * @param lcd - N5110 Library, used for drawing strings and printing bitmaps
+     *  @param pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
+     *  @param animate - Animations Library to provide short animations.    
      *
      */
     void lcdSettings(N5110 &lcd, Gamepad &pad, Animations &animate);
@@ -130,9 +130,9 @@
     /**
      *
      * @details - Sound Settings to allow user to turn sound on or off. This changes the boolean value of the '_tone' variable.
-     * @param - lcd - N5110 Library, used for drawing strings and printing bitmaps
-     *  @param - pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
-     *  @param - animate - Animations Library to animate slide bar to display brightness level settings.
+     * @param lcd - N5110 Library, used for drawing strings and printing bitmaps
+     *  @param pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
+     *  @param animate - Animations Library to animate slide bar to display brightness level settings.
      *
      */
     void soundSettings(N5110 &lcd, Gamepad &pad, Animations &animate);
@@ -140,9 +140,9 @@
     /**
      *
      * @details - Control Options Function which allows user select control technique. This chanes the boolean value of the '_control' variable.
-     * @param - lcd - N5110 Library, used for drawing strings and printing bitmaps
-     *  @param - pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
-     *  @param - animate -Animations Library to provide animations for either joystick or gamepad tilt selection.
+     * @param lcd - N5110 Library, used for drawing strings and printing bitmaps
+     *  @param pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
+     *  @param animate -Animations Library to provide animations for either joystick or gamepad tilt selection.
      *
      */
     void controlOptions(N5110 &lcd, Gamepad &pad, Animations &animate);
@@ -150,8 +150,8 @@
     /**
      *
      * @details - Difficulty Options Function to allow player to select difficulty level. This changes the value of integer variable '_difficulty' to 1, 2, 3 or 4. The maze index for the maze is then selected randomly according to this difficulty value.
-     * @param - lcd - N5110 Library, used for drawing strings and printing bitmaps
-     *  @param - pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
+     * @param lcd - N5110 Library, used for drawing strings and printing bitmaps
+     *  @param pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
      *
      */
     void difficultyOptions(N5110 &lcd, Gamepad &pad);
@@ -159,9 +159,9 @@
     /**
      *
      * @details - Ball colour function to select the style of ball used in the game. This function changes the value of boolean variable '_colour'; true corresponds to a transparent fill and false to solid fill.
-     * @param - lcd - N5110 Library, used for drawing strings and printing bitmaps
-     *  @param - pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
-     *  @param - animate - Animations Library to provide animations for either solid or transparent fill selection.
+     * @param lcd - N5110 Library, used for drawing strings and printing bitmaps
+     *  @param pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
+     *  @param animate - Animations Library to provide animations for either solid or transparent fill selection.
      *
      */
     void ballColourOptions(N5110 &lcd, Gamepad &pad, Animations &animate);
@@ -169,100 +169,101 @@
     /**
      *s
      * @details - LCD Inverse Colour function which allows user to switch colours on the LCD.
-     * @param - lcd - N5110 Library, used for drawing strings and printing bitmaps
-     *  @param - pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
+     * @param lcd - N5110 Library, used for drawing strings and printing bitmaps
+     *  @param pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
      *
      */
     void lcdInverseColour(N5110 &lcd, Gamepad &pad);
     
     /**
      * @details - LCD Background Colour function which changes the PWM value of the LCD backlight LED.
-     * @param - lcd - N5110 Library, used for drawing strings and printing bitmaps
-     *  @param - pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
-     *  @param - animate - Animations Library to provide animation for switch.
+     * @param lcd - N5110 Library, used for drawing strings and printing bitmaps
+     *  @param pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
+     *  @param animate - Animations Library to provide animation for switch.
      */
     void lcdBackgroundColour(N5110 &lcd, Gamepad &pad, Animations &animate);
     
     /**
      * @details - Animate Joystick function creats a short animation of moving joystick.
-     * @param - lcd - N5110 Library, used for drawing strings and printing bitmaps
-     *  @param - animate - Animations Library to provide animation for moving joystick bitmaps.
+     * @param lcd - N5110 Library, used for drawing strings and printing bitmaps
+     *  @param animate - Animations Library to provide animation for moving joystick bitmaps.
      */
     void animateJoystick(N5110 &lcd, Animations &animate);
     
     /**
      * @details - Animate Gamepad function creats a short animation of moving gamepad.
-     * @param - lcd - N5110 Library, used for drawing strings and printing bitmaps
-     *  @param - animate - Animations Library to provide animation for moving gamepad bitmaps.
+     * @param lcd - N5110 Library, used for drawing strings and printing bitmaps
+     *  @param animate - Animations Library to provide animation for moving gamepad bitmaps.
      */
     void animateGamepad(N5110 &lcd, Animations &animate);
     
     /**
      * @details - Animate Stickman function creates a short animation of jumping man to signify goal reached.
-     * @param - lcd - N5110 Library, used for drawing strings and printing bitmaps
-     *  @param - pad - Gamepad Library, used to flash LEDS on and off.
-     *  @param - animate - Animations Library to provide animation for moving stickman bitmap.
+     * @param lcd - N5110 Library, used for drawing strings and printing bitmaps
+     *  @param pad - Gamepad Library, used to flash LEDS on and off.
+     *  @param animate - Animations Library to provide animation for moving stickman bitmap.
      */
     void animateStickman(N5110 &lcd, Gamepad &pad, Animations &animate);
     
     /**
      * @details - Game Speed function which changes the FPS used in the game loop.
-     * @param - lcd - N5110 Library, used for drawing strings and printing bitmaps
-     *  @param - pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
+     * @param lcd - N5110 Library, used for drawing strings and printing bitmaps
+     *  @param pad - Gamepad Library, used to read inputs from peripheral devides on the handheld gamepad device.
      */
     void speedSettings(N5110 &lcd, Gamepad &pad);
     
     /**
      * @details - Returns a random number between two set values
-     * @param - difficulty - Specified value dictating the level of maze to be played
+     * @param difficulty - Specified value dictating the level of maze to be played
      */
     int randomMazeIndexGenerator(int difficulty);
     
     /**
      * @details - Creates _engine object to be used when running the game loop.
-     * @param - _engine - instance of MazeEngine class.
+     * @param _engine - instance of MazeEngine class.
+     * @return _mazeIndex
      */
     MazeEngine _engine;
     
     /**
      * @details - Integer to select the specific maze to be drawn by engine.
-     * @param - _mazeIndex - variable to be passed down to engine.
+     * @param _mazeIndex - variable to be passed down to engine.
      */
     int _mazeIndex;
     
     /**
      * @details - Integer to select the desired difficulty by user.
-     * @param - _difficulty - variable to be passed down to engine. Value used in randomMazeIndexGenerator() function
+     * @param _difficulty - variable to be passed down to engine. Value used in randomMazeIndexGenerator() function
      */
     int _difficulty;
     
     /**
      * @details - Integer to select the frame rate at which the game is updated at.
-     * @param - _FPS - value is used as delay between updates when running game loop
+     * @param _FPS - value is used as delay between updates when running game loop
      */
     float _FPS;
     
     /**
      * @details - Boolean value to select the desired control method by user.
-     * @param - _control - value of true corresponds to joystick input, false corresponds to accelerometer values used as input.
+     * @param _control - value of true corresponds to joystick input, false corresponds to accelerometer values used as input.
      */
     bool _control;
     
     /**
      * @details - Boolean value to select the desired ball fill type.
-     * @param - _control - value of true corresponds to transparent fill, false corresponds to solid fill of ball when playing the game.
+     * @param _control - value of true corresponds to transparent fill, false corresponds to solid fill of ball when playing the game.
      */
     bool _colour;
     
     /**
      * @details - Boolean value to signify when the goal has been reached.
-     * @param - _goal - when this variable becomes true, the particular maze has been completed.
+     * @param _goal - when this variable becomes true, the particular maze has been completed.
      */
     bool _goal;
     
     /**
      * @details - Boolean value to dictate if the buzzer on the gamepad is to be used in the menu when moving between options or selecting desired parameters.
-     * @param - _tone - A true value allows for sound to be used in the menu.
+     * @param _tone - A true value allows for sound to be used in the menu.
      */
     bool _tone;