From 843b1e108a0fa9c7d0db9ed0dab283d9e1813391 Mon Sep 17 00:00:00 2001 From: Joe Zeng Date: Mon, 9 Nov 2020 21:13:07 -0500 Subject: [PATCH] Added safe-lock back to Survival CK. --- tetris/components/grid.lua | 6 +++++- tetris/modes/ck.lua | 13 +++++++------ tetris/rulesets/ruleset.lua | 4 ++++ 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/tetris/components/grid.lua b/tetris/components/grid.lua index a1d10d6..d1702ed 100644 --- a/tetris/components/grid.lua +++ b/tetris/components/grid.lua @@ -268,7 +268,11 @@ function Grid:draw() love.graphics.setColor(1, 1, 1, 1) love.graphics.draw(blocks[self.grid[y][x].skin]["F"], 48+x*16, y*16) else - love.graphics.setColor(0.5, 0.5, 0.5, 1) + if self.grid[y][x].skin == "bone" then + love.graphics.setColor(1, 1, 1, 1) + else + love.graphics.setColor(0.5, 0.5, 0.5, 1) + end love.graphics.draw(blocks[self.grid[y][x].skin][self.grid[y][x].colour], 48+x*16, y*16) end if self.grid[y][x].skin ~= "bone" then diff --git a/tetris/modes/ck.lua b/tetris/modes/ck.lua index d15a54b..f1527cc 100644 --- a/tetris/modes/ck.lua +++ b/tetris/modes/ck.lua @@ -22,6 +22,7 @@ function SurvivalCKGame:new() self.randomizer = History6RollsRandomizer() + self.lock_drop = true self.enable_hold = true self.next_queue_length = 3 @@ -153,11 +154,11 @@ function SurvivalCKGame:onLineClear(cleared_row_count) local new_level = self.level + cleared_row_count * 2 self:updateSectionTimes(self.level, new_level) if new_level >= 2500 or self:hitTorikan(self.level, new_level) then - self.clear = true + self.clear = true if new_level >= 2500 then self.level = 2500 - self.grid:clear() - self.big_mode = true + self.grid:clear() + self.big_mode = true self.roll_frames = -150 end else @@ -217,11 +218,11 @@ function SurvivalCKGame:drawGrid() elseif self.level >= 1600 and self.level < 1700 then self.grid:drawInvisible(self.rollOpacityFunction2) elseif self.level >= 1700 and self.level < 1800 then - self.grid:drawInvisible(self.rollOpacityFunction3) + self.grid:drawInvisible(self.rollOpacityFunction3) elseif self.level >= 1800 and self.level < 1900 then - self.grid:drawInvisible(self.rollOpacityFunction4) + self.grid:drawInvisible(self.rollOpacityFunction4) elseif self.level >= 1900 and self.level < 2000 then - self.grid:drawInvisible(self.rollOpacityFunction5) + self.grid:drawInvisible(self.rollOpacityFunction5) else self.grid:draw() end diff --git a/tetris/rulesets/ruleset.lua b/tetris/rulesets/ruleset.lua index f7039ea..7af8673 100644 --- a/tetris/rulesets/ruleset.lua +++ b/tetris/rulesets/ruleset.lua @@ -34,6 +34,8 @@ function Ruleset:new() C = love.graphics.newImage("res/img/bone.png"), B = love.graphics.newImage("res/img/bone.png"), M = love.graphics.newImage("res/img/bone.png"), + F = love.graphics.newImage("res/img/bone.png"), + A = love.graphics.newImage("res/img/bone.png"), X = love.graphics.newImage("res/img/bone.png"), } or { R = love.graphics.newImage("res/img/bonew.png"), @@ -43,6 +45,8 @@ function Ruleset:new() C = love.graphics.newImage("res/img/bonew.png"), B = love.graphics.newImage("res/img/bonew.png"), M = love.graphics.newImage("res/img/bonew.png"), + F = love.graphics.newImage("res/img/bonew.png"), + A = love.graphics.newImage("res/img/bonew.png"), X = love.graphics.newImage("res/img/bonew.png"), } end