0.9.2:全局更新

This commit is contained in:
MrZ_26
2020-07-23 22:16:02 +08:00
parent b97319afe0
commit 4bff742b98
14 changed files with 273 additions and 163 deletions

View File

@@ -1,4 +1,4 @@
return{
local color={
red={1,0,0},
green={0,1,0},
blue={.2,.2,1},
@@ -10,17 +10,21 @@ return{
lightRed={1,.5,.5},
lightGreen={.5,1,.5},
lightBlue={.6,.6,1},
lightYellow={1,1,.5},
lightMagenta={1,.5,1},
lightCyan={.5,1,1},
lightMagenta={1,.5,1},
lightYellow={1,1,.5},
lightPurple={.8,.4,1},
lightOrange={1,.7,.3},
lightGrey={.8,.8,.8},
darkRed={.6,0,0},
darkGreen={0,.6,0},
darkBlue={0,0,.6},
darkYellow={.6,.6,0},
darkMagenta={.6,0,.6},
darkCyan={0,.6,.6},
darkMagenta={.6,0,.6},
darkYellow={.6,.6,0},
darkPurple={.3,0,.6},
darkOrange={.6,.4,0},
darkGrey={.3,.3,.3},
black={0,0,0},
@@ -30,9 +34,26 @@ return{
water={0,1,.6},
bronze={.7,.4,0},
white={1,1,1},
lightOrange={1,.7,.3},
darkOrange={.6,.4,0},
purple={.5,0,1},
lightPurple={.8,.4,1},
darkPurple={.3,0,.6},
}
}
color.lRed= color.lightRed
color.lGreen= color.lightGreen
color.lBlue= color.lightBlue
color.lCyan= color.lightCyan
color.lMagenta= color.lightMagenta
color.lYellow= color.lightYellow
color.lPurple= color.lightPurple
color.lOrange= color.lightOrange
color.lGrey= color.lightGrey
color.dRed= color.darkRed
color.dGreen= color.darkGreen
color.dBlue= color.darkBlue
color.dCyan= color.darkCyan
color.dMagenta= color.darkMagenta
color.dYellow= color.darkYellow
color.dPurple= color.darkPurple
color.dOrange= color.darkOrange
color.dGrey= color.darkGrey
return color

View File

@@ -83,6 +83,10 @@ local langList={
unlockSavingError="解锁保存失败:",
recSavingError="纪录保存失败:",
ai_fixed="不能同时开启AI和固定序列",
ai_prebag="不能同时开启AI和自定义序列",
switchSpawnSFX="请开启方块出生音效",
needRestart="重新开始以生效",
copySuccess="已复制到剪切板",
dataCorrupted="数据损坏",
@@ -166,7 +170,7 @@ local langList={
"",
"特别感谢:",
"Flyz, Farter, 蕴空之灵,",
"Teatube, [所有内测人员]",
"茶管, 思竣, [所有内测人员]",
},
used=[[
使用工具:
@@ -213,7 +217,7 @@ local langList={
set4="隐形(4)",
set5="极限(5)",
seq="高级设置(Q)",
draw="初始场地编辑(E)",
draw="初始场地(E)",
back="返回",
},
sequence={
@@ -408,7 +412,8 @@ local langList={
["blind_normal"]= {"隐形", "全隐", "挺强大脑"},
["blind_hard"]= {"隐形", "瞬隐", "很强大脑"},
["blind_lunatic"]= {"隐形", "瞬隐+", "最强大脑"},
["blind_ultimate"]= {"隐形", "", "你准备好了吗"},
["blind_ultimate"]= {"隐形", "啊这", "你准备好了吗"},
["blind_wtf"]= {"隐形", "不会吧", "还没准备好"},
["classic_fast"]= {"高速经典", "CTWC", "高速经典"},
["survivor_easy"]= {"生存", "简单", "你能存活多久?"},
["survivor_normal"]= {"生存", "普通", "你能存活多久?"},
@@ -435,12 +440,12 @@ local langList={
["tech_hard+"]= {"科研", "困难+", "仅允许spin与PC"},
["tech_lunatic"]= {"科研", "疯狂", "禁止断B2B"},
["tech_lunatic+"]= {"科研", "疯狂+", "仅允许spin与PC"},
["tech_ultimate"]= {"科研", "", "强制最简操作"},
["tech_ultimate+"]= {"科研", "+", "禁止普通消除,强制最简操作"},
["tech_finesse"]= {"科研", "", "强制最简操作"},
["tech_finesse+"]= {"科研", "+", "禁止普通消除,强制最简操作"},
["tsd_easy"]= {"TSD挑战", "简单", "你能连续做几个TSD?"},
["tsd_hard"]= {"TSD挑战", "困难", "你能连续做几个TSD?"},
["tsd_ultimate"]= {"TSD挑战", "极限", "你能连续做几个TSD?"},
["zen"]= {"", "", "不限时200行"},
["zen"]= {"", "200", "不限时200行"},
["ultra"]= {"限时打分", "挑战", "在两分钟内尽可能拿到最多的分数"},
["infinite"]= {"无尽", "", "沙盒"},
["infinite_dig"]= {"无尽:挖掘", "", "挖呀挖呀挖"},
@@ -531,6 +536,10 @@ local langList={
unlockSavingError="解锁保存失败:",
recSavingError="纪录保存失败:",
ai_fixed="不能同时开启电脑玩家和固定序列",
ai_prebag="不能同时开启电脑玩家和自定义序列",
switchSpawnSFX="请开启方块出生音效",
needRestart="重新开始以生效",
copySuccess="已复制到剪切板",
dataCorrupted="数据损坏",
@@ -613,7 +622,7 @@ local langList={
"",
"特别感谢:",
"Flyz, Farter, 蕴空之灵,",
"Teatube, [所有内测人员]",
"茶管, 思竣, [所有内测人员]",
},
used=[[
使用工具:
@@ -660,7 +669,7 @@ local langList={
set4="隐形(4)",
set5="极限(5)",
seq="高级设置(Q)",
draw="初始场地编辑(E)",
draw="初始场地(E)",
back="返回",
},
sequence={
@@ -855,7 +864,8 @@ local langList={
["blind_normal"]= {"隐形", "全隐", "挺强大脑"},
["blind_hard"]= {"隐形", "瞬隐", "很强大脑"},
["blind_lunatic"]= {"隐形", "瞬隐+", "超强大脑"},
["blind_ultimate"]= {"隐形", "", "你准备好了吗"},
["blind_ultimate"]= {"隐形", "啊这", "你准备好了吗"},
["blind_wtf"]= {"隐形", "不会吧", "还没准备好"},
["classic_fast"]= {"高速经典", "CTWC", "高速经典"},
["survivor_easy"]= {"生存", "简单", "你能存活多久?"},
["survivor_normal"]= {"生存", "普通", "你能存活多久?"},
@@ -882,12 +892,12 @@ local langList={
["tech_hard+"]= {"科研", "困难+", "仅允许回旋与全清"},
["tech_lunatic"]= {"科研", "疯狂", "禁止断B2B"},
["tech_lunatic+"]= {"科研", "疯狂+", "仅允许spin与PC"},
["tech_ultimate"]= {"科研", "", "强制最简操作"},
["tech_ultimate+"]= {"科研", "+", "禁止普通消除,强制最简操作"},
["tech_finesse"]= {"科研", "", "强制最简操作"},
["tech_finesse+"]= {"科研", "+", "禁止普通消除,强制最简操作"},
["tsd_easy"]= {"T2挑战", "简单", "你能连续做几个T旋双清?"},
["tsd_hard"]= {"T2挑战", "困难", "你能连续做几个T旋双清?"},
["tsd_ultimate"]= {"T2挑战", "极限", "你能连续做几个T旋双清?"},
["zen"]= {"", "", "不限时200行"},
["zen"]= {"", "200", "不限时200行"},
["ultra"]= {"限时打分", "挑战", "在两分钟内尽可能拿到最多的分数"},
["infinite"]= {"无尽", "", "沙盒"},
["infinite_dig"]= {"无尽:挖掘", "", "挖呀挖呀挖"},
@@ -978,6 +988,10 @@ local langList={
unlockSavingError="Failed to save unlock:",
recSavingError="Failed to save record:",
ai_fixed="AI is incompatible with fixed sequence",
ai_prebag="AI is incompatible with custom sequence",
switchSpawnSFX="Switch on spawn SFX to play",
needRestart="Effective after restart",
copySuccess="Copied successfully",
dataCorrupted="Data corrupted",
@@ -1057,7 +1071,7 @@ local langList={
"",
"Special Thanks:",
"Flyz, Farter, 蕴空之灵,",
"Teatube, [All test staff]",
"Teatube, 思竣, [All test staff]",
},
used="Tool used:\n\tBeepbox\n\tGFIE\n\tGoldwave\nLib used:\n\tCold_Clear[MinusKelvin]\n\tsimple-love-lights[dylhunn]",
support="Support author",
@@ -1291,7 +1305,8 @@ local langList={
["blind_normal"]= {"Blind", "ALL", "For intermediate players."},
["blind_hard"]= {"Blind", "SUDDEN", "For experienced players."},
["blind_lunatic"]= {"Blind", "SUDDEN+", "For professionals."},
["blind_ultimate"]= {"Blind", "", "R U Ready?"},
["blind_ultimate"]= {"Blind", "?", "R U Ready?"},
["blind_wtf"]= {"Blind", "WTF", "i m not ready"},
["classic_fast"]= {"Classic", "CTWC", "High-speed classic mode."},
["survivor_easy"]= {"Survivor", "EASY", "How long can you survive?"},
["survivor_normal"]= {"Survivor", "NORMAL", "How long can you survive?"},
@@ -1318,12 +1333,12 @@ local langList={
["tech_hard+"]= {"Tech", "HARD+", "Spin & PC only"},
["tech_lunatic"]= {"Tech", "LUNATIC", "Keep the B2B chain!"},
["tech_lunatic+"]= {"Tech", "LUNATIC+", "Spin & PC only"},
["tech_ultimate"]= {"Tech", "ULTIMATE", "No finesse faults!"},
["tech_ultimate+"]= {"Tech", "ULTIMATE+", "No normal clears, no finesse faults!"},
["tech_finesse"]= {"Tech", "FINESSE", "No finesse faults!"},
["tech_finesse+"]= {"Tech", "FINESSE+", "No normal clears, no finesse faults!"},
["tsd_easy"]= {"TSD Challenge", "EASY", "T-spin-doubles only!"},
["tsd_hard"]= {"TSD Challenge", "HARD", "T-spin-doubles only!"},
["tsd_ultimate"]= {"TSD Challenge", "ULTIMATE", "T-spin-doubles only!"},
["zen"]= {"Zen", "", "200 lines without a time limit."},
["zen"]= {"Zen", "200", "200 lines without a time limit."},
["ultra"]= {"Ultra", "EXTRA", "Get the highest score within 2 min."},
["infinite"]= {"Infinite", "", "Sandbox mode."},
["infinite_dig"]= {"Infinite: Dig", "", "Dig, dig, dig."},
@@ -1493,7 +1508,7 @@ local langList={
"",
"Special Thanks:",
"Flyz, Farter, 蕴空之灵,",
"Teatube, [All test staff]",
"Teatube, 思竣, [All test staff]",
},
used="Tool used:\n\tBeepbox\n\tGFIE\n\tGoldwave\nLib used:\n\tCold_Clear[MinusKelvin]\n\tsimple-love-lights[dylhunn]",
support="Support author",
@@ -1532,7 +1547,7 @@ local langList={
set4="Blind (4)",
set5="Master (5)",
seq="Advanced(Q)",
draw="Field Edit(E)",
draw="####(E)",
back="X",
},
sequence={
@@ -1727,7 +1742,8 @@ local langList={
["blind_normal"]= {"Blind", "ALL", "For intermediate players."},
["blind_hard"]= {"Blind", "SUDDEN", "For experienced players."},
["blind_lunatic"]= {"Blind", "SUDDEN+", "For professionals."},
["blind_ultimate"]= {"Blind", "", "R U Ready?"},
["blind_ultimate"]= {"Blind", "?", "R U Ready?"},
["blind_wtf"]= {"Blind", "WTF", "i m not ready"},
["classic_fast"]= {"Classic", "CTWC", "High-speed classic mode."},
["survivor_easy"]= {"Survivor", "EASY", "How long can you survive?"},
["survivor_normal"]= {"Survivor", "NORMAL", "How long can you survive?"},
@@ -1754,12 +1770,12 @@ local langList={
["tech_hard+"]= {"Tech", "HARD+", "Spin & PC only"},
["tech_lunatic"]= {"Tech", "LUNATIC", "Keep the B2B chain!"},
["tech_lunatic+"]= {"Tech", "LUNATIC+", "Spin & PC only"},
["tech_ultimate"]= {"Tech", "ULTIMATE", "No finesse faults!"},
["tech_ultimate+"]= {"Tech", "ULTIMATE+", "No normal clears, no finesse faults!"},
["tech_finesse"]= {"Tech", "FINESSE", "No finesse faults!"},
["tech_finesse+"]= {"Tech", "FINESSE+", "No normal clears, no finesse faults!"},
["tsd_easy"]= {"TSD Challenge", "EASY", "T-spin-doubles only!"},
["tsd_hard"]= {"TSD Challenge", "HARD", "T-spin-doubles only!"},
["tsd_ultimate"]= {"TSD Challenge", "ULTIMATE", "T-spin-doubles only!"},
["zen"]= {"Zen", "", "200 lines without a time limit."},
["zen"]= {"Zen", "200", "200 lines without a time limit."},
["ultra"]= {"Ultra", "EXTRA", "Get the highest score within 2 min."},
["infinite"]= {"Infinite", "", "Sandbox mode."},
["infinite_dig"]= {"Infinite: Dig", "", "Dig, dig, dig."},

View File

@@ -48,7 +48,7 @@ local function VirtualkeyPreview()
gc.setColor(c,1,c,setting.VKAlpha*.1)
gc.setLineWidth(B.r*.07)
gc.circle("line",B.x,B.y,B.r,10)
if setting.VKIcon then gc.draw(VKIcon[i],B.x,B.y,nil,B.r*.025,nil,18,18)end
if setting.VKIcon then gc.draw(TEXTURE.VKIcon[i],B.x,B.y,nil,B.r*.025,nil,18,18)end
end
end
end

View File

@@ -274,8 +274,12 @@ function sceneInit.debug()
}
end
function sceneInit.quit()
love.timer.sleep(.3)
love.event.quit()
if rnd()>.000626 then
love.timer.sleep(.3)
love.event.quit()
else
error("So lucky! 0.0626 precent to get this!!! You can quit the game now.")
end
end

View File

@@ -98,24 +98,24 @@ newSlider=WIDGET.newSlider
local Widgets={
load={},intro={},quit={},
main={
newButton({name="play", x=150,y=280,w=200,h=160,color="lightRed", font=55,code=function()SCN.goto("mode")end}),
newButton({name="setting", x=370,y=280,w=200,h=160,color="lightBlue", font=45,code=function()SCN.goto("setting_game")end}),
newButton({name="music", x=590,y=280,w=200,h=160,color="lightPurple",font=32,code=function()SCN.goto("music")end}),
newButton({name="help", x=150,y=460,w=200,h=160,color="lightYellow",font=50,code=function()SCN.goto("help")end}),
newButton({name="stat", x=370,y=460,w=200,h=160,color="lightCyan", font=43,code=function()SCN.goto("stat")end}),
newButton({name="qplay", x=590,y=460,w=200,h=160,color="lightOrange",font=43,code=function()SCN.push()loadGame(stat.lastPlay)end}),
newButton({name="lang", x=150,y=610,w=160,h=100,color="lightGreen", font=45,code=function()SCN.goto("setting_lang")end}),
newButton({name="quit", x=590,y=610,w=160,h=100,color="lightGrey", font=45,code=function()VO"play"("bye")SCN.swapTo("quit","slowFade")end}),
newButton({name="play", x=150,y=280,w=200,h=160,color="lRed", font=55,code=function()SCN.goto("mode")end}),
newButton({name="setting", x=370,y=280,w=200,h=160,color="lBlue", font=45,code=function()SCN.goto("setting_game")end}),
newButton({name="music", x=590,y=280,w=200,h=160,color="lPurple",font=32,code=function()SCN.goto("music")end}),
newButton({name="help", x=150,y=460,w=200,h=160,color="lYellow",font=50,code=function()SCN.goto("help")end}),
newButton({name="stat", x=370,y=460,w=200,h=160,color="lCyan", font=43,code=function()SCN.goto("stat")end}),
newButton({name="qplay", x=590,y=460,w=200,h=160,color="lOrange",font=43,code=function()SCN.push()loadGame(stat.lastPlay)end}),
newButton({name="lang", x=150,y=610,w=160,h=100,color="lGreen", font=45,code=function()SCN.goto("setting_lang")end}),
newButton({name="quit", x=590,y=610,w=160,h=100,color="lGrey", font=45,code=function()VOC.play("bye")SCN.swapTo("quit","slowFade")end}),
},
mode={
newButton({name="setting",x=1100,y=540,w=240,h=90,color="lightGreen", font=40,code=function()
newButton({name="setting",x=1100,y=540,w=240,h=90,color="lGreen", font=40,code=function()
SCN.goto("custom")
end,
hide=function()
return mapCam.sel~="custom_clear" and mapCam.sel~="custom_puzzle"
end}),
newButton({name="start", x=1040,y=655,w=180,h=80,color="lightGrey", font=40,code=pressKey("return"),hide=function()return not mapCam.sel end}),
newButton({name="back", x=1200,y=655,w=120,h=80,color="white", font=40,code=BACK}),
newButton({name="start", x=1040,y=655,w=180,h=80,color="lGrey", font=40,code=pressKey("return"),hide=function()return not mapCam.sel end}),
newButton({name="back", x=1200,y=655,w=120,h=80,color="white", font=40,code=BACK}),
},
music={
newSlider({name="bgm", x=760, y=80, w=400,unit=10, font=35,change=function()BGM.freshVolume()end,disp=SETval("bgm"),code=SETsto("bgm")}),
@@ -130,81 +130,81 @@ local Widgets={
newButton({name="left", x=1080, y=220, w=100,h=100, color="white", font=45,code=pressKey("left")}),
newButton({name="right", x=1200, y=220, w=100,h=100, color="white", font=45,code=pressKey("right")}),
newButton({name="set1", x=940, y=320, w=260,h=70, color="lightYellow",font=32,code=pressKey("1")}),
newButton({name="set2", x=940, y=400, w=260,h=70, color="lightYellow",font=32,code=pressKey("2")}),
newButton({name="set3", x=940, y=480, w=260,h=70, color="lightYellow",font=32,code=pressKey("3")}),
newButton({name="set4", x=940, y=560, w=260,h=70, color="lightYellow",font=32,code=pressKey("4")}),
newButton({name="set5", x=940, y=640, w=260,h=70, color="lightYellow",font=32,code=pressKey("5")}),
newButton({name="set1", x=940, y=320, w=260,h=70, color="lYellow",font=32,code=pressKey("1")}),
newButton({name="set2", x=940, y=400, w=260,h=70, color="lYellow",font=32,code=pressKey("2")}),
newButton({name="set3", x=940, y=480, w=260,h=70, color="lYellow",font=32,code=pressKey("3")}),
newButton({name="set4", x=940, y=560, w=260,h=70, color="lYellow",font=32,code=pressKey("4")}),
newButton({name="set5", x=940, y=640, w=260,h=70, color="lYellow",font=32,code=pressKey("5")}),
newButton({name="seq", x=665, y=415, w=200,h=40, color="lightGreen", font=30,code=pressKey("q")}),
newButton({name="draw", x=150, y=80, w=220,h=80, color="white", font=35,code=pressKey("e")}),
newButton({name="back", x=1200, y=640, w=120,h=120, color="white", font=35,code=BACK}),
newButton({name="seq", x=665, y=415, w=200,h=40, color="lGreen", font=30,code=pressKey("q")}),
newButton({name="draw", x=150, y=80, w=220,h=80, color="white", font=35,code=pressKey("e")}),
newButton({name="back", x=1200, y=640, w=120,h=120, color="white", font=35,code=BACK}),
},
sequence={
newButton({name="Z", x=150, y=440, w=90,h=90, color="white", font=50,code=pressKey(1)}),
newButton({name="S", x=250, y=440, w=90,h=90, color="white", font=50,code=pressKey(2)}),
newButton({name="J", x=350, y=440, w=90,h=90, color="white", font=50,code=pressKey(3)}),
newButton({name="L", x=450, y=440, w=90,h=90, color="white", font=50,code=pressKey(4)}),
newButton({name="T", x=550, y=440, w=90,h=90, color="white", font=50,code=pressKey(5)}),
newButton({name="O", x=650, y=440, w=90,h=90, color="white", font=50,code=pressKey(6)}),
newButton({name="I", x=750, y=440, w=90,h=90, color="white", font=50,code=pressKey(7)}),
newButton({name="Z", x=150, y=440, w=90,h=90, color="white", font=50,code=pressKey(1)}),
newButton({name="S", x=250, y=440, w=90,h=90, color="white", font=50,code=pressKey(2)}),
newButton({name="J", x=350, y=440, w=90,h=90, color="white", font=50,code=pressKey(3)}),
newButton({name="L", x=450, y=440, w=90,h=90, color="white", font=50,code=pressKey(4)}),
newButton({name="T", x=550, y=440, w=90,h=90, color="white", font=50,code=pressKey(5)}),
newButton({name="O", x=650, y=440, w=90,h=90, color="white", font=50,code=pressKey(6)}),
newButton({name="I", x=750, y=440, w=90,h=90, color="white", font=50,code=pressKey(7)}),
newButton({name="Z5", x=150, y=540, w=90,h=90, color="darkGrey", font=50,code=pressKey(8)}),
newButton({name="S5", x=250, y=540, w=90,h=90, color="darkGrey", font=50,code=pressKey(9)}),
newButton({name="P", x=350, y=540, w=90,h=90, color="darkGrey", font=50,code=pressKey(10)}),
newButton({name="Q", x=450, y=540, w=90,h=90, color="darkGrey", font=50,code=pressKey(11)}),
newButton({name="F", x=550, y=540, w=90,h=90, color="darkGrey", font=50,code=pressKey(12)}),
newButton({name="E", x=650, y=540, w=90,h=90, color="darkGrey", font=50,code=pressKey(13)}),
newButton({name="T5", x=750, y=540, w=90,h=90, color="darkGrey", font=50,code=pressKey(14)}),
newButton({name="U", x=850, y=540, w=90,h=90, color="darkGrey", font=50,code=pressKey(15)}),
newButton({name="V", x=950, y=540, w=90,h=90, color="darkGrey", font=50,code=pressKey(16)}),
newButton({name="W", x=150, y=640, w=90,h=90, color="darkGrey", font=50,code=pressKey(17)}),
newButton({name="X", x=250, y=640, w=90,h=90, color="darkGrey", font=50,code=pressKey(18)}),
newButton({name="J5", x=350, y=640, w=90,h=90, color="darkGrey", font=50,code=pressKey(19)}),
newButton({name="L5", x=450, y=640, w=90,h=90, color="darkGrey", font=50,code=pressKey(20)}),
newButton({name="R", x=550, y=640, w=90,h=90, color="darkGrey", font=50,code=pressKey(21)}),
newButton({name="Y", x=650, y=640, w=90,h=90, color="darkGrey", font=50,code=pressKey(22)}),
newButton({name="N", x=750, y=640, w=90,h=90, color="darkGrey", font=50,code=pressKey(23)}),
newButton({name="H", x=850, y=640, w=90,h=90, color="darkGrey", font=50,code=pressKey(24)}),
newButton({name="I5", x=950, y=640, w=90,h=90, color="darkGrey", font=50,code=pressKey(25)}),
newButton({name="Z5", x=150, y=540, w=90,h=90, color="dGrey",font=50,code=pressKey(8)}),
newButton({name="S5", x=250, y=540, w=90,h=90, color="dGrey",font=50,code=pressKey(9)}),
newButton({name="P", x=350, y=540, w=90,h=90, color="dGrey",font=50,code=pressKey(10)}),
newButton({name="Q", x=450, y=540, w=90,h=90, color="dGrey",font=50,code=pressKey(11)}),
newButton({name="F", x=550, y=540, w=90,h=90, color="dGrey",font=50,code=pressKey(12)}),
newButton({name="E", x=650, y=540, w=90,h=90, color="dGrey",font=50,code=pressKey(13)}),
newButton({name="T5", x=750, y=540, w=90,h=90, color="dGrey",font=50,code=pressKey(14)}),
newButton({name="U", x=850, y=540, w=90,h=90, color="dGrey",font=50,code=pressKey(15)}),
newButton({name="V", x=950, y=540, w=90,h=90, color="dGrey",font=50,code=pressKey(16)}),
newButton({name="W", x=150, y=640, w=90,h=90, color="dGrey",font=50,code=pressKey(17)}),
newButton({name="X", x=250, y=640, w=90,h=90, color="dGrey",font=50,code=pressKey(18)}),
newButton({name="J5", x=350, y=640, w=90,h=90, color="dGrey",font=50,code=pressKey(19)}),
newButton({name="L5", x=450, y=640, w=90,h=90, color="dGrey",font=50,code=pressKey(20)}),
newButton({name="R", x=550, y=640, w=90,h=90, color="dGrey",font=50,code=pressKey(21)}),
newButton({name="Y", x=650, y=640, w=90,h=90, color="dGrey",font=50,code=pressKey(22)}),
newButton({name="N", x=750, y=640, w=90,h=90, color="dGrey",font=50,code=pressKey(23)}),
newButton({name="H", x=850, y=640, w=90,h=90, color="dGrey",font=50,code=pressKey(24)}),
newButton({name="I5", x=950, y=640, w=90,h=90, color="dGrey",font=50,code=pressKey(25)}),
newButton({name="left", x=850, y=440, w=90,h=90, color="lightGreen", font=55,code=pressKey("left")}),
newButton({name="right", x=950, y=440, w=90,h=90, color="lightGreen", font=55,code=pressKey("right")}),
newButton({name="backsp", x=1050, y=440, w=90,h=90, color="lightRed", font=50,code=pressKey("backspace")}),
newButton({name="reset", x=1050, y=540, w=90,h=90, color="lightRed", font=50,code=pressKey("delete")}),
newButton({name="back", x=1200, y=640, w=120,h=120, color="white", font=35,code=BACK}),
newButton({name="left", x=850, y=440, w=90,h=90, color="lGreen", font=55,code=pressKey("left")}),
newButton({name="right", x=950, y=440, w=90,h=90, color="lGreen", font=55,code=pressKey("right")}),
newButton({name="backsp", x=1050, y=440, w=90,h=90, color="lRed", font=50,code=pressKey("backspace")}),
newButton({name="reset", x=1050, y=540, w=90,h=90, color="lRed", font=50,code=pressKey("delete")}),
newButton({name="back", x=1200, y=640, w=120,h=120, color="white", font=35,code=BACK}),
},
draw={
newButton({name="b1", x=500+65*1, y=150,w=58,h=58, color="red", font=30,code=setPen(1)}),--B1
newButton({name="b2", x=500+65*2, y=150,w=58,h=58, color="orange", font=30,code=setPen(2)}),--B2
newButton({name="b3", x=500+65*3, y=150,w=58,h=58, color="yellow", font=30,code=setPen(3)}),--B3
newButton({name="b4", x=500+65*4, y=150,w=58,h=58, color="grass", font=30,code=setPen(4)}),--B4
newButton({name="b5", x=500+65*5, y=150,w=58,h=58, color="green", font=30,code=setPen(5)}),--B5
newButton({name="b6", x=500+65*6, y=150,w=58,h=58, color="water", font=30,code=setPen(6)}),--B6
newButton({name="b7", x=500+65*7, y=150,w=58,h=58, color="cyan", font=30,code=setPen(7)}),--B7
newButton({name="b8", x=500+65*8, y=150,w=58,h=58, color="blue", font=30,code=setPen(8)}),--B8
newButton({name="b9", x=500+65*9, y=150,w=58,h=58, color="purple", font=30,code=setPen(9)}),--B9
newButton({name="b10", x=500+65*10,y=150,w=58,h=58, color="magenta", font=30,code=setPen(10)}),--B10
newButton({name="b11", x=500+65*11,y=150,w=58,h=58, color="pink", font=30,code=setPen(11)}),--B11
newButton({name="b1", x=500+65*1, y=150,w=58,h=58, color="red", font=30,code=setPen(1)}),--B1
newButton({name="b2", x=500+65*2, y=150,w=58,h=58, color="orange", font=30,code=setPen(2)}),--B2
newButton({name="b3", x=500+65*3, y=150,w=58,h=58, color="yellow", font=30,code=setPen(3)}),--B3
newButton({name="b4", x=500+65*4, y=150,w=58,h=58, color="grass", font=30,code=setPen(4)}),--B4
newButton({name="b5", x=500+65*5, y=150,w=58,h=58, color="green", font=30,code=setPen(5)}),--B5
newButton({name="b6", x=500+65*6, y=150,w=58,h=58, color="water", font=30,code=setPen(6)}),--B6
newButton({name="b7", x=500+65*7, y=150,w=58,h=58, color="cyan", font=30,code=setPen(7)}),--B7
newButton({name="b8", x=500+65*8, y=150,w=58,h=58, color="blue", font=30,code=setPen(8)}),--B8
newButton({name="b9", x=500+65*9, y=150,w=58,h=58, color="purple", font=30,code=setPen(9)}),--B9
newButton({name="b10", x=500+65*10,y=150,w=58,h=58, color="magenta",font=30,code=setPen(10)}),--B10
newButton({name="b11", x=500+65*11,y=150,w=58,h=58, color="pink", font=30,code=setPen(11)}),--B11
newButton({name="b12", x=500+65*1, y=230,w=58,h=58, color="darkGrey", font=30,code=setPen(12)}),--Bone
newButton({name="b13", x=500+65*2, y=230,w=58,h=58, color="grey", font=30,code=setPen(13)}),--GB1
newButton({name="b14", x=500+65*3, y=230,w=58,h=58, color="lightGrey", font=30,code=setPen(14)}),--GB2
newButton({name="b15", x=500+65*4, y=230,w=58,h=58, color="darkPurple", font=30,code=setPen(15)}),--GB3
newButton({name="b16", x=500+65*5, y=230,w=58,h=58, color="darkRed", font=30,code=setPen(16)}),--GB4
newButton({name="b17", x=500+65*6, y=230,w=58,h=58, color="darkGreen", font=30,code=setPen(17)}),--GB5
newButton({name="b12", x=500+65*1, y=230,w=58,h=58, color="dGrey", font=30,code=setPen(12)}),--Bone
newButton({name="b13", x=500+65*2, y=230,w=58,h=58, color="grey", font=30,code=setPen(13)}),--GB1
newButton({name="b14", x=500+65*3, y=230,w=58,h=58, color="lGrey", font=30,code=setPen(14)}),--GB2
newButton({name="b15", x=500+65*4, y=230,w=58,h=58, color="dPurple",font=30,code=setPen(15)}),--GB3
newButton({name="b16", x=500+65*5, y=230,w=58,h=58, color="dRed", font=30,code=setPen(16)}),--GB4
newButton({name="b17", x=500+65*6, y=230,w=58,h=58, color="dGreen", font=30,code=setPen(17)}),--GB5
newButton({name="any", x=600, y=360, w=120,h=120, color="lightGrey", font=40,code=setPen(0)}),
newButton({name="space", x=730, y=360, w=120,h=120, color="grey", font=65,code=setPen(-1)}),
newButton({name="clear", x=1200, y=500, w=120,h=120, color="white", font=40,code=pressKey("delete")}),
newSwitch({name="demo", x=755, y=640, font=30,disp=function()return sceneTemp.demo end,code=function()sceneTemp.demo=not sceneTemp.demo end}),
newButton({name="copy", x=920, y=640, w=120,h=120, color="lightRed", font=35,code=function()copyBoard()end}),
newButton({name="paste", x=1060, y=640, w=120,h=120, color="lightBlue", font=35,code=function()pasteBoard()end}),
newButton({name="custom", x=110, y=80, w=140,h=80, color="white", font=35,code=function()SCN.goto("custom")end}),
newButton({name="back", x=1200, y=640, w=120,h=120, color="white", font=35,code=BACK}),
newButton({name="any", x=600, y=360, w=120,h=120, color="lGrey", font=40,code=setPen(0)}),
newButton({name="space", x=730, y=360, w=120,h=120, color="grey", font=65,code=setPen(-1)}),
newButton({name="clear", x=1200, y=500, w=120,h=120, color="white", font=40,code=pressKey("delete")}),
newSwitch({name="demo", x=755, y=640, font=30,disp=function()return sceneTemp.demo end,code=function()sceneTemp.demo=not sceneTemp.demo end}),
newButton({name="copy", x=920, y=640, w=120,h=120, color="lRed", font=35,code=function()copyBoard()end}),
newButton({name="paste", x=1060, y=640, w=120,h=120, color="lBlue", font=35,code=function()pasteBoard()end}),
newButton({name="custom", x=110, y=80, w=140,h=80, color="white", font=35,code=function()SCN.goto("custom")end}),
newButton({name="back", x=1200, y=640, w=120,h=120, color="white", font=35,code=BACK}),
},
play={
newButton({name="pause", x=1235, y=45, w=80,h=80, color="white", font=25,code=function()pauseGame()end}),
newButton({name="pause", x=1235, y=45, w=80,h=80, color="white", font=25,code=function()pauseGame()end}),
},
pause={
newButton({name="resume", x=640,y=290,w=240,h=100,color="white",font=30,code=function()resumeGame()end}),
@@ -214,21 +214,21 @@ local Widgets={
resetGameData()
SCN.swapTo("play","none")
end}),
newButton({name="setting", x=1120, y=70, w=240,h=90, color="lightBlue",font=35,code=function()
newButton({name="setting", x=1120, y=70, w=240,h=90, color="lBlue",font=35,code=function()
SCN.goto("setting_sound")
end}),
newButton({name="quit", x=640, y=600, w=240,h=100,color="white",font=35,code=BACK}),
},
setting_game={
newButton({name="graphic", x=200, y=80, w=240,h=80, color="lightCyan", font=35,code=function()SCN.swapTo("setting_video")end}),
newButton({name="sound", x=1080, y=80, w=240,h=80, color="lightCyan", font=35,code=function()SCN.swapTo("setting_sound")end}),
newButton({name="ctrl", x=290, y=220, w=320,h=80, color="lightYellow",font=35,code=function()SCN.goto("setting_control")end}),
newButton({name="key", x=640, y=220, w=320,h=80, color="lightGreen", font=35,code=function()SCN.goto("setting_key")end}),
newButton({name="touch", x=990, y=220, w=320,h=80, color="lightBlue", font=35,code=function()SCN.goto("setting_touch")end}),
newSlider({name="reTime", x=350, y=340, w=300,unit=10, font=30,disp=SETval("reTime"), code=SETsto("reTime")}),
newSlider({name="maxNext", x=350, y=440, w=300,unit=6, font=30,disp=SETval("maxNext"), code=SETsto("maxNext")}),
newSwitch({name="autoPause",x=350, y=540, font=20,disp=SETval("autoPause"),code=SETrev("autoPause")}),
newButton({name="layout", x=590, y=540, w=140,h=70,color="white", font=35,code=function()
newButton({name="graphic", x=200, y=80, w=240,h=80, color="lCyan", font=35,code=function()SCN.swapTo("setting_video")end}),
newButton({name="sound", x=1080, y=80, w=240,h=80, color="lCyan", font=35,code=function()SCN.swapTo("setting_sound")end}),
newButton({name="ctrl", x=290, y=220, w=320,h=80, color="lYellow",font=35,code=function()SCN.goto("setting_control")end}),
newButton({name="key", x=640, y=220, w=320,h=80, color="lGreen", font=35,code=function()SCN.goto("setting_key")end}),
newButton({name="touch", x=990, y=220, w=320,h=80, color="lBlue", font=35,code=function()SCN.goto("setting_touch")end}),
newSlider({name="reTime", x=350, y=340, w=300,unit=10, font=30,disp=SETval("reTime"), code=SETsto("reTime")}),
newSlider({name="maxNext", x=350, y=440, w=300,unit=6, font=30,disp=SETval("maxNext"), code=SETsto("maxNext")}),
newSwitch({name="autoPause",x=350, y=540, font=20,disp=SETval("autoPause"),code=SETrev("autoPause")}),
newButton({name="layout", x=590, y=540, w=140,h=70,color="white", font=35,code=function()
SCN.goto("setting_skin")
end}),
newSwitch({name="quickR", x=1050,y=320,font=35, disp=SETval("quickR"), code=SETrev("quickR")}),
@@ -237,8 +237,8 @@ local Widgets={
newButton({name="back", x=1140,y=650,w=200,h=80,color="white",font=40,code=BACK}),
},
setting_video={
newButton({name="sound", x=200, y=80,w=240,h=80,color="lightCyan",font=35,code=function()SCN.swapTo("setting_sound")end}),
newButton({name="game", x=1080, y=80,w=240,h=80,color="lightCyan",font=35,code=function()SCN.swapTo("setting_game")end}),
newButton({name="sound", x=200, y=80,w=240,h=80,color="lCyan",font=35,code=function()SCN.swapTo("setting_sound")end}),
newButton({name="game", x=1080, y=80,w=240,h=80,color="lCyan",font=35,code=function()SCN.swapTo("setting_game")end}),
newSwitch({name="ghost", x=250, y=180,font=35, disp=SETval("ghost"), code=SETrev("ghost")}),
newSwitch({name="smooth", x=250, y=260,font=25, disp=SETval("smooth"), code=SETrev("smooth")}),
newSwitch({name="center", x=500, y=180,font=35, disp=SETval("center"), code=SETrev("center")}),
@@ -271,14 +271,14 @@ local Widgets={
newButton({name="back", x=1140, y=650,w=200,h=80,color="white",font=40,code=BACK}),
},
setting_sound={
newButton({name="game", x=200, y=80,w=240,h=80,color="lightCyan",font=35,code=function()SCN.swapTo("setting_game")end}),
newButton({name="graphic", x=1080, y=80,w=240,h=80,color="lightCyan",font=35,code=function()SCN.swapTo("setting_video")end}),
newSlider({name="sfx", x=180, y=200,w=400,unit=10,font=35,code=function()SFX.play("blip_1")end, disp=SETval("sfx"), code=SETsto("sfx")}),
newSlider({name="stereo", x=180, y=500,w=400,unit=10,font=35,code=function()SFX.play("move",1,-1)SFX.play("lock",1,1)end, disp=SETval("stereo"), code=SETsto("stereo"),hide=function()return setting.sfx==0 end}),
newSlider({name="spawn", x=180, y=300,w=400,unit=10,font=30,code=function()SFX.play("spawn_1",setting.spawn,nil,true)end, disp=SETval("spawn"), code=SETsto("spawn")}),
newSlider({name="bgm", x=180, y=400,w=400,unit=10,font=35,code=function()BGM.freshVolume()end, disp=SETval("bgm"), code=SETsto("bgm")}),
newSlider({name="vib", x=750, y=200,w=400,unit=5, font=28,code=function()VIB(2)end, disp=SETval("vib"), code=SETsto("vib")}),
newSlider({name="voc", x=750, y=300,w=400,unit=10,font=32,code=function()VOC.play("nya")end, disp=SETval("voc"), code=SETsto("voc")}),
newButton({name="game", x=200, y=80,w=240,h=80,color="lCyan",font=35,code=function()SCN.swapTo("setting_game")end}),
newButton({name="graphic", x=1080, y=80,w=240,h=80,color="lCyan",font=35,code=function()SCN.swapTo("setting_video")end}),
newSlider({name="sfx", x=180, y=200,w=400,unit=10,font=35,change=function()SFX.play("blip_1")end, disp=SETval("sfx"), code=SETsto("sfx")}),
newSlider({name="stereo", x=180, y=500,w=400,unit=10,font=35,change=function()SFX.play("move",1,-1)SFX.play("lock",1,1)end, disp=SETval("stereo"), code=SETsto("stereo"),hide=function()return setting.sfx==0 end}),
newSlider({name="spawn", x=180, y=300,w=400,unit=10,font=30,change=function()SFX.play("spawn_1",setting.spawn,nil,true)end, disp=SETval("spawn"), code=SETsto("spawn")}),
newSlider({name="bgm", x=180, y=400,w=400,unit=10,font=35,change=function()BGM.freshVolume()end, disp=SETval("bgm"), code=SETsto("bgm")}),
newSlider({name="vib", x=750, y=200,w=400,unit=5, font=28,change=function()VIB(2)end, disp=SETval("vib"), code=SETsto("vib")}),
newSlider({name="voc", x=750, y=300,w=400,unit=10,font=32,change=function()VOC.play("nya")end, disp=SETval("voc"), code=SETsto("voc")}),
newButton({name="back", x=1140, y=650,w=200,h=80,color="white",font=40,code=BACK}),
},
setting_control={
@@ -289,7 +289,7 @@ local Widgets={
newSwitch({name="ihs", x=1100, y=290,font=30, disp=SETval("ihs"), code=SETrev("ihs")}),
newSwitch({name="irs", x=1100, y=380,font=30, disp=SETval("irs"), code=SETrev("irs")}),
newSwitch({name="ims", x=1100, y=470,font=30, disp=SETval("ims"), code=SETrev("ims")}),
newButton({name="reset", x=160, y=580,w=200,h=100,color="lightRed",font=40,code=function()
newButton({name="reset", x=160, y=580,w=200,h=100,color="lRed",font=40,code=function()
local _=setting
_.das,_.arr=10,2
_.sddas,_.sdarr=0,2
@@ -327,11 +327,11 @@ local Widgets={
--newButton({name="spin6",x=825,y=540,w=90,h=65,color="white",font=30,code=nextDir(6)}),--cannot rotate O
newButton({name="spin7", x=970,y=540,w=90,h=65,color="white",font=30,code=nextDir(7)}),
newButton({name="skinR", x=200,y=640,w=220,h=80,color="lightPurple",font=35,code=function()
newButton({name="skinR", x=200,y=640,w=220,h=80,color="lPurple",font=35,code=function()
setting.skin={1,5,8,2,10,3,7,1,5,5,1,8,2,10,3,7,10,7,8,2,8,2,1,5,3}
SFX.play("rotate")
end}),
newButton({name="faceR", x=480,y=640,w=220,h=80,color="lightRed",font=35,code=function()
newButton({name="faceR", x=480,y=640,w=220,h=80,color="lRed",font=35,code=function()
for i=1,25 do
setting.face[i]=0
end

View File

@@ -84,6 +84,9 @@ if fs.getInfo("data.dat")then FILE.loadData()end
if fs.getInfo("key.dat")then FILE.loadKeyMap()end
if fs.getInfo("virtualkey.dat")then FILE.loadVK()end
if fs.getInfo("tech_ultimate.dat")then fs.remove("tech_ultimate.dat")end
if fs.getInfo("tech_ultimate+.dat")then fs.remove("tech_ultimate+.dat")end
--update data file
S=stat
while #modeRanks>73 do
@@ -96,7 +99,7 @@ if modeRanks[1]then--rename key of modeRanks
L[Modes[i].name],L[i]=L[i]
end
end
if S.version=="Alpha V0.9.1"then
if S.version=="Alpha V0.9.1"or type(setting.spawn)~="number"then
setting.spawn=0
end
if S.version~=gameVersion then

View File

@@ -4,7 +4,6 @@ return{
color=color.red,
env={
drop=30,lock=60,
fall=5,
block=false,
center=false,ghost=false,
dropFX=0,lockFX=0,

59
modes/blind_wtf.lua Normal file
View File

@@ -0,0 +1,59 @@
local gc=love.graphics
local sin,min=math.sin,math.min
local Timer=love.timer.getTime
return{
color=color.red,
env={
drop=30,lock=60,
next=1,
block=false,
center=false,ghost=false,
dropFX=0,lockFX=0,
visible="none",
dropPiece=PLY.reach_winCheck,
freshLimit=15,
target=100,
bg="none",bgm="secret7th",
},
pauseLimit=true,
load=function()
PLY.newPlayer(1,340,15)
end,
mesDisp=function(P,dx,dy)
if not game.result then
gc.clear(.26,.26,.26)
end
--MD Figure
local t=Timer()
gc.setColor(.6+.3*sin(t*1.26),.6+.3*sin(t*2.6),.6+.3*sin(t*1.626),.2)
gc.draw(IMG.electric,-162,-8,0,3.2)
--Texts
gc.setColor(.8,.8,.8)
mText(drawableText.line,-81,300)
mText(drawableText.techrash,-81,420)
setFont(75)
mStr(P.stat.row,-81,220)
mStr(P.stat.clears[4],-81,340)
--"Field"
gc.setColor(.5,.5,.5)
gc.rectangle("line",-1,-11,302,612)
gc.rectangle("line",301,0,15,601)
gc.rectangle("line",-16,-3,15,604)
end,
score=function(P)return{min(P.stat.row or 200),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
getRank=function(P)
local L=P.stat.row
return
L>=100 and 5 or
L>=60 and 4 or
L>=30 and 3 or
L>=10 and 2 or
L>=5 and 1 or
L>=1 and 0
end,
}

View File

@@ -1,4 +1,4 @@
local s={
setting={
--game
das=10,arr=2,
sddas=0,sdarr=2,
@@ -51,11 +51,10 @@ local s={
VKAlpha=3,
}
for i=1,25 do
s.face[i]=0
setting.face[i]=0
end
setting=s
s={
stat={
version=gameVersion,
run=0,game=0,time=0,
key=0,rotate=0,hold=0,
@@ -68,10 +67,9 @@ s={
lastPlay="sprint_10",--last played mode ID
}
for i=1,25 do
s.clear[i]={0,0,0,0,0}
s.spin[i]={0,0,0,0,0}
stat.clear[i]={0,0,0,0,0}
stat.spin[i]={0,0,0,0,0}
end
stat=s
keyMap={
{"left","right","x","z","c","up","down","space","tab","r"},{},

View File

@@ -3,28 +3,27 @@ if setting.lang==1 or setting.lang==2 then
L={
"ZS JL T O I",
"uid:225238922",
"tetr.js 也很好玩!",
"tetr.io 也很好玩!",
"tetr.js也很好玩!",
"tetr.io也很好玩!",
"Techminohaowan",
"Techmino 好玩!",
"STSD必死",
"REGRET!!",
"osu好玩!",
"O spin Triple!",
"nullpomino 也很好玩!",
"nullpomino也很好玩!",
"Naki 可爱",
"Miya:喵!",
"Miya 可爱!",
"LrL RlR LLr RRl RRR LLL FFF RfR RRf rFF",
"Let-The-Bass-Kick!",
"l-=-1",
"jstris 也很好玩!",
"jstris也很好玩!",
"iced,永远的神",
"DT炮=TSD+TST炮",
"COOL!!",
"CLASSIC SEXY RUSSIAN BLOCKS",
"BT炮=beta炮",
"bdg tql wsl",
"B2B2B2B存在吗?",
"B2B2B???",
"Am G F G",
@@ -32,6 +31,7 @@ if setting.lang==1 or setting.lang==2 then
"注意到\"旋转\"到底对方块做了些什么吗?",
"有疑问? 先看设置有没有你想要的",
"有建议的话可以把信息反馈给作者~",
"音乐都是瞎写的,觉得不好听就把BGM关了罢",
"学会使用两个旋转键, 三个更好",
"享受特色旋转系统!",
"无聊翻翻设置是好习惯",
@@ -46,9 +46,11 @@ if setting.lang==1 or setting.lang==2 then
"你可以从统计页面打开游戏存档目录",
"你好 世界!",
"魔方好玩!",
"免费吃鸡方块",
"秘密数字:626",
"每个虚拟按键都可以隐藏/显示",
"每个块的出现方向可以自定义",
"没专业美术,程序员审美警告",
"联网还没做呢, 别急",
"键位是可以自定义的",
"合群了就会消失, 但是消失不代表没有意义",
@@ -65,11 +67,13 @@ if setting.lang==1 or setting.lang==2 then
"不要盯着bug不放",
"不要按F10",
"不是动画,真的在加载!",
"别问游戏名怎么取的,问就是随便想的",
"本游戏难度上限很高, 做好心理准备",
"本游戏可不是休闲游戏",
"啊这,不会吧不会吧",
"626r/s",
"40行世界纪录:15.654s",
"4+4+4+4+2+2+1=17",
"3.1415926535897932384",
"26连T2来一个?",
"20G本质是一套全新的游戏规则",
@@ -81,7 +85,6 @@ if setting.lang==1 or setting.lang==2 then
"<方块研究所>有一个Nspire-CX版本!",
"↑↑↓↓←→←→BABA",
"(RUR'U')R'FR2U'R'U'(RUR'F')",
'"免费吃鸡方块"',
}
elseif setting.lang==3 then
L={
@@ -93,6 +96,7 @@ elseif setting.lang==3 then
"Who is diao",
"What about 26 TSDs?",
"What about 20 PCs?",
"Warning: Programmer Art",
"Try to use two rotate button,three better",
"This in not a casual game",
"This game can be very hard,be mentally perpared",
@@ -101,6 +105,7 @@ elseif setting.lang==3 then
"Techmino=Technique+Tetromino",
"Techmino is so fun!",
"Techmino has a Nspire-CX edition!",
"switch stupid music off if they make you awful",
"Small DAS&ARR can make you faster,if you can control block correctly",
"Secret num:626",
"Rubik's cube is fun!",
@@ -149,6 +154,7 @@ elseif setting.lang==3 then
"ALLSPIN!",
"少女祈禱中",
"40L WR: 15.654s",
"4+4+4+4+2+2+1=17",
"3.1415926535897932384",
"225238922 Bilibili cheers!",
"20G actually is a brand new game rule",

View File

@@ -36,7 +36,8 @@ return{
{name="blind_normal", x=150, y=-800, size=35,shape=1,icon="blind", unlock={"blind_hard"}},
{name="blind_hard", x=150, y=-900, size=35,shape=1,icon="blind", unlock={"blind_lunatic"}},
{name="blind_lunatic", x=150, y=-1000, size=35,shape=1,icon="blind", unlock={"blind_ultimate"}},
{name="blind_ultimate", x=150, y=-1100, size=35,shape=1,icon="blind", unlock={}},
{name="blind_ultimate", x=150, y=-1100, size=35,shape=2,icon="blind", unlock={"blind_wtf"}},
{name="blind_wtf", x=150, y=-1200, size=35,shape=2,icon="blind", unlock={}},
{name="classic_fast", x=-300, y=-1200, size=40,shape=2,icon="classic", unlock={}},
@@ -63,22 +64,22 @@ return{
{name="pcchallenge_normal", x=800, y=-100, size=35,shape=1,icon="pcchallenge", unlock={"pcchallenge_hard"}},
{name="pcchallenge_hard", x=1000, y=-100, size=35,shape=1,icon="pcchallenge", unlock={"pcchallenge_lunatic"}},
{name="pcchallenge_lunatic",x=1200, y=-100, size=35,shape=1,icon="pcchallenge", unlock={}},
{name="tech_normal", x=400, y=-100, size=35,shape=1,icon="tech", unlock={"tech_normal+","tech_hard"}},
{name="tech_normal", x=400, y=-150, size=35,shape=1,icon="tech", unlock={"tech_normal+","tech_hard","tech_finesse"}},
{name="tech_finesse", x=800, y=50, size=35,shape=1,icon="tech", unlock={"tech_finesse+"}},
{name="tech_finesse+", x=1000, y=50, size=35,shape=1,icon="tech", unlock={}},
{name="tech_normal+", x=650, y=150, size=35,shape=1,icon="tech", unlock={"tsd_easy"}},
{name="tsd_easy", x=800, y=250, size=35,shape=1,icon="tsd", unlock={"tsd_hard"}},
{name="tsd_hard", x=1000, y=250, size=35,shape=1,icon="tsd", unlock={"tsd_ultimate"}},
{name="tsd_ultimate", x=1200, y=250, size=35,shape=1,icon="tsd", unlock={}},
{name="tech_hard", x=400, y=50, size=35,shape=1,icon="tech", unlock={"tech_hard+","tech_lunatic"}},
{name="tech_hard+", x=250, y=50, size=35,shape=1,icon="tech", unlock={}},
{name="tech_lunatic", x=400, y=200, size=35,shape=1,icon="tech", unlock={"tech_lunatic+","tech_ultimate"}},
{name="tech_lunatic", x=400, y=200, size=35,shape=1,icon="tech", unlock={"tech_lunatic+"}},
{name="tech_lunatic+", x=250, y=200, size=35,shape=1,icon="tech", unlock={}},
{name="tech_ultimate", x=400, y=350, size=35,shape=1,icon="tech", unlock={"tech_ultimate+"}},
{name="tech_ultimate+", x=250, y=350, size=35,shape=1,icon="tech", unlock={}},
{name="tsd_easy", x=800, y=200, size=35,shape=1,icon="tsd", unlock={"tsd_hard"}},
{name="tsd_hard", x=1000, y=200, size=35,shape=1,icon="tsd", unlock={"tsd_ultimate"}},
{name="tsd_ultimate", x=1200, y=200, size=35,shape=1,icon="tsd", unlock={}},
{name="zen", x=-900, y=-600, size=35,shape=1,icon="zen", unlock={"ultra","infinite","infinite_dig"}},
{name="ultra", x=-1100, y=-400, size=35,shape=1,icon="ultra", unlock={}},
{name="infinite", x=-900, y=-400, size=35,shape=1,icon="infinite", unlock={}},
{name="infinite_dig", x=-1100, y=-600, size=35,shape=1,icon="infinite_dig",unlock={}},
{name="zen", x=-800, y=-600, size=35,shape=1,icon="zen", unlock={"ultra","infinite","infinite_dig"}},
{name="ultra", x=-1000, y=-400, size=35,shape=1,icon="ultra", unlock={}},
{name="infinite", x=-800, y=-400, size=35,shape=1,icon="infinite", unlock={}},
{name="infinite_dig", x=-1000, y=-600, size=35,shape=1,icon="infinite_dig",unlock={}},
{name="custom_clear", x=200, y=-350, size=45,shape=3,icon="custom", unlock={}},
{name="custom_puzzle", x=200, y=-200, size=45,shape=3,icon="puzzle", unlock={}},
{name="sprintPenta", x=-200, y=-200, size=45,shape=3,icon="sprint", unlock={}},

View File

@@ -17,6 +17,7 @@ local S=[=[
HAGE KANOBU 闪电和拐棍 葡萄味的曼妥思
世界沃德 蓝绿 天生的魔法师 琳雨空
T8779.易缄 吃水榴莲 诗情画意 星姐阿夸双推Man暗炎
[*Y] [*炎]
Thanks!!!
Future outlook:
@@ -69,12 +70,14 @@ Future outlook:
more graphic FXs & 3D features & animations
network game
new AI: task-Z
0.9.2: Bug Fixed
0.9.2: Global Update
new:
debug page
independent spawning volume setting
select widgets with arrow keys
display last played mode on title screen
new blind mode (extremely hard)
mode map changed
[debug page]
change:
three little better backgrounds instead of stupid rainbow
kick list of i-piece little changed