From f73ca01a32d8b2276418c30e8324c390fb396828 Mon Sep 17 00:00:00 2001 From: heav Date: Tue, 28 Mar 2023 06:19:52 +0000 Subject: track lines cleared, combo, and pieces placed. --- game/init.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/game/init.lua b/game/init.lua index b34a74f..386a7c4 100644 --- a/game/init.lua +++ b/game/init.lua @@ -26,6 +26,8 @@ function M.new(params) new.hold = false new.can_hold = true new.t_spun = false + new.combo = -1 + new.stats = {pieces=0, lines=0} new.gfx = gfx.new(new) new.gravity_delay = 0.5 new.lock_delay = params.lock_delay or 0.8 @@ -99,14 +101,21 @@ end function M:place_piece() if not self.piece:can_move(-1, 0) then self.piece:place() + self.stats.pieces = self.stats.pieces + 1 evloop.queue "game.lock_cancel" local cleared = self.field:remove_cleared() if cleared > 0 then + self.combo = self.combo + 1 + self.stats.lines = self.stats.lines + cleared if self.piece.t_spun then local sound = ({"tspinsingle","tspindouble","tspintriple"})[cleared] sfx.play(sound) end + evloop.queue "game.line_clear" + else + self.combo = -1 end + evloop.queue "game.piece_placed" self:next_piece() return true else -- cgit v1.2.3