Randomize combo positions slightly

Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
master
sigonasr2 2 years ago
parent f0eb4b444e
commit 9974deda85
  1. BIN
      C++ProjectTemplate
  2. 2
      Meteos.h
  3. 8
      main.cpp

Binary file not shown.

@ -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;

@ -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 "<<c.combo<<std::endl;
}
}
@ -536,7 +538,8 @@ void Meteos::updateGame(float fElapsedTime){
gameBoard.getBlockClumps()[gameBoard.getBlockClumps().size()-1].vspeed=gameBoard.launchSpd;
gameBoard.getBlockClumps()[gameBoard.getBlockClumps().size()-1].launchTime=gameBoard.launchTime;
gameBoard.getBlockClumps()[gameBoard.getBlockClumps().size()-1].combo++;
comboDisplayList.push_back({baseBlockPos,gameBoard.getBlockClumps()[gameBoard.getBlockClumps().size()-1].combo});
vi2d randomOffset={comboOverlayOffset(gen),comboOverlayOffset(gen)};
comboDisplayList.push_back({baseBlockPos+randomOffset,gameBoard.getBlockClumps()[gameBoard.getBlockClumps().size()-1].combo});
//std::cout<<"Combo value is "<<gameBoard.getBlockClumps()[gameBoard.getBlockClumps().size()-1].combo<<std::endl;
}
for (int i=gameBoard.getBlockClumps().size()-1;i>=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);
}

Loading…
Cancel
Save