#ifndef GAMEENGINE_H
#define GAMEENGINE_H

#include "mbed.h"
#include "N5110.h"
#include "Gamepad.h"
#include "Miner.h"
#include "Level1.h"
#include "Levelengine.h"
#include "Levelobjects.h"

class Gameengine
{

public:
    Gameengine();
    ~Gameengine();
    
    void read_direction(Gamepad &pad);
    void update(N5110 &lcd, Gamepad &pad);
    void draw(Key _k, N5110 &lcd, Gamepad &pad);
    void game_init();
    void lose_life(N5110 &lcd);
    bool game_over();
    void next_level(N5110 &lcd);
    
private:

    Miner _miner;
    Level1 _l1;
    Levelengine _level;
    Levelobjects _obj;
    Direction _d;
    Timer t;
    int _level_select;
    int _lives;
};
#endif