This class encapsulates all the algorithms required for the displaying strings and time dependent patterns on the lcd.
Dependents: 200943412_QuickClick
Display.h@16:8d158d39d438, 2017-05-01 (annotated)
- 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?
User | Revision | Line number | New 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 |