|
|
|
#define OLC_GFX_OPENGL33
|
|
|
|
#include "pixelGameEngine.h"
|
|
|
|
|
|
|
|
using namespace olc;
|
|
|
|
|
|
|
|
#define WIDTH 640
|
|
|
|
#define HEIGHT 480
|
|
|
|
|
|
|
|
class Example : public olc::PixelGameEngine
|
|
|
|
{
|
|
|
|
float lastIncrease=0.f;
|
|
|
|
|
|
|
|
public:
|
|
|
|
Example()
|
|
|
|
{
|
|
|
|
sAppName = "Example";
|
|
|
|
}
|
|
|
|
|
|
|
|
public:
|
|
|
|
olc::Key last;
|
|
|
|
bool OnUserCreate() override
|
|
|
|
{
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool OnUserUpdate(float fElapsedTime) override
|
|
|
|
{
|
|
|
|
if(lastIncrease==0.f){
|
|
|
|
if(GetKey(RIGHT).bHeld){
|
|
|
|
SetMosaicEffect(GetMosaicEffect()+1);
|
|
|
|
lastIncrease=0.01f;
|
|
|
|
}
|
|
|
|
if(GetKey(LEFT).bHeld){
|
|
|
|
SetMosaicEffect(GetMosaicEffect()-1);
|
|
|
|
lastIncrease=0.01f;
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
lastIncrease=std::max(0.f,lastIncrease-fElapsedTime);
|
|
|
|
}
|
|
|
|
Clear(BLACK);
|
|
|
|
srand(48190);
|
|
|
|
for(int i=0;i<500;i++){
|
|
|
|
if(rand()%2){
|
|
|
|
DrawCircle({rand()%640,rand()%480},rand()%30,{uint8_t(rand()%255),uint8_t(rand()%255),uint8_t(rand()%255)});
|
|
|
|
}else{
|
|
|
|
FillCircle({rand()%640,rand()%480},rand()%30,{uint8_t(rand()%255),uint8_t(rand()%255),uint8_t(rand()%255)});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
DrawStringDecal({1,1},"Mosaic Effect: "+std::to_string(GetMosaicEffect()),BLACK);
|
|
|
|
DrawStringDecal({0,0},"Mosaic Effect: "+std::to_string(GetMosaicEffect()),WHITE);
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool OnUserDestroy()override{
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
enum Direction{
|
|
|
|
RIGHT,
|
|
|
|
DOWN,
|
|
|
|
LEFT,
|
|
|
|
UP
|
|
|
|
};
|
|
|
|
|
|
|
|
struct Data{
|
|
|
|
int x,y;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
int main()
|
|
|
|
{
|
|
|
|
Example demo;
|
|
|
|
if (demo.Construct(640, 480, 4, 4))
|
|
|
|
demo.Start();
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
}
|