diff options
author | Richard Braun <rbraun@sceen.net> | 2025-05-22 00:15:45 +0200 |
---|---|---|
committer | Richard Braun <rbraun@sceen.net> | 2025-05-22 00:39:25 +0200 |
commit | f20294a1d7108c711559ee36c215129d2ec9f110 (patch) | |
tree | 51b2872a8492dbbdf746d96b2cae0f5ae1b5446a | |
parent | f7221ae9855ef61e81a1a5978fb94c9a70efeb2c (diff) |
Minor level handling fix
-rw-r--r-- | src/et/et.c | 19 | ||||
-rw-r--r-- | src/et/et.h | 4 |
2 files changed, 13 insertions, 10 deletions
diff --git a/src/et/et.c b/src/et/et.c index 30f529f..591f4e6 100644 --- a/src/et/et.c +++ b/src/et/et.c @@ -789,7 +789,7 @@ et_game_update_status(struct et_game *game) snprintf(game->status_sprite, sizeof(game->status_sprite), ET_STATUS_SPRITE_FORMAT, game->score, - game->level, game->total_lines); + game->level, game->total_nr_lines); eetg_object_update(&game->status); } @@ -1071,12 +1071,15 @@ et_game_scan_rows(struct et_game *game) game->difficult = true; } - game->total_lines += nr_cleared_rows; - game->level_lines += nr_cleared_rows; + game->total_nr_lines += nr_cleared_rows; + game->nr_level_lines += nr_cleared_rows; - if (game->level_lines >= 10) { - game->level++; - game->level_lines -= 10; + if (game->nr_level_lines >= 10) { + if (game->level < 30) { + game->level++; + } + + game->nr_level_lines -= 10; } } @@ -1100,14 +1103,14 @@ et_game_reset(struct et_game *game) game->held_piece = NULL; game->current_piece = NULL; game->score = 0; - game->total_lines = 0; + game->total_nr_lines = 0; game->gravity_counter_reload = ET_FPS / ET_CURRENT_PIECE_SPEED; game->gravity_counter = game->gravity_counter_reload; game->lockdown_counter_reload = ET_FPS / ET_LOCKDOWN_DELAY; game->nr_lockdown_moves = -1; game->next_index = 0; game->state = ET_STATE_INTRO; - game->level_lines = 0; + game->nr_level_lines = 0; game->level = 1; game->sync_counter_reload = ET_FPS * 2; game->sync_counter = 1; diff --git a/src/et/et.h b/src/et/et.h index c6660d4..855e59e 100644 --- a/src/et/et.h +++ b/src/et/et.h @@ -96,14 +96,14 @@ struct et_game { struct et_piece *held_piece; struct et_piece *current_piece; int score; - int total_lines; + int total_nr_lines; int8_t gravity_counter_reload; int8_t gravity_counter; int8_t lockdown_counter_reload; int8_t nr_lockdown_moves; int8_t next_index; int8_t state; - int8_t level_lines; + int8_t nr_level_lines; int8_t level; int8_t sync_counter_reload; int8_t sync_counter; |