|
|
|
@ -260,6 +260,14 @@ bool Meteos::OnUserUpdate(float fElapsedTime) |
|
|
|
|
c.addBlockOnTopOf(b2->pos.x/12,b2->col); |
|
|
|
|
b2->markedForRemoval=true; |
|
|
|
|
} |
|
|
|
|
for (Block*b2:matchedBlocksX) { |
|
|
|
|
for (Block&b3:gameBoard.getBlocks(b2->pos.x/12)) { |
|
|
|
|
if (!b3.markedForRemoval&&b3.pos.y<b2->pos.y) { |
|
|
|
|
c.addBlockOnTopOf(b2->pos.x/12,b3.col); |
|
|
|
|
b3.markedForRemoval=true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
c.vspeed=gameBoard.launchSpd; |
|
|
|
|
} |
|
|
|
|
if (matchedBlocksY.size()>2) { |
|
|
|
@ -269,6 +277,15 @@ bool Meteos::OnUserUpdate(float fElapsedTime) |
|
|
|
|
c.addBlockOnTopOf(b2->pos.x/12,b2->col); |
|
|
|
|
b2->markedForRemoval=true; |
|
|
|
|
} |
|
|
|
|
for (int i=0;i<matchedBlocksY.size();i++) { |
|
|
|
|
Block*b2=matchedBlocksY[i]; |
|
|
|
|
for (Block&b3:gameBoard.getBlocks(b2->pos.x/12)) { |
|
|
|
|
if (!b3.markedForRemoval&&b3.pos.y<b2->pos.y) { |
|
|
|
|
c.addBlockOnTopOf(b2->pos.x/12,b3.col); |
|
|
|
|
b3.markedForRemoval=true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
c.vspeed=gameBoard.launchSpd; |
|
|
|
|
} |
|
|
|
|
gameBoard.addClump(c); |
|
|
|
|