C88 cleanup
parent
d6707cbf48
commit
ac7fad1003
|
@ -38,23 +38,14 @@ function MarathonC88Game:new(secret_inputs)
|
||||||
|
|
||||||
self.irs = false
|
self.irs = false
|
||||||
|
|
||||||
self.grid.getCell = function(_, x, y)
|
self.grid.getCell = function(self, x, y)
|
||||||
if x < 1 or x > 10 or y < 5 or y > 24 then return oob
|
if x < 1 or x > self.width or y < 5 or y > self.height then return oob
|
||||||
elseif y < 1 then return empty
|
elseif y < 1 then return empty
|
||||||
else return self.grid[y][x]
|
else return self.grid[y][x]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function MarathonC88Game:initialize(ruleset)
|
|
||||||
self.super:initialize(ruleset)
|
|
||||||
for _, p in pairs(ruleset.spawn_positions) do
|
|
||||||
while p.y < 4 do
|
|
||||||
p.y = p.y + 2
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function MarathonC88Game:getARE() return 30 end
|
function MarathonC88Game:getARE() return 30 end
|
||||||
function MarathonC88Game:getLineARE() return 30 end
|
function MarathonC88Game:getLineARE() return 30 end
|
||||||
function MarathonC88Game:getDasLimit() return 20 end
|
function MarathonC88Game:getDasLimit() return 20 end
|
||||||
|
@ -98,6 +89,22 @@ function MarathonC88Game:getScoreMultiplier()
|
||||||
else return 5 end
|
else return 5 end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function MarathonC88Game:onPieceEnter()
|
||||||
|
function checkOOB()
|
||||||
|
local offsets = self.piece:getBlockOffsets()
|
||||||
|
for _, offset in pairs(offsets) do
|
||||||
|
if self.piece.position.y + offset.y < 4 then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
while checkOOB() do
|
||||||
|
self.piece.position.y = self.piece.position.y + 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function MarathonC88Game:advanceOneFrame()
|
function MarathonC88Game:advanceOneFrame()
|
||||||
if not (self.piece == nil and self.level_timer == 0) and self.ready_frames == 0 then
|
if not (self.piece == nil and self.level_timer == 0) and self.ready_frames == 0 then
|
||||||
self.level_timer = self.level_timer + 1
|
self.level_timer = self.level_timer + 1
|
||||||
|
|
Loading…
Reference in New Issue