diff options
author | the lemons <citrons@mondecitronne.com> | 2023-03-27 01:10:30 -0500 |
---|---|---|
committer | the lemons <citrons@mondecitronne.com> | 2023-03-27 01:10:30 -0500 |
commit | 4df34ed536fc687edcb386bb3823dc43d5c8c2e8 (patch) | |
tree | 66863b55d48e6ceb77b4cc8040eacd4f5f79e252 | |
parent | e04f25ecee84392a9bbcb27f82188c3722afa486 (diff) |
toggleable infinity
-rw-r--r-- | game/init.lua | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/game/init.lua b/game/init.lua index 9872a4c..4cc48f2 100644 --- a/game/init.lua +++ b/game/init.lua @@ -28,6 +28,7 @@ function M.new(params) new.gfx = gfx.new(new) new.gravity_delay = 0.5 new.lock_delay = params.lock_delay or 0.5 + new.infinity = params.infinity or false new.bag = bag.new(pieces, {seed = os.time(), randomly_add = { [heav_optimal_shapes.heav] = {inverse_chance = 5000}, [heav_optimal_shapes.spite_shape] = {inverse_chance = 10000}, @@ -45,17 +46,16 @@ function M:input_loop() return loop() end + local moved if e == "keypressed" then if key == "left" then - self.piece:move(0, -1) + moved = self.piece:move(0, -1) elseif key == "right" then - self.piece:move(0, 1) + moved = self.piece:move(0, 1) elseif key == "down" then - self.piece:move(-1, 0) + moved = self.piece:move(-1, 0) elseif key == "up" then - if self.piece:rotate() then - evloop.queue "game.lock_cancel" - end + moved = self.piece:rotate() elseif key == "space" then local dropped = false while self.piece:move(-1, 0) do @@ -79,6 +79,10 @@ function M:input_loop() end end + if moved and self.infinity then + evloop.queue "game.lock_cancel" + end + return loop() end return loop |