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

Dependents:   200943412_QuickClick

Committer:
domkay97
Date:
Mon May 01 17:04:13 2017 +0000
Revision:
16:8d158d39d438
Parent:
14:dd1f98f7d43a
Child:
17:1c52ff51c028
Tidying up ready for publication, tidying DOxygen Commenting

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 16:8d158d39d438 8 /** Display Class
domkay97 16:8d158d39d438 9 @brief This class encapsulates all the algorithms reaquired for the displaying strings and time dependant patterns on the lcd.
domkay97 16:8d158d39d438 10 @author Dominic Kay
domkay97 16:8d158d39d438 11
domkay97 16:8d158d39d438 12 @date April 2017
domkay97 16:8d158d39d438 13 */
domkay97 0:dd78eca4b004 14 class Display
domkay97 0:dd78eca4b004 15 {
domkay97 0:dd78eca4b004 16
domkay97 0:dd78eca4b004 17 public:
domkay97 11:7ad2ea427784 18
domkay97 11:7ad2ea427784 19 /** Constructor */
domkay97 11:7ad2ea427784 20 Display();
domkay97 11:7ad2ea427784 21
domkay97 11:7ad2ea427784 22 /** Destructor */
domkay97 0:dd78eca4b004 23 ~Display();
domkay97 11:7ad2ea427784 24
domkay97 11:7ad2ea427784 25 /** Sets all variables to zero and resets wait time to max value */
domkay97 0:dd78eca4b004 26 void init();
domkay97 11:7ad2ea427784 27
domkay97 14:dd1f98f7d43a 28 /** Method for drawing the circle and decreasing the wait time */
domkay97 11:7ad2ea427784 29 void drawCircle(Controller &ctrl, N5110 &lcd);
domkay97 11:7ad2ea427784 30
domkay97 12:41e9ba6d65d3 31
domkay97 14:dd1f98f7d43a 32 /**
domkay97 14:dd1f98f7d43a 33 * @brief Methord for resetting the wait time if multi-player
domkay97 14:dd1f98f7d43a 34 * @param class variable w
domkay97 14:dd1f98f7d43a 35 * @return void
domkay97 14:dd1f98f7d43a 36 */
domkay97 12:41e9ba6d65d3 37 void put_wait(float w);
domkay97 12:41e9ba6d65d3 38
domkay97 14:dd1f98f7d43a 39 /**
domkay97 14:dd1f98f7d43a 40 * @brief Method for getting the wait time if multi-player
domkay97 14:dd1f98f7d43a 41 * @return wait time
domkay97 14:dd1f98f7d43a 42 */
domkay97 12:41e9ba6d65d3 43 float get_wait();
domkay97 12:41e9ba6d65d3 44
domkay97 14:dd1f98f7d43a 45 /**
domkay97 11:7ad2ea427784 46 * @brief Displays a random instruction for the user to perform
domkay97 14:dd1f98f7d43a 47 * @param ran random number generated from operator
domkay97 11:7ad2ea427784 48 * @return void
domkay97 11:7ad2ea427784 49 */
domkay97 16:8d158d39d438 50 void display_instruction(N5110 &lcd, int ran);
domkay97 0:dd78eca4b004 51
domkay97 0:dd78eca4b004 52
domkay97 0:dd78eca4b004 53 private:
domkay97 11:7ad2ea427784 54
domkay97 16:8d158d39d438 55 /** Methord for the mathematical operation behind the change in time before gameover */
domkay97 16:8d158d39d438 56 void _calculateWait();
domkay97 16:8d158d39d438 57
domkay97 11:7ad2ea427784 58 /**
domkay97 11:7ad2ea427784 59 @brief Methord allowing one octant to be displayed at one time. Also allows interaction with controller for flashing screen and sounds
domkay97 11:7ad2ea427784 60 @param id[in] void
domkay97 11:7ad2ea427784 61 @return interger used in for loop (representing nember of loops)
domkay97 11:7ad2ea427784 62 */
domkay97 16:8d158d39d438 63 void _arc_selector(Controller &ctrl, N5110 &lcd);
domkay97 11:7ad2ea427784 64
domkay97 11:7ad2ea427784 65 /**
domkay97 11:7ad2ea427784 66 * @brief An algorithm that draws the eight octants of a circle pixel by pixel
domkay97 11:7ad2ea427784 67 * @param id[in] interger used in for loop from Circle() Methord
domkay97 11:7ad2ea427784 68 * @return void
domkay97 11:7ad2ea427784 69 */
domkay97 16:8d158d39d438 70 void _drawArc(N5110 &lcd, int a);
domkay97 11:7ad2ea427784 71
domkay97 16:8d158d39d438 72 int _h; // <<score / number of full circle performed
domkay97 11:7ad2ea427784 73 float _w; // <<wait time
domkay97 11:7ad2ea427784 74 int _a; // <<for loop variable
domkay97 16:8d158d39d438 75 int _x; // <<radius of circle
domkay97 16:8d158d39d438 76 int _y; // <<y co-ordinate
domkay97 16:8d158d39d438 77 int _x0; // <<variable used to modify x
domkay97 16:8d158d39d438 78 int _y0; // <<variable used to modify y
domkay97 16:8d158d39d438 79 int _radiusMod; // <<1 - the radius of the circle
domkay97 11:7ad2ea427784 80
domkay97 0:dd78eca4b004 81
domkay97 0:dd78eca4b004 82 };
domkay97 0:dd78eca4b004 83 #endif