Add Food consumption

Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
master
sigonasr2 2 years ago
parent 32a9b54f1a
commit 1cf8a3ca9d
  1. 2
      C++/scripts/md5
  2. BIN
      C++ProjectTemplate
  3. 44
      main.cpp

@ -1,3 +1,3 @@
build.sh:530634457ea9041267c05d4ced95eee1 - build.sh:530634457ea9041267c05d4ced95eee1 -
commit.sh:d03a46e721060c22ccb146e19d27e70a - commit.sh:d03a46e721060c22ccb146e19d27e70a -
web.sh:241ce74055952325f82f009b494df250 - web.sh:3dcc2fe7e036359eedd257a864e9a1e1 -

Binary file not shown.

@ -9,28 +9,56 @@ public:
Example() Example()
{ {
sAppName = "Example"; sAppName = "Example";
} }
public: public:
vector<int> data;
int TILE_WIDTH=16;
int TILE_HEIGHT=16;
int tileOffsetX=0;
int tileOffsetY=0;
int TV_WIDTH=TILE_WIDTH*8;
int TV_HEIGHT=TILE_HEIGHT*7;
int MAP_WIDTH=256;
int MAP_HEIGHT=240;
int TV_POSX=256/4;
int TV_POSY=240/4;
bool OnUserCreate() override bool OnUserCreate() override
{ {
SetPixelMode(olc::Pixel::ALPHA); SetPixelMode(olc::Pixel::ALPHA);
ConsoleCaptureStdOut(true); ConsoleCaptureStdOut(true);
// Called once at the start, so create things here // Called once at the start, so create things here
for (int x = 0; x < ScreenWidth(); x++) for (int i=0;i<256*240;i++) {
for (int y = 0; y < ScreenHeight(); y++) data.push_back(rand()%255);
Draw(x, y, olc::Pixel(rand() % 255, rand() % 255, rand()% 255));
for (int x=0;x<50;x++) {
for (int y=0;y<50;y++) {
Draw(x, y, olc::Pixel(255, 0, 0, 128));
}
} }
return true; return true;
} }
bool OnUserUpdate(float fElapsedTime) override bool OnUserUpdate(float fElapsedTime) override
{ {
// called once per frame
if (GetKey(olc::RIGHT).bPressed) {
tileOffsetX=std::clamp(tileOffsetX+1,0,MAP_WIDTH);
}
if (GetKey(olc::LEFT).bPressed) {
tileOffsetX=std::clamp(tileOffsetX-1,0,MAP_WIDTH);
}
if (GetKey(olc::UP).bPressed) {
tileOffsetY=std::clamp(tileOffsetY-1,0,MAP_HEIGHT);
}
if (GetKey(olc::DOWN).bPressed) {
tileOffsetY=std::clamp(tileOffsetY+1,0,MAP_HEIGHT);
}
for (int x=0;x<TV_WIDTH/TILE_WIDTH;x++) {
for (int y=0;y<TV_HEIGHT/TILE_HEIGHT;y++) {
int tileID=data[(tileOffsetY+y)*MAP_WIDTH+tileOffsetX+x];
FillRect({x*TILE_WIDTH+TV_POSX,y*TILE_HEIGHT+TV_POSY},{TILE_WIDTH,TILE_HEIGHT},olc::Pixel(tileID,tileID,tileID,255));
DrawStringDecal({x*TILE_WIDTH+TV_POSX,y*TILE_HEIGHT+TV_POSY},to_string(tileID),(tileID<128)?olc::WHITE:olc::BLACK,{0.5,0.5});
}
}
return true; return true;
} }
}; };

Loading…
Cancel
Save