LD52/src/game.h

72 lines
1.3 KiB
C++

#ifndef LD52_HARVEST_FOOD_CUTS_GAME_H_
#define LD52_HARVEST_FOOD_CUTS_GAME_H_
// standard library includes
#include <array>
#include <bitset>
#include <random>
// third party includes
#include <raylib.h>
class Game {
public:
Game();
void do_update();
void screen_resized();
private:
void update_impl();
void draw_impl();
void reset(bool wasGameOver);
std::default_random_engine re;
std::uniform_int_distribution<unsigned int> dist;
std::string scoreString;
std::string highScoreString;
Texture2D spriteSheet;
std::array<Sound, 7> nicecut;
std::array<Sound, 7> ohno;
Music music;
unsigned long long score;
unsigned long long highScore;
/*
* 0 - score dirty
* 1 - is blinking
* 2 - happy
* 3 - fruit dirty
* 4 - cut has happened
* 5 - sad
* 6 - relativeCutPos is set
* 7 - audio loaded
* 8 - is music playing
*/
std::bitset<32> flags;
float areaSizeRatio;
float currentArea;
unsigned int currentFood;
float blinkTimer;
float cutTimer;
float cutTimerRateInc;
float ratio;
float width;
float height;
float offsetX;
float offsetY;
float cutPos;
float relativeCutRatio;
float splitX;
float splitY;
float splitAngle;
float splitDX;
float splitDY;
float splitDAngle;
float postCutTimer;
float audioNoticeTimer;
};
#endif