diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/cetris.c | 2 | ||||
| -rw-r--r-- | lib/cetris.h | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/cetris.c b/lib/cetris.c index 3751157..ea53576 100644 --- a/lib/cetris.c +++ b/lib/cetris.c @@ -167,6 +167,7 @@ static void move_current(cetris_game *g, uint8_t move) { g->current.pos.x += basic_movements[move].x; int check = check_matrix(g, &g->current.m); + if (check > 0 && move != DOWN) g->move_event++; if (check <= 0) { g->current.pos.y -= basic_movements[move].y; g->current.pos.x -= basic_movements[move].x; @@ -530,6 +531,7 @@ CETRIS_EXPORT bool update_game_tick(cetris_game *g) { bool did_move = false; if (g->next_drop_tick && g->tick >= g->next_drop_tick) { + if (g->held_moves[DOWN]) g->move_event++; move_current(g, DOWN); g->next_drop_tick = 0; did_move = true; diff --git a/lib/cetris.h b/lib/cetris.h index 0cbc5c3..1c3d8f0 100644 --- a/lib/cetris.h +++ b/lib/cetris.h @@ -144,7 +144,8 @@ struct cetris_game { uint8_t line_combo; bool game_over; - // events + // events + uint8_t move_event; uint8_t line_event; uint8_t lock_event; uint8_t tetris_event; |