
Zeyu Feng 201377605
Dependencies: mbed
On Minerva
Interface/Interface.h@22:cded0cd8e1c9, 2020-05-22 (annotated)
- Committer:
- el19zf
- Date:
- Fri May 22 16:07:02 2020 +0000
- Revision:
- 22:cded0cd8e1c9
- Parent:
- 21:e3866e4fe5fb
Final Submission. I have read and agreed with Statement of Academic Integrity.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
el19zf | 11:494cc44777fe | 1 | #ifndef INTERFACE_H |
el19zf | 11:494cc44777fe | 2 | #define INTERFACE_H |
el19zf | 11:494cc44777fe | 3 | |
el19zf | 11:494cc44777fe | 4 | #include "mbed.h" |
el19zf | 11:494cc44777fe | 5 | #include "Gamepad.h" |
el19zf | 11:494cc44777fe | 6 | #include "N5110.h" |
el19zf | 16:cf2bfada3adf | 7 | #include "Sound.h" |
el19zf | 11:494cc44777fe | 8 | |
el19zf | 13:eb60628db8bf | 9 | /**struct of fsm for menu option*/ |
el19zf | 11:494cc44777fe | 10 | struct State{ |
el19zf | 11:494cc44777fe | 11 | int option; |
el19zf | 11:494cc44777fe | 12 | int next_state[2]; |
el19zf | 11:494cc44777fe | 13 | }; |
el19zf | 11:494cc44777fe | 14 | |
el19zf | 21:e3866e4fe5fb | 15 | /** Interface class |
el19zf | 21:e3866e4fe5fb | 16 | *@brief welcome,meun,pause interface |
el19zf | 21:e3866e4fe5fb | 17 | *@author Zeyu Feng |
el19zf | 21:e3866e4fe5fb | 18 | *@10 MAY 2020 |
el19zf | 21:e3866e4fe5fb | 19 | */ |
el19zf | 11:494cc44777fe | 20 | class Interface { |
el19zf | 11:494cc44777fe | 21 | |
el19zf | 11:494cc44777fe | 22 | public: |
el19zf | 11:494cc44777fe | 23 | |
el19zf | 13:eb60628db8bf | 24 | /**Constructor*/ |
el19zf | 13:eb60628db8bf | 25 | Interface(); |
el19zf | 13:eb60628db8bf | 26 | |
el19zf | 13:eb60628db8bf | 27 | /**Destructor*/ |
el19zf | 13:eb60628db8bf | 28 | ~Interface(); |
el19zf | 20:a36ab1560e73 | 29 | |
el19zf | 20:a36ab1560e73 | 30 | /** initalises the flag varibales*/ |
el19zf | 11:494cc44777fe | 31 | void init(); |
el19zf | 11:494cc44777fe | 32 | |
el19zf | 13:eb60628db8bf | 33 | /** set a welcome interface for my game*/ |
el19zf | 11:494cc44777fe | 34 | void Welcome(N5110 &lcd,Gamepad &pad); |
el19zf | 11:494cc44777fe | 35 | |
el19zf | 13:eb60628db8bf | 36 | /** set an option menu*/ |
el19zf | 19:5083339b55e8 | 37 | void menu(N5110 &lcd,Gamepad &pad); |
el19zf | 17:ba4d9cd1e347 | 38 | |
el19zf | 17:ba4d9cd1e347 | 39 | /** set an user-defined menu*/ |
el19zf | 19:5083339b55e8 | 40 | void undefined_rate(N5110 &lcd,Gamepad &pad); |
el19zf | 17:ba4d9cd1e347 | 41 | |
el19zf | 17:ba4d9cd1e347 | 42 | /** set an user-defined menu*/ |
el19zf | 19:5083339b55e8 | 43 | void undefined_max(N5110 &lcd,Gamepad &pad); |
el19zf | 11:494cc44777fe | 44 | |
el19zf | 13:eb60628db8bf | 45 | /** if health of people is zero, game over~*/ |
el19zf | 11:494cc44777fe | 46 | void game_over(N5110 &lcd,Gamepad &pad); |
el19zf | 11:494cc44777fe | 47 | |
el19zf | 13:eb60628db8bf | 48 | /** check pause for start botton*/ |
el19zf | 16:cf2bfada3adf | 49 | int check_pause(N5110 &lcd,Gamepad &pad,int paused_flag,float increment,int max); |
el19zf | 11:494cc44777fe | 50 | |
el19zf | 13:eb60628db8bf | 51 | /** count down and draw in lcd*/ |
el19zf | 19:5083339b55e8 | 52 | void count_down(N5110 &lcd); |
el19zf | 11:494cc44777fe | 53 | |
el19zf | 22:cded0cd8e1c9 | 54 | /** update record*/ |
el19zf | 22:cded0cd8e1c9 | 55 | void update_record(float increment,int max); |
el19zf | 22:cded0cd8e1c9 | 56 | |
el19zf | 22:cded0cd8e1c9 | 57 | /** Record interface*/ |
el19zf | 22:cded0cd8e1c9 | 58 | void record(N5110 &lcd,Gamepad &pad); |
el19zf | 11:494cc44777fe | 59 | |
el19zf | 13:eb60628db8bf | 60 | /** Victory interface*/ |
el19zf | 11:494cc44777fe | 61 | void victory(N5110 &lcd,Gamepad &pad); |
el19zf | 12:009895f6b6e4 | 62 | |
el19zf | 20:a36ab1560e73 | 63 | /** simple game interface*/ |
el19zf | 12:009895f6b6e4 | 64 | void simple_game(N5110 &lcd,Gamepad &pad); |
el19zf | 12:009895f6b6e4 | 65 | |
el19zf | 20:a36ab1560e73 | 66 | /**accessors set the count_down flag |
el19zf | 20:a36ab1560e73 | 67 | *@param count_down(int) |
el19zf | 20:a36ab1560e73 | 68 | */ |
el19zf | 19:5083339b55e8 | 69 | void set_count_down(int count_down); |
el19zf | 19:5083339b55e8 | 70 | |
el19zf | 20:a36ab1560e73 | 71 | //mutators--------------------------- |
el19zf | 20:a36ab1560e73 | 72 | |
el19zf | 19:5083339b55e8 | 73 | int get_menu_flag(); |
el19zf | 19:5083339b55e8 | 74 | |
el19zf | 19:5083339b55e8 | 75 | int get_rate_flag(); |
el19zf | 19:5083339b55e8 | 76 | |
el19zf | 19:5083339b55e8 | 77 | int get_max_flag(); |
el19zf | 19:5083339b55e8 | 78 | |
el19zf | 12:009895f6b6e4 | 79 | int get_sim_flag(); |
el19zf | 12:009895f6b6e4 | 80 | |
el19zf | 12:009895f6b6e4 | 81 | int get_gameover_flag(); |
el19zf | 12:009895f6b6e4 | 82 | |
el19zf | 12:009895f6b6e4 | 83 | int get_victory_flag(); |
el19zf | 19:5083339b55e8 | 84 | |
el19zf | 11:494cc44777fe | 85 | private: |
el19zf | 16:cf2bfada3adf | 86 | |
el19zf | 16:cf2bfada3adf | 87 | Sound _sound; |
el19zf | 11:494cc44777fe | 88 | Timer _timer; |
el19zf | 11:494cc44777fe | 89 | Direction _d; |
el19zf | 19:5083339b55e8 | 90 | int _menu_flag; |
el19zf | 19:5083339b55e8 | 91 | int _defined_rate_flag; |
el19zf | 19:5083339b55e8 | 92 | int _defined_max_flag; |
el19zf | 12:009895f6b6e4 | 93 | int _sim_flag; |
el19zf | 12:009895f6b6e4 | 94 | int _gameover_flag; |
el19zf | 19:5083339b55e8 | 95 | int _count_down; |
el19zf | 12:009895f6b6e4 | 96 | int _victory_flag; |
el19zf | 16:cf2bfada3adf | 97 | char _buffer1[14]; |
el19zf | 22:cded0cd8e1c9 | 98 | char _buffer2[14]; |
el19zf | 22:cded0cd8e1c9 | 99 | Vector2D _record; |
el19zf | 20:a36ab1560e73 | 100 | |
el19zf | 11:494cc44777fe | 101 | }; |
el19zf | 11:494cc44777fe | 102 | #endif |