Compare commits

...

3 Commits

Author SHA1 Message Date
Ishaan Bhardwaj
90cf2ebef5 New onEnterOrHold function (fixes #29) 2021-09-05 23:08:54 -04:00
Ishaan Bhardwaj
799a905a9c Remove redundant if 2021-09-05 22:50:31 -04:00
Ishaan Bhardwaj
985f73c39d Revert "Yet more SOCD handling"
This reverts commit b5db5bbdc3.
2021-09-05 22:44:21 -04:00

View File

@ -127,9 +127,6 @@ function GameMode:update(inputs, ruleset)
inputs["up"] = false inputs["up"] = false
inputs["down"] = false inputs["down"] = false
end end
if inputs["up"] then
inputs["down"] = false
end
end end
-- advance one frame -- advance one frame
@ -498,14 +495,7 @@ function GameMode:initializeOrHold(inputs, ruleset)
self:initializeNextPiece(inputs, ruleset, self.next_queue[1]) self:initializeNextPiece(inputs, ruleset, self.next_queue[1])
end end
self:onPieceEnter() self:onPieceEnter()
if not self.grid:canPlacePiece(self.piece) then self:onEnterOrHold(inputs, ruleset)
self.game_over = true
return
end
ruleset:dropPiece(
inputs, self.piece, self.grid, self:getGravity(),
self:getDropSpeed(), self.drop_locked, self.hard_drop_locked
)
end end
function GameMode:hold(inputs, ruleset, ihs) function GameMode:hold(inputs, ruleset, ihs)
@ -530,9 +520,18 @@ function GameMode:hold(inputs, ruleset, ihs)
if ihs then playSE("ihs") if ihs then playSE("ihs")
else playSE("hold") end else playSE("hold") end
self:onHold() self:onHold()
self:onEnterOrHold(inputs, ruleset)
end
function GameMode:onEnterOrHold(inputs, ruleset)
if not self.grid:canPlacePiece(self.piece) then if not self.grid:canPlacePiece(self.piece) then
self.game_over = true self.game_over = true
return
end end
ruleset:dropPiece(
inputs, self.piece, self.grid, self:getGravity(),
self:getDropSpeed(), self.drop_locked, self.hard_drop_locked
)
end end
function GameMode:initializeNextPiece( function GameMode:initializeNextPiece(