diff options
author | heav <hheav3@gmail.com> | 2023-03-27 03:38:28 +0000 |
---|---|---|
committer | heav <hheav3@gmail.com> | 2023-03-27 03:38:28 +0000 |
commit | e6839a9e313be5e904550308f40ac6a3ae9a500c (patch) | |
tree | 6c09ee39c11b117ce0b8eb59475063b931ec902a | |
parent | f9d7cfc6d2555a04654ff94e7730d94eca3db7f9 (diff) |
soft drops are firmer.
-rw-r--r-- | game/init.lua | 4 | ||||
-rw-r--r-- | game/polyomino.lua | 4 |
2 files changed, 5 insertions, 3 deletions
diff --git a/game/init.lua b/game/init.lua index fe6d25f..689da31 100644 --- a/game/init.lua +++ b/game/init.lua @@ -51,7 +51,9 @@ function M:input_loop() elseif key == "right" then self.piece:move(0, 1) elseif key == "down" then - self.piece:move(-1, 0) + local did_move = false + while self.piece:move(-1, 0) do did_move = true end + if did_move then evloop.queue "game.lock_cancel" end elseif key == "up" then self.piece:rotate() evloop.queue "game.lock_cancel" diff --git a/game/polyomino.lua b/game/polyomino.lua index 4294c7f..eb726b3 100644 --- a/game/polyomino.lua +++ b/game/polyomino.lua @@ -1,9 +1,9 @@ local M = {} M.__index = M -function M.def(name, shape) +function M.def(name, shape, kick_table) local new = setmetatable({name = name}, M) - + new.kick_table = kick_table or {{{0, 0}}, {{0, 0}}, {{0, 0}}, {{0, 0}}} new.cells = {} for l in shape:gmatch "[^%s]+" do local line = {} |