Zeyu Feng 201377605

Dependencies:   mbed

On Minerva

Interface/Interface.h

Committer:
el19zf
Date:
2020-05-21
Revision:
19:5083339b55e8
Parent:
17:ba4d9cd1e347
Child:
20:a36ab1560e73

File content as of revision 19:5083339b55e8:

#ifndef INTERFACE_H
#define INTERFACE_H

#include "mbed.h"
#include "Gamepad.h"
#include "N5110.h"
#include "Sound.h"

/** Interface class
*@brief welcome,meun,pause interface
*@author Zeyu Feng
*@10 MAY 2020
*/
/**struct of fsm for menu option*/
struct State{
    int option;
    int next_state[2];
};

class Interface {
    
public:
    
    /**Constructor*/
    Interface();
    
    /**Destructor*/
    ~Interface();
        
    void init();
        
    /** set a welcome interface for my game*/
    void Welcome(N5110 &lcd,Gamepad &pad);
        
    /** set an option menu*/
    void menu(N5110 &lcd,Gamepad &pad);
    
    /** set an user-defined menu*/
    void undefined_rate(N5110 &lcd,Gamepad &pad);
    
    /** set an user-defined menu*/
    void undefined_max(N5110 &lcd,Gamepad &pad);
        
    /** if health of people is zero, game over~*/
    void game_over(N5110 &lcd,Gamepad &pad);
        
    /** check pause for start botton*/
    int check_pause(N5110 &lcd,Gamepad &pad,int paused_flag,float increment,int max);
        
    /** count down and draw in lcd*/
    void count_down(N5110 &lcd);
    
    /** Exit interface*/
    void exit(N5110 &lcd,Gamepad &pad);
        
    /** Victory interface*/
    void victory(N5110 &lcd,Gamepad &pad);
    
    /** make the game simple*/
    void simple_game(N5110 &lcd,Gamepad &pad);
    
    void set_count_down(int count_down);
    
    int get_menu_flag();
    
    int get_rate_flag();
    
    int get_max_flag();
    
    int get_sim_flag();
    
    int get_gameover_flag();
    
    int get_victory_flag();

private:
    
    Sound _sound;
    Timer _timer;
    Direction _d;
    int _menu_flag;
    int _defined_rate_flag;
    int _defined_max_flag;
    int _sim_flag;
    int _gameover_flag;
    int _count_down;
    int _victory_flag;
    char _buffer1[14];
    char _buffer2[14];  
};
#endif