Zeyu Feng 201377605

Dependencies:   mbed

On Minerva

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?

UserRevisionLine numberNew 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