#include "gameDefines.h" extern Meteos*game; Board::Board(vi2d boardSize,float gravity,float spawnRate) :boardSize(boardSize),gravity(gravity),spawnRate(spawnRate){ drawOffset={(float)game->ScreenWidth()/2-boardSize.x/2*12,(float)game->ScreenHeight()/2-boardSize.y/2*12}; yBottom=(boardSize.y-1)*12; for (int i=0;i()); } } void Board::spawnBlock(int col){ BlockClump c=BlockClump(); c.addBlock(col); if (game->coinFlip(game->gen)==0) { if (col>0) { c.addBlock(col-1); } } if (game->coinFlip(game->gen)==0) { if (col&Board::getBlocks(int col){ return cols[col]; } std::vector&Board::getBlockClumps(){ return clumps; } void Board::removeClump(int ind){ BlockClump&c=clumps[ind]; for (Block&b:c.getBlocks()){ if (b.markedForDeletion) continue; vf2d relativePos=b.pos; b.pos=c.getBlockPosition(b); bool emptyAirBelow=true; for (int i=0;i=b2.pos.y&&b.pos.y<=b2.pos.y+12) { emptyAirBelow=false; break; } } if (b.pos.y>=yBottom) { emptyAirBelow=false; } if (emptyAirBelow) { BlockClump c2; for (int i=0;i