Snake vs Block Game to be run upon K64F.

Dependencies:   mbed

MenuClasses/StartScreen/StartScreen.h

Committer:
AhmedPlaymaker
Date:
2019-04-26
Revision:
49:441c32f6603e
Parent:
43:233f93860d08
Child:
56:142e9fdb77a8

File content as of revision 49:441c32f6603e:

#ifndef StartScreen_H
#define StartScreen_H

#include "mbed.h"
#include "N5110.h"
#include "Gamepad.h"
#include "Settings.h"
#include "Stats.h"
#include "SDFileSystem.h"

class StartScreen
{
    public:
    
    StartScreen();
    ~StartScreen()
    ;
    
    /** Initialise StartScreen
    *
    *   This function initialises the Game Interface and restarts the display.
    */
    void init();
    
    /** Draw
    *
    *   This function draws the Sprite onto the screen.
    */
    void screen_saver(N5110 &lcd, Gamepad &pad);
    
    /** Instruct
    *
    *   This function updates the user about how to progress after the game banner has been displayed..
    */
    void instruct(N5110 &lcd, Gamepad &pad);
    
    /** Display userID
    *
    *   This function shows who the author of the game is before showing the menu screen.
    */
    void credits(N5110 &lcd);
    
    /** Read Stats
    *
    *   This function just reads the current top level stored in the sd card and saves it for displaying in the menu.
    */
    void read_stats(SDFileSystem &sd);
    
    /** The First Menu Screen
    *
    *   This function obtains the user input on how they want to progress.
    */
    void main_menu(N5110 &lcd, Gamepad &pad);
    
    /** Displaying The First Menu Screen
    *
    *   This function just displays Menu Screen 1 contents.
    */
    void DisplayMMContents(N5110 &lcd, Gamepad &pad);
    
    /** Implementing The First Menu Screen
    *
    *   This function just implements the things decided in main menu.
    */
    void ImplementMM(N5110 &lcd, Gamepad &pad);

    /** The Second Menu Screen
    *
    *   This function obtains the user input on the game type they would like to play.
    */
    void game_mode(N5110 &lcd, Gamepad &pad);
    
    /** Implementing GM
    *
    *   This function just decides what has to selected in the next iteration.
    */
    void ImplementGM(Gamepad &pad);
    
    /** Displaying GAME mode Contents
    *
    *   This function just displays game_mode contents.
    */
    void DisplayGMContents(N5110 &lcd);
    
    /** The Third Menu Screen
    *
    *   This function obtains the user input on the game speed that suits them.
    */
    void game_speed(N5110 &lcd, Gamepad &pad);
    
    /** Implementing GS
    *
    *   This function just decides what has to be done next.
    */
    void ImplementGS(Gamepad &pad);
    
    /** Displaying GAME speed Contents
    *
    *   This function just displays game_speed contents.
    */
    void DisplayGSContents(N5110 &lcd);
    
    
    int fps; // this sends over the game speed
    int i;
    int lr;
    int gs;
    int g_mode; //this helps to select between joystick and motion control.
    int st;
    int sc;  
    float cs;
    int back_pressed; //remembers if back is pressed.
    
    private:
    int _level;
    Stats _stats;

    

};
#endif