From e6839a9e313be5e904550308f40ac6a3ae9a500c Mon Sep 17 00:00:00 2001 From: heav Date: Mon, 27 Mar 2023 03:38:28 +0000 Subject: soft drops are firmer. --- game/init.lua | 4 +++- 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 = {} -- cgit v1.2.3