
Zeyu Feng 201377605
Dependencies: mbed
On Minerva
Interface/Interface.h@17:ba4d9cd1e347, 2020-05-18 (annotated)
- Committer:
- el19zf
- Date:
- Mon May 18 15:30:54 2020 +0000
- Revision:
- 17:ba4d9cd1e347
- Parent:
- 16:cf2bfada3adf
- Child:
- 19:5083339b55e8
add the user-defined in menu
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 | 11:494cc44777fe | 9 | /** Interface class |
el19zf | 16:cf2bfada3adf | 10 | *@brief welcome,meun,pause interface |
el19zf | 13:eb60628db8bf | 11 | *@author Zeyu Feng |
el19zf | 13:eb60628db8bf | 12 | *@10 MAY 2020 |
el19zf | 13:eb60628db8bf | 13 | */ |
el19zf | 13:eb60628db8bf | 14 | /**struct of fsm for menu option*/ |
el19zf | 11:494cc44777fe | 15 | struct State{ |
el19zf | 11:494cc44777fe | 16 | int option; |
el19zf | 11:494cc44777fe | 17 | int next_state[2]; |
el19zf | 11:494cc44777fe | 18 | }; |
el19zf | 11:494cc44777fe | 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 | 11:494cc44777fe | 29 | |
el19zf | 11:494cc44777fe | 30 | void init(); |
el19zf | 11:494cc44777fe | 31 | |
el19zf | 13:eb60628db8bf | 32 | /** set a welcome interface for my game*/ |
el19zf | 11:494cc44777fe | 33 | void Welcome(N5110 &lcd,Gamepad &pad); |
el19zf | 11:494cc44777fe | 34 | |
el19zf | 13:eb60628db8bf | 35 | /** set an option menu*/ |
el19zf | 11:494cc44777fe | 36 | int menu(N5110 &lcd,Gamepad &pad,int option_flag); |
el19zf | 17:ba4d9cd1e347 | 37 | |
el19zf | 17:ba4d9cd1e347 | 38 | /** set an user-defined menu*/ |
el19zf | 17:ba4d9cd1e347 | 39 | int undefined_rate(N5110 &lcd,Gamepad &pad,int option_flag); |
el19zf | 17:ba4d9cd1e347 | 40 | |
el19zf | 17:ba4d9cd1e347 | 41 | /** set an user-defined menu*/ |
el19zf | 17:ba4d9cd1e347 | 42 | int undefined_max(N5110 &lcd,Gamepad &pad,int option_flag); |
el19zf | 11:494cc44777fe | 43 | |
el19zf | 13:eb60628db8bf | 44 | /** if health of people is zero, game over~*/ |
el19zf | 11:494cc44777fe | 45 | void game_over(N5110 &lcd,Gamepad &pad); |
el19zf | 11:494cc44777fe | 46 | |
el19zf | 13:eb60628db8bf | 47 | /** check pause for start botton*/ |
el19zf | 16:cf2bfada3adf | 48 | int check_pause(N5110 &lcd,Gamepad &pad,int paused_flag,float increment,int max); |
el19zf | 11:494cc44777fe | 49 | |
el19zf | 13:eb60628db8bf | 50 | /** count down and draw in lcd*/ |
el19zf | 11:494cc44777fe | 51 | int count_down(N5110 &lcd,int count_flag); |
el19zf | 11:494cc44777fe | 52 | |
el19zf | 13:eb60628db8bf | 53 | /** Exit interface*/ |
el19zf | 11:494cc44777fe | 54 | void exit(N5110 &lcd,Gamepad &pad); |
el19zf | 11:494cc44777fe | 55 | |
el19zf | 13:eb60628db8bf | 56 | /** Victory interface*/ |
el19zf | 11:494cc44777fe | 57 | void victory(N5110 &lcd,Gamepad &pad); |
el19zf | 12:009895f6b6e4 | 58 | |
el19zf | 13:eb60628db8bf | 59 | /** make the game simple*/ |
el19zf | 12:009895f6b6e4 | 60 | void simple_game(N5110 &lcd,Gamepad &pad); |
el19zf | 12:009895f6b6e4 | 61 | |
el19zf | 12:009895f6b6e4 | 62 | int get_sim_flag(); |
el19zf | 12:009895f6b6e4 | 63 | |
el19zf | 12:009895f6b6e4 | 64 | int get_gameover_flag(); |
el19zf | 12:009895f6b6e4 | 65 | |
el19zf | 12:009895f6b6e4 | 66 | int get_victory_flag(); |
el19zf | 11:494cc44777fe | 67 | |
el19zf | 11:494cc44777fe | 68 | private: |
el19zf | 16:cf2bfada3adf | 69 | |
el19zf | 16:cf2bfada3adf | 70 | Sound _sound; |
el19zf | 11:494cc44777fe | 71 | Timer _timer; |
el19zf | 11:494cc44777fe | 72 | Direction _d; |
el19zf | 12:009895f6b6e4 | 73 | int _sim_flag; |
el19zf | 12:009895f6b6e4 | 74 | int _gameover_flag; |
el19zf | 12:009895f6b6e4 | 75 | int _victory_flag; |
el19zf | 16:cf2bfada3adf | 76 | char _buffer1[14]; |
el19zf | 16:cf2bfada3adf | 77 | char _buffer2[14]; |
el19zf | 11:494cc44777fe | 78 | |
el19zf | 11:494cc44777fe | 79 | }; |
el19zf | 11:494cc44777fe | 80 | #endif |