From de6553ae220031c1035f82899cf4fae6dd03c24e Mon Sep 17 00:00:00 2001 From: Ishaan Bhardwaj <59454579+SashLilac@users.noreply.github.com> Date: Thu, 12 Nov 2020 23:10:35 -0500 Subject: [PATCH] Nintendo-R RS --- tetris/rulesets/nintendo_r.lua | 77 ++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 tetris/rulesets/nintendo_r.lua diff --git a/tetris/rulesets/nintendo_r.lua b/tetris/rulesets/nintendo_r.lua new file mode 100644 index 0000000..92fa645 --- /dev/null +++ b/tetris/rulesets/nintendo_r.lua @@ -0,0 +1,77 @@ +local Ruleset = require 'tetris.rulesets.ruleset' + +local Nintendo = Ruleset:extend() + +Nintendo.name = "Nintendo-R" +Nintendo.hash = "NintendoR" + +Nintendo.spawn_positions = { + I = { x=5, y=4 }, + J = { x=4, y=5 }, + L = { x=4, y=5 }, + O = { x=5, y=5 }, + S = { x=4, y=5 }, + T = { x=4, y=5 }, + Z = { x=4, y=5 }, +} + +Nintendo.block_offsets = { + I={ + { {x=0, y=0}, {x=-1, y=0}, {x=-2, y=0}, {x=1, y=0} }, + { {x=0, y=-1}, {x=0, y=-2}, {x=0, y=0}, {x=0, y=1} }, + { {x=0, y=0}, {x=-1, y=0}, {x=-2, y=0}, {x=1, y=0} }, + { {x=0, y=-1}, {x=0, y=-2}, {x=0, y=0}, {x=0, y=1} }, + }, + J={ + { {x=0, y=-1}, {x=-1, y=-1}, {x=1, y=-1}, {x=-1, y=-2} }, + { {x=0, y=-1}, {x=0, y=-2}, {x=0, y=0} , {x=1, y=-2} }, + { {x=0, y=-1}, {x=1, y=-1}, {x=-1, y=-1}, {x=1, y=0} }, + { {x=0, y=-1}, {x=0, y=0}, {x=0, y=-2}, {x=-1, y=0} }, + }, + L={ + { {x=0, y=-1}, {x=-1, y=-1}, {x=1, y=-1}, {x=1, y=-2} }, + { {x=0, y=-1}, {x=0, y=-2}, {x=0, y=0}, {x=1, y=0} }, + { {x=0, y=-1}, {x=1, y=-1}, {x=-1, y=-1}, {x=-1, y=0} }, + { {x=0, y=0}, {x=-1, y=-2}, {x=0, y=-2}, {x=0, y=-1} }, + }, + O={ + { {x=0, y=0}, {x=-1, y=0}, {x=-1, y=-1}, {x=0, y=-1} }, + { {x=0, y=0}, {x=-1, y=0}, {x=-1, y=-1}, {x=0, y=-1} }, + { {x=0, y=0}, {x=-1, y=0}, {x=-1, y=-1}, {x=0, y=-1} }, + { {x=0, y=0}, {x=-1, y=0}, {x=-1, y=-1}, {x=0, y=-1} }, + }, + S={ + { {x=1, y=-1}, {x=0, y=-1}, {x=0, y=0}, {x=-1, y=0} }, + { {x=0, y=-2}, {x=0, y=-1}, {x=1, y=-1}, {x=1, y=0} }, + { {x=1, y=-1}, {x=0, y=-1}, {x=0, y=0}, {x=-1, y=0} }, + { {x=0, y=-2}, {x=0, y=-1}, {x=1, y=-1}, {x=1, y=0} }, + }, + T={ + { {x=0, y=-1}, {x=-1, y=-1}, {x=1, y=-1}, {x=0, y=-2} }, + { {x=0, y=-1}, {x=0, y=0}, {x=0, y=-2}, {x=1, y=-1} }, + { {x=0, y=-1}, {x=1, y=-1}, {x=-1, y=-1}, {x=0, y=0} }, + { {x=0, y=-1}, {x=0, y=0}, {x=0, y=-2}, {x=-1, y=-1} }, + }, + Z={ + { {x=0, y=-1}, {x=-1, y=-1}, {x=1, y=0}, {x=0, y=0} }, + { {x=0, y=-1}, {x=0, y=0}, {x=1, y=-2}, {x=1, y=-1} }, + { {x=0, y=-1}, {x=-1, y=-1}, {x=1, y=0}, {x=0, y=0} }, + { {x=0, y=-1}, {x=0, y=0}, {x=1, y=-2}, {x=1, y=-1} }, + } +} + +function Nintendo:onPieceDrop(piece) + piece.lock_delay = 0 +end + +function Nintendo:get180RotationValue() + if config.gamesettings.world_reverse == 3 then + return 3 + else + return 1 + end +end + +function Nintendo:getDefaultOrientation() return 3 end -- downward facing pieces by default + +return Nintendo \ No newline at end of file