mirror of
https://github.com/SashLilac/cambridge.git
synced 2024-11-22 17:59:01 -06:00
oshi forced me to add bags
This commit is contained in:
parent
abc210c69c
commit
b47d0f36b9
24
tetris/randomizers/bag8.lua
Normal file
24
tetris/randomizers/bag8.lua
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
local Randomizer = require 'tetris.randomizers.randomizer'
|
||||||
|
|
||||||
|
local Bag7Randomizer = Randomizer:extend()
|
||||||
|
|
||||||
|
function Bag7Randomizer:initialize()
|
||||||
|
self.bag = {"I", "J", "L", "O", "S", "T", "Z"}
|
||||||
|
self.extra = {"I", "J", "L", "O", "S", "T", "Z"}
|
||||||
|
table.insert(self.bag, table.remove(self.extra, math.random(table.getn(self.extra))))
|
||||||
|
end
|
||||||
|
|
||||||
|
function Bag7Randomizer:generatePiece()
|
||||||
|
if next(self.extra) == nil then
|
||||||
|
self.extra = {"I", "J", "L", "O", "S", "T", "Z"}
|
||||||
|
end
|
||||||
|
if next(self.bag) == nil then
|
||||||
|
self.bag = {"I", "J", "L", "O", "S", "T", "Z"}
|
||||||
|
table.insert(self.bag, table.remove(self.extra, math.random(table.getn(self.extra))))
|
||||||
|
end
|
||||||
|
local x = math.random(table.getn(self.bag))
|
||||||
|
--print("Bag: "..table.concat(self.bag, ", ").." | Extra: "..table.concat(self.extra, ", "))
|
||||||
|
return table.remove(self.bag, x)
|
||||||
|
end
|
||||||
|
|
||||||
|
return Bag7Randomizer
|
30
tetris/randomizers/recursive_bag.lua
Normal file
30
tetris/randomizers/recursive_bag.lua
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
local Randomizer = require 'tetris.randomizers.randomizer'
|
||||||
|
|
||||||
|
local RecursiveRandomizer = Randomizer:extend()
|
||||||
|
|
||||||
|
function RecursiveRandomizer:initialize()
|
||||||
|
self.bag = {"I", "J", "L", "O", "S", "T", "Z"}
|
||||||
|
end
|
||||||
|
|
||||||
|
function RecursiveRandomizer:generatePiece()
|
||||||
|
--if next(self.bag) == nil then
|
||||||
|
-- self.bag = {"I", "J", "L", "O", "S", "T", "Z"}
|
||||||
|
--end
|
||||||
|
local x = math.random(table.getn(self.bag) + 1)
|
||||||
|
while x == table.getn(self.bag) + 1 do
|
||||||
|
print("Refill piece pulled")
|
||||||
|
table.insert(self.bag, "I")
|
||||||
|
table.insert(self.bag, "J")
|
||||||
|
table.insert(self.bag, "L")
|
||||||
|
table.insert(self.bag, "O")
|
||||||
|
table.insert(self.bag, "S")
|
||||||
|
table.insert(self.bag, "T")
|
||||||
|
table.insert(self.bag, "Z")
|
||||||
|
x = math.random(table.getn(self.bag) + 1)
|
||||||
|
end
|
||||||
|
--print("Number of pieces in bag: "..table.getn(self.bag))
|
||||||
|
--print("Bag: "..table.concat(self.bag, ", "))
|
||||||
|
return table.remove(self.bag, x)
|
||||||
|
end
|
||||||
|
|
||||||
|
return RecursiveRandomizer
|
Loading…
Reference in New Issue
Block a user