cambridge/tetris/randomizers/randomizer.lua

29 lines
550 B
Lua

local Object = require 'libs.classic'
local Randomizer = Object:extend()
function Randomizer:new()
self:initialize()
self.next_queue = {}
for i = 1, 30 do
table.insert(self.next_queue, self:generatePiece())
end
end
function Randomizer:nextPiece()
table.insert(self.next_queue, self:generatePiece())
return table.remove(self.next_queue, 1)
end
function Randomizer:initialize()
-- do nothing
end
local shapes = {"I", "J", "L", "O", "S", "T", "Z"}
function Randomizer:generatePiece()
return shapes[math.random(7)]
end
return Randomizer