Zeyu Feng 201377605

Dependencies:   mbed

On Minerva

Committer:
el19zf
Date:
Thu May 14 16:45:20 2020 +0000
Revision:
13:eb60628db8bf
Parent:
12:009895f6b6e4
Child:
14:42b8a91e463c
using Doxygen style to comment the code and debug some function;

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 11:494cc44777fe 7
el19zf 11:494cc44777fe 8 /** Interface class
el19zf 13:eb60628db8bf 9 *@welcome,meun,pause interface
el19zf 13:eb60628db8bf 10 *@author Zeyu Feng
el19zf 13:eb60628db8bf 11 *@10 MAY 2020
el19zf 13:eb60628db8bf 12 */
el19zf 13:eb60628db8bf 13 /**struct of fsm for menu option*/
el19zf 11:494cc44777fe 14 struct State{
el19zf 11:494cc44777fe 15 int option;
el19zf 11:494cc44777fe 16 int next_state[2];
el19zf 11:494cc44777fe 17 };
el19zf 11:494cc44777fe 18
el19zf 11:494cc44777fe 19 class Interface {
el19zf 11:494cc44777fe 20
el19zf 11:494cc44777fe 21 public:
el19zf 11:494cc44777fe 22
el19zf 13:eb60628db8bf 23 /**Constructor*/
el19zf 13:eb60628db8bf 24 Interface();
el19zf 13:eb60628db8bf 25
el19zf 13:eb60628db8bf 26 /**Destructor*/
el19zf 13:eb60628db8bf 27 ~Interface();
el19zf 11:494cc44777fe 28
el19zf 11:494cc44777fe 29 void init();
el19zf 11:494cc44777fe 30
el19zf 13:eb60628db8bf 31 /** set a welcome interface for my game*/
el19zf 11:494cc44777fe 32 void Welcome(N5110 &lcd,Gamepad &pad);
el19zf 11:494cc44777fe 33
el19zf 13:eb60628db8bf 34 /** set an option menu*/
el19zf 11:494cc44777fe 35 int menu(N5110 &lcd,Gamepad &pad,int option_flag);
el19zf 11:494cc44777fe 36
el19zf 13:eb60628db8bf 37 /** if health of people is zero, game over~*/
el19zf 11:494cc44777fe 38 void game_over(N5110 &lcd,Gamepad &pad);
el19zf 11:494cc44777fe 39
el19zf 13:eb60628db8bf 40 /** check pause for start botton*/
el19zf 11:494cc44777fe 41 int check_pause(N5110 &lcd,Gamepad &pad,int paused_flag);
el19zf 11:494cc44777fe 42
el19zf 13:eb60628db8bf 43 /** count down and draw in lcd*/
el19zf 11:494cc44777fe 44 int count_down(N5110 &lcd,int count_flag);
el19zf 11:494cc44777fe 45
el19zf 13:eb60628db8bf 46 /** Exit interface*/
el19zf 11:494cc44777fe 47 void exit(N5110 &lcd,Gamepad &pad);
el19zf 11:494cc44777fe 48
el19zf 13:eb60628db8bf 49 /** Victory interface*/
el19zf 11:494cc44777fe 50 void victory(N5110 &lcd,Gamepad &pad);
el19zf 12:009895f6b6e4 51
el19zf 13:eb60628db8bf 52 /** make the game simple*/
el19zf 12:009895f6b6e4 53 void simple_game(N5110 &lcd,Gamepad &pad);
el19zf 12:009895f6b6e4 54
el19zf 12:009895f6b6e4 55 int get_sim_flag();
el19zf 12:009895f6b6e4 56
el19zf 12:009895f6b6e4 57 int get_gameover_flag();
el19zf 12:009895f6b6e4 58
el19zf 12:009895f6b6e4 59 int get_victory_flag();
el19zf 11:494cc44777fe 60
el19zf 11:494cc44777fe 61 private:
el19zf 11:494cc44777fe 62
el19zf 11:494cc44777fe 63 Timer _timer;
el19zf 11:494cc44777fe 64 Direction _d;
el19zf 12:009895f6b6e4 65 int _sim_flag;
el19zf 12:009895f6b6e4 66 int _gameover_flag;
el19zf 12:009895f6b6e4 67 int _victory_flag;
el19zf 11:494cc44777fe 68
el19zf 11:494cc44777fe 69 };
el19zf 11:494cc44777fe 70 #endif