
Zeyu Feng 201377605
Dependencies: mbed
On Minerva
Interface/Interface.h@21:e3866e4fe5fb, 2020-05-22 (annotated)
- Committer:
- el19zf
- Date:
- Fri May 22 04:49:26 2020 +0000
- Revision:
- 21:e3866e4fe5fb
- Parent:
- 20:a36ab1560e73
- Child:
- 22:cded0cd8e1c9
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 | 13:eb60628db8bf | 54 | /** Exit interface*/ |
el19zf | 11:494cc44777fe | 55 | void exit(N5110 &lcd,Gamepad &pad); |
el19zf | 11:494cc44777fe | 56 | |
el19zf | 13:eb60628db8bf | 57 | /** Victory interface*/ |
el19zf | 11:494cc44777fe | 58 | void victory(N5110 &lcd,Gamepad &pad); |
el19zf | 12:009895f6b6e4 | 59 | |
el19zf | 20:a36ab1560e73 | 60 | /** simple game interface*/ |
el19zf | 12:009895f6b6e4 | 61 | void simple_game(N5110 &lcd,Gamepad &pad); |
el19zf | 12:009895f6b6e4 | 62 | |
el19zf | 20:a36ab1560e73 | 63 | /**accessors set the count_down flag |
el19zf | 20:a36ab1560e73 | 64 | *@param count_down(int) |
el19zf | 20:a36ab1560e73 | 65 | */ |
el19zf | 19:5083339b55e8 | 66 | void set_count_down(int count_down); |
el19zf | 19:5083339b55e8 | 67 | |
el19zf | 20:a36ab1560e73 | 68 | //mutators--------------------------- |
el19zf | 20:a36ab1560e73 | 69 | |
el19zf | 19:5083339b55e8 | 70 | int get_menu_flag(); |
el19zf | 19:5083339b55e8 | 71 | |
el19zf | 19:5083339b55e8 | 72 | int get_rate_flag(); |
el19zf | 19:5083339b55e8 | 73 | |
el19zf | 19:5083339b55e8 | 74 | int get_max_flag(); |
el19zf | 19:5083339b55e8 | 75 | |
el19zf | 12:009895f6b6e4 | 76 | int get_sim_flag(); |
el19zf | 12:009895f6b6e4 | 77 | |
el19zf | 12:009895f6b6e4 | 78 | int get_gameover_flag(); |
el19zf | 12:009895f6b6e4 | 79 | |
el19zf | 12:009895f6b6e4 | 80 | int get_victory_flag(); |
el19zf | 19:5083339b55e8 | 81 | |
el19zf | 11:494cc44777fe | 82 | private: |
el19zf | 16:cf2bfada3adf | 83 | |
el19zf | 16:cf2bfada3adf | 84 | Sound _sound; |
el19zf | 11:494cc44777fe | 85 | Timer _timer; |
el19zf | 11:494cc44777fe | 86 | Direction _d; |
el19zf | 19:5083339b55e8 | 87 | int _menu_flag; |
el19zf | 19:5083339b55e8 | 88 | int _defined_rate_flag; |
el19zf | 19:5083339b55e8 | 89 | int _defined_max_flag; |
el19zf | 12:009895f6b6e4 | 90 | int _sim_flag; |
el19zf | 12:009895f6b6e4 | 91 | int _gameover_flag; |
el19zf | 19:5083339b55e8 | 92 | int _count_down; |
el19zf | 12:009895f6b6e4 | 93 | int _victory_flag; |
el19zf | 16:cf2bfada3adf | 94 | char _buffer1[14]; |
el19zf | 19:5083339b55e8 | 95 | char _buffer2[14]; |
el19zf | 20:a36ab1560e73 | 96 | |
el19zf | 11:494cc44777fe | 97 | }; |
el19zf | 11:494cc44777fe | 98 | #endif |