From a0887a46c0c1b970d1b099cc6063f57d9d070928 Mon Sep 17 00:00:00 2001 From: Ishaan Bhardwaj Date: Sat, 5 Dec 2020 20:53:07 -0500 Subject: [PATCH] Final TL balancing --- tetris/modes/pro_tl.lua | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/tetris/modes/pro_tl.lua b/tetris/modes/pro_tl.lua index 48002c9..0988485 100644 --- a/tetris/modes/pro_tl.lua +++ b/tetris/modes/pro_tl.lua @@ -12,7 +12,14 @@ ProGame.tagline = "Your next pieces start disappearing! What lies past Mach 9?" function ProGame:new() self.super:new() self.next_queue_length = 6 - self.randomizer = TetraRandomizer() + self.randomizer = TetraRandomizer() + self.active_time = 0 +end + +function ProGame:initialize(ruleset) + self.super.initialize(self, ruleset) + ruleset.onPieceMove = function() end + ruleset.onPieceRotate = function() end end function ProGame:getARE() return 6 end @@ -57,13 +64,21 @@ function ProGame:advanceOneFrame(inputs, ruleset) self.game_over = true end end - - ruleset.onPieceMove = function() end - ruleset.onPieceRotate = function() end return true end +function ProGame:onPieceEnter() + self.active_time = 0 +end + +function ProGame:whilePieceActive() + if self.piece:isDropBlocked(self.grid) then + self.active_time = self.active_time + 1 + self.piece.locked = self.active_time >= self:getLockDelay() * 4 + end +end + function ProGame:onLineClear(cleared_row_count) if not self.clear then local new_lines = self.lines + cleared_row_count