typo
This commit is contained in:
@@ -192,15 +192,20 @@ void Game::nextFrame(const std::set<Action>& playerActions) {
|
||||
// no need to apply gravity and lock delay if the piece was hard dropped
|
||||
else {
|
||||
/* GRAVITY */
|
||||
// parameters.getGravity() gives the gravity for an assumed 20-line high board
|
||||
int appliedGravity = this->parameters.getGravity() * std::max((double) this->board.getBoard().getBaseHeight() / 20.0, 1.0);
|
||||
|
||||
this->subVerticalPosition += appliedGravity;
|
||||
while (this->subVerticalPosition >= SUBPX_PER_ROW) {
|
||||
this->subVerticalPosition -= SUBPX_PER_ROW;
|
||||
this->board.moveDown();
|
||||
if (this->parameters.getLevel() >= 20) {
|
||||
while (this->board.moveDown());
|
||||
}
|
||||
else {
|
||||
// parameters.getGravity() gives the gravity for an assumed 20-line high board
|
||||
int appliedGravity = this->parameters.getGravity() * std::max((double) this->board.getBoard().getBaseHeight() / 20.0, 1.0);
|
||||
|
||||
this->subVerticalPosition += appliedGravity;
|
||||
while (this->subVerticalPosition >= SUBPX_PER_ROW) {
|
||||
this->subVerticalPosition -= SUBPX_PER_ROW;
|
||||
this->board.moveDown();
|
||||
}
|
||||
}
|
||||
|
||||
/* LOCK DELAY */
|
||||
if (this->board.touchesGround()) {
|
||||
this->totalLockDelay++;
|
||||
@@ -304,10 +309,12 @@ void Game::lockPiece() {
|
||||
this->totalForcedLockDelay = 0;
|
||||
this->heldARR = 0;
|
||||
|
||||
this->leftARETime = this->parameters.getARE();
|
||||
if (this->leftARETime == 0) {
|
||||
this->lost = this->board.spawnNextPiece();
|
||||
}
|
||||
if (!this->hasWon()) {
|
||||
this->leftARETime = this->parameters.getARE();
|
||||
if (this->leftARETime == 0) {
|
||||
this->lost = this->board.spawnNextPiece();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool Game::hasWon() const {
|
||||
|
||||
@@ -94,7 +94,7 @@ void GameParameters::updateStats() {
|
||||
/* GRAVITY */
|
||||
// get gravity for an assumed 20-rows board
|
||||
static const int gravityPerLevel[] = {
|
||||
0, // LVL0
|
||||
0, // lvl0 = no gravity
|
||||
1, // 60f/line, 20s total
|
||||
2, // 30f/line, 10s total
|
||||
3, // 20f/line, 6.66s total
|
||||
@@ -113,7 +113,8 @@ void GameParameters::updateStats() {
|
||||
40, // 1.5f/line, 30f total
|
||||
1 * 60, // 1line/f, 20f total
|
||||
2 * 60, // 2line/f, 10f total
|
||||
4 * 60 // 4line/f, 5f total
|
||||
4 * 60, // 4line/f, 5f total
|
||||
20 * 60 // lvl20 = instant gravity
|
||||
};
|
||||
if (this->level < 0) {
|
||||
this->gravity = gravityPerLevel[0];
|
||||
|
||||
Reference in New Issue
Block a user