diff --git a/C++ProjectTemplate b/C++ProjectTemplate index 793e7cf..003a915 100755 Binary files a/C++ProjectTemplate and b/C++ProjectTemplate differ diff --git a/Meteos.h b/Meteos.h index e16c043..86b756f 100644 --- a/Meteos.h +++ b/Meteos.h @@ -12,7 +12,7 @@ class Meteos : public olc::PixelGameEngine{ } float lastBlockSpawn=0.0f; float accumulatedTime=0.0f; - std::uniform_int_distribution<> randBlockPos,coinFlip; + std::uniform_int_distribution<> randBlockPos,coinFlip,comboOverlayOffset; std::mt19937 gen; Board gameBoard; bool gameCanRun=true; diff --git a/main.cpp b/main.cpp index c669777..b871a6e 100644 --- a/main.cpp +++ b/main.cpp @@ -22,6 +22,7 @@ bool Meteos::OnUserCreate() gen=std::mt19937(rd()); //Standard mersenne_twister_engine seeded with rd() randBlockPos=std::uniform_int_distribution<>(0, 9); coinFlip=std::uniform_int_distribution<>(0, 1); + comboOverlayOffset=std::uniform_int_distribution<>(-16,16); gameBoard=Board({10,14},0.04f,1.2f,0.04f,0.4f,-1.f,1.7f,2.0f,1.0f,{3,3,1,2,3,0,0,0,0,0},SPRITES["blocks_test.png"]); @@ -288,7 +289,8 @@ void Meteos::updateGame(float fElapsedTime){ c.vspeed=gameBoard.launchSpd; c.launchTime=gameBoard.launchTime; c.combo++; - comboDisplayList.push_back({c.getBlockPosition(c.getBlocks()[matchedBlockIDs[0]]),c.combo}); + vi2d randomOffset={comboOverlayOffset(gen),comboOverlayOffset(gen)}; + comboDisplayList.push_back({c.getBlockPosition(c.getBlocks()[matchedBlockIDs[0]])+randomOffset,c.combo}); //std::cout<<"Combo value is "<=0;i--){ //Resolve BlockClump movements. @@ -639,6 +642,7 @@ void Meteos::updateGame(float fElapsedTime){ for (int i=comboDisplayList.size()-1;i>=0;i--){ ComboOverlay&c=comboDisplayList[i]; c.lifetime++; + c.pos.y-=0.1; if (c.lifetime>60){ comboDisplayList.erase(comboDisplayList.begin()+i); }