This class encapsulates all the algorithms required for the displaying strings and time dependent patterns on the lcd.

Dependents:   200943412_QuickClick

Committer:
domkay97
Date:
Sun Apr 16 19:37:09 2017 +0000
Revision:
11:7ad2ea427784
Parent:
9:1e25dcab4927
Child:
12:41e9ba6d65d3
Improved waiting timing equation.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
domkay97 0:dd78eca4b004 1 #ifndef DISPLAY_H
domkay97 0:dd78eca4b004 2 #define DISPLAY_H
domkay97 0:dd78eca4b004 3
domkay97 0:dd78eca4b004 4 #include "mbed.h"
domkay97 9:1e25dcab4927 5 #include "N5110.h"
domkay97 9:1e25dcab4927 6 #include "Controller.h"
domkay97 1:41a1c20a2056 7
domkay97 0:dd78eca4b004 8 class Display
domkay97 0:dd78eca4b004 9 {
domkay97 0:dd78eca4b004 10
domkay97 0:dd78eca4b004 11 public:
domkay97 11:7ad2ea427784 12
domkay97 11:7ad2ea427784 13 /** Constructor */
domkay97 11:7ad2ea427784 14 Display();
domkay97 11:7ad2ea427784 15
domkay97 11:7ad2ea427784 16 /** Destructor */
domkay97 0:dd78eca4b004 17 ~Display();
domkay97 11:7ad2ea427784 18
domkay97 11:7ad2ea427784 19 /** Sets all variables to zero and resets wait time to max value */
domkay97 0:dd78eca4b004 20 void init();
domkay97 11:7ad2ea427784 21
domkay97 11:7ad2ea427784 22 /** Methord for drawing the circle and decreasing the wait time */
domkay97 11:7ad2ea427784 23 void drawCircle(Controller &ctrl, N5110 &lcd);
domkay97 11:7ad2ea427784 24
domkay97 11:7ad2ea427784 25 /**
domkay97 11:7ad2ea427784 26 * @brief Displays a random instruction for the user to perform
domkay97 11:7ad2ea427784 27 * @param id[in] random number generated from operator
domkay97 11:7ad2ea427784 28 * @return void
domkay97 11:7ad2ea427784 29 */
domkay97 6:8840d7e48ce7 30 void display_instruction(N5110 &lcd, int ran);
domkay97 11:7ad2ea427784 31
domkay97 11:7ad2ea427784 32 /** Methord for the mathematical operation behind the change in time before gameover */
domkay97 6:8840d7e48ce7 33 void calculateWait();
domkay97 0:dd78eca4b004 34
domkay97 0:dd78eca4b004 35
domkay97 0:dd78eca4b004 36 private:
domkay97 11:7ad2ea427784 37
domkay97 11:7ad2ea427784 38 /**
domkay97 11:7ad2ea427784 39 @brief Methord allowing one octant to be displayed at one time. Also allows interaction with controller for flashing screen and sounds
domkay97 11:7ad2ea427784 40 @param id[in] void
domkay97 11:7ad2ea427784 41 @return interger used in for loop (representing nember of loops)
domkay97 11:7ad2ea427784 42 */
domkay97 11:7ad2ea427784 43 void Circle(Controller &ctrl, N5110 &lcd);
domkay97 11:7ad2ea427784 44
domkay97 11:7ad2ea427784 45 /**
domkay97 11:7ad2ea427784 46 * @brief An algorithm that draws the eight octants of a circle pixel by pixel
domkay97 11:7ad2ea427784 47 * @param id[in] interger used in for loop from Circle() Methord
domkay97 11:7ad2ea427784 48 * @return void
domkay97 11:7ad2ea427784 49 */
domkay97 11:7ad2ea427784 50 void Drawarc(N5110 &lcd, int a);
domkay97 11:7ad2ea427784 51
domkay97 11:7ad2ea427784 52 int _h; // <<number of arcs displayed
domkay97 11:7ad2ea427784 53 float _w; // <<wait time
domkay97 11:7ad2ea427784 54 int _a; // <<for loop variable
domkay97 11:7ad2ea427784 55 int _v; // <<interger to tell class which random instuction to perform
domkay97 11:7ad2ea427784 56 int x; // <<radius of circle
domkay97 11:7ad2ea427784 57 int y; // <<y co-ordinate
domkay97 11:7ad2ea427784 58 int x0; // <<variable used to modify x
domkay97 11:7ad2ea427784 59 int y0; // <<variable used to modify y
domkay97 11:7ad2ea427784 60 int radiusMod; // <<1 - the radius of the circle
domkay97 11:7ad2ea427784 61
domkay97 0:dd78eca4b004 62
domkay97 0:dd78eca4b004 63 };
domkay97 0:dd78eca4b004 64 #endif