This class encapsulates all the algorithms required for the displaying strings and time dependent patterns on the lcd.
Dependents: 200943412_QuickClick
Display.h@12:41e9ba6d65d3, 2017-04-21 (annotated)
- Committer:
- domkay97
- Date:
- Fri Apr 21 10:54:41 2017 +0000
- Revision:
- 12:41e9ba6d65d3
- Parent:
- 11:7ad2ea427784
- Child:
- 14:dd1f98f7d43a
Added multiplayer features to display
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 | 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 | 12:41e9ba6d65d3 | 25 | |
domkay97 | 12:41e9ba6d65d3 | 26 | /** Methord for resetting the wait time if multi-player */ |
domkay97 | 12:41e9ba6d65d3 | 27 | void put_wait(float w); |
domkay97 | 12:41e9ba6d65d3 | 28 | |
domkay97 | 12:41e9ba6d65d3 | 29 | /** Methord for setting the wait time if multi-player */ |
domkay97 | 12:41e9ba6d65d3 | 30 | float get_wait(); |
domkay97 | 12:41e9ba6d65d3 | 31 | |
domkay97 | 11:7ad2ea427784 | 32 | /** |
domkay97 | 11:7ad2ea427784 | 33 | * @brief Displays a random instruction for the user to perform |
domkay97 | 11:7ad2ea427784 | 34 | * @param id[in] random number generated from operator |
domkay97 | 11:7ad2ea427784 | 35 | * @return void |
domkay97 | 11:7ad2ea427784 | 36 | */ |
domkay97 | 6:8840d7e48ce7 | 37 | void display_instruction(N5110 &lcd, int ran); |
domkay97 | 11:7ad2ea427784 | 38 | |
domkay97 | 11:7ad2ea427784 | 39 | /** Methord for the mathematical operation behind the change in time before gameover */ |
domkay97 | 6:8840d7e48ce7 | 40 | void calculateWait(); |
domkay97 | 0:dd78eca4b004 | 41 | |
domkay97 | 0:dd78eca4b004 | 42 | |
domkay97 | 0:dd78eca4b004 | 43 | private: |
domkay97 | 11:7ad2ea427784 | 44 | |
domkay97 | 11:7ad2ea427784 | 45 | /** |
domkay97 | 11:7ad2ea427784 | 46 | @brief Methord allowing one octant to be displayed at one time. Also allows interaction with controller for flashing screen and sounds |
domkay97 | 11:7ad2ea427784 | 47 | @param id[in] void |
domkay97 | 11:7ad2ea427784 | 48 | @return interger used in for loop (representing nember of loops) |
domkay97 | 11:7ad2ea427784 | 49 | */ |
domkay97 | 11:7ad2ea427784 | 50 | void Circle(Controller &ctrl, N5110 &lcd); |
domkay97 | 11:7ad2ea427784 | 51 | |
domkay97 | 11:7ad2ea427784 | 52 | /** |
domkay97 | 11:7ad2ea427784 | 53 | * @brief An algorithm that draws the eight octants of a circle pixel by pixel |
domkay97 | 11:7ad2ea427784 | 54 | * @param id[in] interger used in for loop from Circle() Methord |
domkay97 | 11:7ad2ea427784 | 55 | * @return void |
domkay97 | 11:7ad2ea427784 | 56 | */ |
domkay97 | 11:7ad2ea427784 | 57 | void Drawarc(N5110 &lcd, int a); |
domkay97 | 11:7ad2ea427784 | 58 | |
domkay97 | 11:7ad2ea427784 | 59 | int _h; // <<number of arcs displayed |
domkay97 | 11:7ad2ea427784 | 60 | float _w; // <<wait time |
domkay97 | 11:7ad2ea427784 | 61 | int _a; // <<for loop variable |
domkay97 | 11:7ad2ea427784 | 62 | int _v; // <<interger to tell class which random instuction to perform |
domkay97 | 11:7ad2ea427784 | 63 | int x; // <<radius of circle |
domkay97 | 11:7ad2ea427784 | 64 | int y; // <<y co-ordinate |
domkay97 | 11:7ad2ea427784 | 65 | int x0; // <<variable used to modify x |
domkay97 | 11:7ad2ea427784 | 66 | int y0; // <<variable used to modify y |
domkay97 | 11:7ad2ea427784 | 67 | int radiusMod; // <<1 - the radius of the circle |
domkay97 | 11:7ad2ea427784 | 68 | |
domkay97 | 0:dd78eca4b004 | 69 | |
domkay97 | 0:dd78eca4b004 | 70 | }; |
domkay97 | 0:dd78eca4b004 | 71 | #endif |