40 lines
633 B
C++
40 lines
633 B
C++
#pragma once
|
|
#include <LibPrintf.h>
|
|
#include "joystick.hpp"
|
|
#include "display.hpp"
|
|
#include "menu.hpp"
|
|
#include "pet.hpp"
|
|
#define ACTION_INTERVAL 60000 // 1 minute
|
|
#define MAXIMUM_STAT 100
|
|
|
|
typedef struct {
|
|
Pet pet;
|
|
|
|
uint64_t lastActionTime;
|
|
|
|
bool isMenuOpen;
|
|
bool shouldClearDisplay;
|
|
} GameState;
|
|
|
|
class Game {
|
|
public:
|
|
Game();
|
|
void begin();
|
|
void update();
|
|
void render();
|
|
|
|
protected:
|
|
void forceUpdate(String reason);
|
|
void feed();
|
|
void play();
|
|
void sleep();
|
|
void clean();
|
|
|
|
private:
|
|
GameState state;
|
|
Joystick joystick;
|
|
Display display;
|
|
String* items;
|
|
Menu menu;
|
|
};
|