全新自定义游戏设置界面
This commit is contained in:
@@ -31,34 +31,6 @@ local langList={
|
||||
pauseCount="暂停统计",
|
||||
|
||||
custom="自定义游戏",
|
||||
customOption={
|
||||
drop="下落速度:",
|
||||
lock="锁定延迟:",
|
||||
wait="放块延迟:",
|
||||
fall="消行延迟:",
|
||||
next="序列数量:",
|
||||
hold="暂存:",
|
||||
sequence="序列:",
|
||||
visible="可见性:",
|
||||
target="目标行数:",
|
||||
freshLimit="锁延刷新次数:",
|
||||
opponent="对手速度等级:",
|
||||
bg="背景:",
|
||||
bgm="背景音乐:",
|
||||
},
|
||||
customVal={
|
||||
drop={"0G","1/180G","1/60G","1/40G","1/30G","1/25G","1/20G","1/18G","1/16G","1/14G","1/12G","1/10G","1/9G","1/8G","1/7G","1/6G","1/5G","1/4G","1/3G","1/2G","1G","2G","4G","8G","20G"},
|
||||
lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"∞"},
|
||||
wait=nil,
|
||||
fall=nil,
|
||||
next=nil,
|
||||
hold={"开","关","无限"},
|
||||
sequence={"bag","his4","随机","循环","固定"},
|
||||
visible={"可见","半隐","全隐","瞬隐"},
|
||||
target={10,20,40,100,200,500,1000,"∞"},
|
||||
freshLimit={0,8,15,"∞"},
|
||||
opponent={"无电脑","9S Lv1","9S Lv2","9S Lv3","9S Lv4","9S Lv5","CC Lv1","CC Lv2","CC Lv3","CC Lv4","CC Lv5","CC Lv6"},
|
||||
},
|
||||
sequence="自定义序列",
|
||||
softdropdas="软降DAS:",
|
||||
softdroparr="软降ARR:",
|
||||
@@ -222,16 +194,28 @@ local langList={
|
||||
back="返回",
|
||||
},
|
||||
custom={
|
||||
up="↑",
|
||||
down="↓",
|
||||
left="←",
|
||||
right="→",
|
||||
set1="40行(1)",
|
||||
set2="1v1(2)",
|
||||
set3="无尽(3)",
|
||||
set4="隐形(4)",
|
||||
set5="极限(5)",
|
||||
seq="高级设置(Q)",
|
||||
drop="下落延迟",lock="锁定延迟",wait="出块等待",fall="消行延迟",
|
||||
next="Next",hold="Hold",oncehold="Hold一次",
|
||||
block="方块透明度",ghost="阴影透明度",center="中心透明度",
|
||||
bagLine="包分界线",
|
||||
highCam="超屏视野",
|
||||
nextPos="生成预览",
|
||||
mindas="最小DAS",minarr="最小ARR",minsdarr="最小软降ARR",
|
||||
noTele="禁止瞬移",
|
||||
ospin="O-spin",
|
||||
sequence="序列",
|
||||
target="目标行数",
|
||||
bone="骨块",
|
||||
visible="能见度",
|
||||
freshLimit="锁延刷新限制",
|
||||
easyFresh="普通刷新锁延",
|
||||
fineKill="非极简即死",
|
||||
opponent="对手",
|
||||
life="命数",
|
||||
pushSpeed="上涨速度",
|
||||
bg="背景",
|
||||
bgm="音乐",
|
||||
seq="序列内容(Q)",
|
||||
draw="初始场地(E)",
|
||||
back="返回",
|
||||
},
|
||||
@@ -535,34 +519,6 @@ local langList={
|
||||
pauseCount="暂停统计",
|
||||
|
||||
custom="自定义游戏",
|
||||
customOption={
|
||||
drop="下落速度:",
|
||||
lock="锁定延迟:",
|
||||
wait="放块延迟:",
|
||||
fall="消行延迟:",
|
||||
next="序列数量:",
|
||||
hold="暂存:",
|
||||
sequence="序列:",
|
||||
visible="可见性:",
|
||||
target="目标行数:",
|
||||
freshLimit="锁延刷新次数:",
|
||||
opponent="对手速度等级:",
|
||||
bg="背景:",
|
||||
bgm="背景音乐:",
|
||||
},
|
||||
customVal={
|
||||
drop={"0G","1/180G","1/60G","1/40G","1/30G","1/25G","1/20G","1/18G","1/16G","1/14G","1/12G","1/10G","1/9G","1/8G","1/7G","1/6G","1/5G","1/4G","1/3G","1/2G","1G","2G","4G","8G","20G"},
|
||||
lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"∞"},
|
||||
wait=nil,
|
||||
fall=nil,
|
||||
next=nil,
|
||||
hold={"开","关","无限"},
|
||||
sequence={"bag","his4","随机","循环","固定"},
|
||||
visible={"可见","半隐","全隐","瞬隐"},
|
||||
target={10,20,40,100,200,500,1000,"∞"},
|
||||
freshLimit={0,8,15,"∞"},
|
||||
opponent={"无电脑","9S Lv1","9S Lv2","9S Lv3","9S Lv4","9S Lv5","CC Lv1","CC Lv2","CC Lv3","CC Lv4","CC Lv5","CC Lv6"},
|
||||
},
|
||||
sequence="自定义序列",
|
||||
snapLevelName={"无吸附","10像素吸附","20像素吸附","40像素吸附","60像素吸附","80像素吸附"},
|
||||
setting_game="游戏设置",
|
||||
@@ -722,16 +678,28 @@ local langList={
|
||||
back="返回",
|
||||
},
|
||||
custom={
|
||||
up="↑",
|
||||
down="↓",
|
||||
left="←",
|
||||
right="→",
|
||||
set1="40行(1)",
|
||||
set2="1v1(2)",
|
||||
set3="无尽(3)",
|
||||
set4="隐形(4)",
|
||||
set5="极限(5)",
|
||||
seq="高级设置(Q)",
|
||||
drop="下落延迟",lock="锁定延迟",wait="出块等待",fall="消行延迟",
|
||||
next="Next",hold="Hold",oncehold="Hold一次",
|
||||
block="方块透明度",ghost="阴影透明度",center="中心透明度",
|
||||
bagLine="包分界线",
|
||||
highCam="超屏视野",
|
||||
nextPos="生成预览",
|
||||
mindas="最小DAS",minarr="最小ARR",minsdarr="最小软降ARR",
|
||||
noTele="禁止瞬移",
|
||||
ospin="O-spin",
|
||||
sequence="序列",
|
||||
target="目标行数",
|
||||
bone="骨块",
|
||||
visible="能见度",
|
||||
freshLimit="锁延刷新限制",
|
||||
easyFresh="普通刷新锁延",
|
||||
fineKill="非极简即死",
|
||||
opponent="对手",
|
||||
life="命数",
|
||||
pushSpeed="上涨速度",
|
||||
bg="背景",
|
||||
bgm="音乐",
|
||||
seq="序列内容(Q)",
|
||||
draw="初始场地(E)",
|
||||
back="返回",
|
||||
},
|
||||
@@ -1035,34 +1003,6 @@ local langList={
|
||||
pauseCount="Pauses:",
|
||||
|
||||
custom="Custom Game",
|
||||
customOption={
|
||||
drop="Drop Speed:",
|
||||
lock="Lock Delay:",
|
||||
wait="Entry Delay:",
|
||||
fall="Line Delay:",
|
||||
next="Next Length:",
|
||||
hold="Hold:",
|
||||
sequence="Randomizer:",
|
||||
visible="Visibility:",
|
||||
target="Line Goal:",
|
||||
freshLimit="Lock Reset Limit:",
|
||||
opponent="Opponent Type:",
|
||||
bg="Background:",
|
||||
bgm="Music:",
|
||||
},
|
||||
customVal={
|
||||
drop={"0G","1/180G","1/60G","1/40G","1/30G","1/25G","1/20G","1/18G","1/16G","1/14G","1/12G","1/10G","1/9G","1/8G","1/7G","1/6G","1/5G","1/4G","1/3G","1/2G","1G","2G","4G","8G","20G"},
|
||||
lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"Inf"},
|
||||
wait=nil,
|
||||
fall=nil,
|
||||
next=nil,
|
||||
hold={"On","Off","Inf"},
|
||||
sequence={"Bag","His4","Random","Loop","Fixed"},
|
||||
visible={"Normal","Slow Fade","Quick Fade","Sudden Fade"},
|
||||
target={10,20,40,100,200,500,1000,"None"},
|
||||
freshLimit={0,8,15,"Inf"},
|
||||
opponent={"None","9S Lv1","9S Lv2","9S Lv3","9S Lv4","9S Lv5","CC Lv1","CC Lv2","CC Lv3","CC Lv4","CC Lv5","CC Lv6"},
|
||||
},
|
||||
sequence="Custom Sequence",
|
||||
snapLevelName={"Free pos","Snap-10","Snap-20","Snap-40","Snap-60","Snap-80"},
|
||||
setting_game="Game Settings",
|
||||
@@ -1212,16 +1152,28 @@ local langList={
|
||||
back="Back",
|
||||
},
|
||||
custom={
|
||||
up="↑",
|
||||
down="↓",
|
||||
left="←",
|
||||
right="→",
|
||||
set1="40L (1)",
|
||||
set2="1v1 (2)",
|
||||
set3="Inf. (3)",
|
||||
set4="Blind (4)",
|
||||
set5="Master (5)",
|
||||
seq="Advanced(Q)",
|
||||
drop="Drop Speed",lock="Lock Delay",wait="Entry Delay",fall="Line Delay",
|
||||
next="Next",hold="Hold",oncehold="Hold Once",
|
||||
block="Block",ghost="Ghost",center="Center",
|
||||
bagLine="Bag Line",
|
||||
highCam="Bird-eye view",
|
||||
nextPos="Next preview",
|
||||
mindas="min DAS",minarr="min ARR",minsdarr="min SDARR",
|
||||
noTele="no Teleport",
|
||||
ospin="O-spin",
|
||||
sequence="Sequence",
|
||||
target="Target",
|
||||
bone="Bone Block",
|
||||
visible="Visibility",
|
||||
freshLimit="LD-Reset Limit",
|
||||
easyFresh="Normal Lock Reset",
|
||||
fineKill="100% Finesse",
|
||||
opponent="Opponent",
|
||||
life="Life",
|
||||
pushSpeed="Garbage Speed",
|
||||
bg="Background",
|
||||
bgm="Music",
|
||||
seq="Sequence(Q)",
|
||||
draw="Edit Field (E)",
|
||||
back="Back",
|
||||
},
|
||||
@@ -1293,7 +1245,7 @@ local langList={
|
||||
frame="Render Frame Rate",
|
||||
text="Action Text",
|
||||
warn="Death Alert",
|
||||
highCam="Superhigh view",
|
||||
highCam="Bird-eye view",
|
||||
nextPos="Next preview",
|
||||
fullscreen="Full Screen",
|
||||
bg="Background",
|
||||
@@ -1507,7 +1459,7 @@ local langList={
|
||||
clear={"1","2","3","4","5"},
|
||||
mini="v",b2b="^ ",b3b="^^ ",
|
||||
PC="#<>#",HPC="<>",
|
||||
hold="[ ]",next="→",
|
||||
hold="[ ]",next="→",
|
||||
replaying="[Replaying]",
|
||||
|
||||
stage=function(n)return"::"..n.."::"end,
|
||||
@@ -1525,34 +1477,6 @@ local langList={
|
||||
pauseCount="=:",
|
||||
|
||||
custom="!@#$%^&*",
|
||||
customOption={
|
||||
drop="↓:",
|
||||
lock="↓_:",
|
||||
wait="→=:",
|
||||
fall="↓=:",
|
||||
next="→:",
|
||||
hold="[ ]:",
|
||||
sequence="$=:",
|
||||
visible="?=:",
|
||||
target="&=:",
|
||||
freshLimit="@:",
|
||||
opponent="^_^:",
|
||||
bg="{~}:",
|
||||
bgm="(~):",
|
||||
},
|
||||
customVal={
|
||||
drop={"0G","1/180G","1/60G","1/40G","1/30G","1/25G","1/20G","1/18G","1/16G","1/14G","1/12G","1/10G","1/9G","1/8G","1/7G","1/6G","1/5G","1/4G","1/3G","1/2G","1G","2G","4G","8G","20G"},
|
||||
lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"Inf"},
|
||||
wait=nil,
|
||||
fall=nil,
|
||||
next=nil,
|
||||
hold={"+","-","~"},
|
||||
sequence={"(xxx)","[....]","???","{abc}+","==="},
|
||||
visible={"=","-","_","."},
|
||||
target={10,20,40,100,200,500,1000,"x"},
|
||||
freshLimit={0,8,15,"~"},
|
||||
opponent={"x","9S Lv1","9S Lv2","9S Lv3","9S Lv4","9S Lv5","CC Lv1","CC Lv2","CC Lv3","CC Lv4","CC Lv5","CC Lv6"},
|
||||
},
|
||||
sequence="!@#$%^&*",
|
||||
snapLevelName={"~","10","20","40","60","80"},
|
||||
setting_game="%~~%",
|
||||
@@ -1600,7 +1524,7 @@ local langList={
|
||||
load={[0]="___","_vocie_","_BGM_","_SFX_","_images_","_modes_","_???_"},
|
||||
pauseStat={
|
||||
"~:",
|
||||
"=/''/[ ]:",
|
||||
"=/''/[ ]:",
|
||||
"□:",
|
||||
"-/↓:",
|
||||
"→/↓→:",
|
||||
@@ -1625,7 +1549,7 @@ local langList={
|
||||
"@:",
|
||||
"##:",
|
||||
"~:",
|
||||
"=/''/[ ]:",
|
||||
"=/''/[ ]:",
|
||||
"□/-/→.:",
|
||||
"←/-↓/↑:",
|
||||
"↓/↓→.:",
|
||||
@@ -1700,16 +1624,29 @@ local langList={
|
||||
back="X",
|
||||
},
|
||||
custom={
|
||||
up="↑",
|
||||
down="↓",
|
||||
left="←",
|
||||
right="→",
|
||||
set1="40L (1)",
|
||||
set2="1v1 (2)",
|
||||
set3="Inf. (3)",
|
||||
set4="Blind (4)",
|
||||
set5="Master (5)",
|
||||
seq="Advanced(Q)",
|
||||
drop="↓",lock="↓_",wait="→=",fall="↓=",
|
||||
next="→",hold="[ ]",oncehold="[ ]*1",
|
||||
block="==↓==",ghost="__↓__",center="+",
|
||||
bagLine="123|123",
|
||||
highCam="↑__↑",
|
||||
nextPos="???←",
|
||||
mindas="mDAS",minarr="mARR",minsdarr="msdARR",
|
||||
noTele="X→→X",
|
||||
ospin="O→Any",
|
||||
sequence="$=",
|
||||
target="&=",
|
||||
bone="[]",
|
||||
visible="?=",
|
||||
freshLimit="@",
|
||||
easyFresh="普通刷新锁延",
|
||||
fineKill="12 XX 21",
|
||||
opponent="^_^",
|
||||
life="命数",
|
||||
pushSpeed="上涨速度",
|
||||
bg="{~}",
|
||||
bgm="(~)",
|
||||
|
||||
seq="!!!!(Q)",
|
||||
draw="####(E)",
|
||||
back="X",
|
||||
},
|
||||
@@ -1759,7 +1696,7 @@ local langList={
|
||||
layout="=-=-=",
|
||||
autoPause="A||",
|
||||
swap="=+=+=",
|
||||
fine="!#!X #!#",
|
||||
fine="12 X 21",
|
||||
appLock="?XX(=626)",
|
||||
back="X",
|
||||
},
|
||||
@@ -2013,34 +1950,6 @@ local langList={
|
||||
pauseCount="歇多久了",
|
||||
|
||||
custom="随便玩",
|
||||
customOption={
|
||||
drop="落多快:",
|
||||
lock="锁多快:",
|
||||
wait="出多快:",
|
||||
fall="消多快:",
|
||||
next="看几个:",
|
||||
hold="暂存:",
|
||||
sequence="出啥:",
|
||||
visible="看不看得见:",
|
||||
target="要消多少:",
|
||||
freshLimit="能动几下:",
|
||||
opponent="打谁:",
|
||||
bg="背景:",
|
||||
bgm="歌:",
|
||||
},
|
||||
customVal={
|
||||
drop={"0G","1/180G","1/60G","1/40G","1/30G","1/25G","1/20G","1/18G","1/16G","1/14G","1/12G","1/10G","1/9G","1/8G","1/7G","1/6G","1/5G","1/4G","1/3G","1/2G","1G","2G","4G","8G","20G"},
|
||||
lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,"∞"},
|
||||
wait=nil,
|
||||
fall=nil,
|
||||
next=nil,
|
||||
hold={"开","关","无限"},
|
||||
sequence={"bag","his4","乱出","循环","就那几个"},
|
||||
visible={"看得到","还行","看不到","瞎了"},
|
||||
target={10,20,40,100,200,500,1000,"∞"},
|
||||
freshLimit={0,8,15,"∞"},
|
||||
opponent={"打空气","9S Lv1","9S Lv2","9S Lv3","9S Lv4","9S Lv5","CC Lv1","CC Lv2","CC Lv3","CC Lv4","CC Lv5","CC Lv6"},
|
||||
},
|
||||
sequence="自定义序列",
|
||||
softdropdas="软降DAS:",
|
||||
softdroparr="软降ARR:",
|
||||
@@ -2202,16 +2111,28 @@ local langList={
|
||||
back="返回",
|
||||
},
|
||||
custom={
|
||||
up="↑",
|
||||
down="↓",
|
||||
left="←",
|
||||
right="→",
|
||||
set1="40行(1)",
|
||||
set2="1v1(2)",
|
||||
set3="无尽(3)",
|
||||
set4="隐形(4)",
|
||||
set5="极限(5)",
|
||||
seq="高级设置(Q)",
|
||||
drop="下落延迟",lock="锁定延迟",wait="出块等待",fall="消行延迟",
|
||||
next="Next",hold="Hold",oncehold="Hold一次",
|
||||
block="方块透明度",ghost="阴影透明度",center="中心透明度",
|
||||
bagLine="包分界线",
|
||||
highCam="超屏视野",
|
||||
nextPos="生成预览",
|
||||
mindas="最小DAS",minarr="最小ARR",minsdarr="最小软降ARR",
|
||||
noTele="禁止瞬移",
|
||||
ospin="O-spin",
|
||||
sequence="序列",
|
||||
target="目标行数",
|
||||
bone="骨块",
|
||||
visible="能见度",
|
||||
freshLimit="锁延刷新限制",
|
||||
easyFresh="普通刷新锁延",
|
||||
fineKill="非极简即死",
|
||||
opponent="对手",
|
||||
life="命数",
|
||||
pushSpeed="上涨速度",
|
||||
bg="背景",
|
||||
bgm="音乐",
|
||||
seq="序列内容(Q)",
|
||||
draw="初始场地(E)",
|
||||
back="返回",
|
||||
},
|
||||
|
||||
@@ -74,11 +74,28 @@ local virtualkeySet={
|
||||
{20,1210, 50,30},--zangiRight
|
||||
},--PC key feedback(top&in a row)
|
||||
}
|
||||
|
||||
local CUSlist={
|
||||
drop={1e99,180,60,40,30,25,20,18,16,14,12,10,9,8,7,6,5,4,3,2,1,.5,.25,.125,0},
|
||||
lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99},
|
||||
wait={0,1,2,3,4,5,6,7,8,10,15,20,30,60},
|
||||
fall={0,1,2,3,4,5,6,7,8,10,15,20,30,60},
|
||||
sequence={"bag","his4","rnd","loop","fixed"},
|
||||
target={10,20,40,100,200,500,1000,1e99},
|
||||
visible={"show","time","fast","none"},
|
||||
freshLimit={0,8,15,1e99},
|
||||
opponent={0,1,2,3,4,5,6,7,8,9,10},
|
||||
life={0,1,2,3,4,5,10,42,87,500},
|
||||
pushSpeed={1,2,3,5,15},
|
||||
bg={"none","bg1","bg2","rainbow","aura","rgb","glow","matrix"},
|
||||
bgm={"blank","race","push","way","reason","newera","oxygen","infinite","down","secret7th","secret8th","rockblock","cruelty","final"},
|
||||
}
|
||||
--Lambda Funcs for widgets,delete at file end
|
||||
function CUSval(k) return function()return customEnv[k] end end
|
||||
function CUSrev(k) return function()customEnv[k]=not customEnv[k] end end
|
||||
function CUSsto(k) return function(i)customEnv[k]=i end end
|
||||
function SETval(k) return function()return setting[k] end end
|
||||
function SETsto(k) return function(i)setting[k]=i end end
|
||||
function SETrev(k) return function()setting[k]=not setting[k] end end
|
||||
function SETsto(k) return function(i)setting[k]=i end end
|
||||
function pressKey(k)return function()love.keypressed(k) end end
|
||||
function setPen(i) return function()sceneTemp.pen=i end end
|
||||
function prevSkin(n)return function()SKIN.prev(n) end end
|
||||
@@ -96,6 +113,7 @@ newButton=WIDGET.newButton
|
||||
newKey=WIDGET.newKey
|
||||
newSwitch=WIDGET.newSwitch
|
||||
newSlider=WIDGET.newSlider
|
||||
newSelector=WIDGET.newSelector
|
||||
|
||||
--All widgets
|
||||
local Widgets={
|
||||
@@ -148,18 +166,46 @@ local Widgets={
|
||||
newButton({name="back", x=1140, y=640, w=180,h=80, color="white", font=35,code=BACK}),
|
||||
},
|
||||
custom={
|
||||
newKey({name="up", x=1140, y=100, w=100, color="white", font=45,code=function()sceneTemp=(sceneTemp-2)%#customID+1 end}),
|
||||
newKey({name="down", x=1140, y=340, w=100, color="white", font=45,code=function()sceneTemp=sceneTemp%#customID+1 end}),
|
||||
newKey({name="left", x=1080, y=220, w=100, color="white", font=45,code=pressKey("left")}),
|
||||
newKey({name="right", x=1200, y=220, w=100, color="white", font=45,code=pressKey("right")}),
|
||||
--Basic
|
||||
newSelector({name="drop", x=180, y=150+20,w=260, list=CUSlist.drop, disp=CUSval("drop"), code=CUSsto("drop")}),
|
||||
newSelector({name="lock", x=180, y=230+20,w=260, list=CUSlist.lock, disp=CUSval("lock"), code=CUSsto("lock")}),
|
||||
newSelector({name="wait", x=180, y=310+20,w=260, list=CUSlist.wait, disp=CUSval("wait"), code=CUSsto("wait")}),
|
||||
newSelector({name="fall", x=180, y=390+20,w=260, list=CUSlist.fall, disp=CUSval("fall"), code=CUSsto("fall")}),
|
||||
|
||||
newButton({name="set1", x=900, y=320, w=210,h=70, color="lYellow",font=32,code=pressKey("1")}),
|
||||
newButton({name="set2", x=900, y=400, w=210,h=70, color="lYellow",font=32,code=pressKey("2")}),
|
||||
newButton({name="set3", x=900, y=480, w=210,h=70, color="lYellow",font=32,code=pressKey("3")}),
|
||||
newButton({name="set4", x=900, y=560, w=210,h=70, color="lYellow",font=32,code=pressKey("4")}),
|
||||
newButton({name="set5", x=900, y=640, w=210,h=70, color="lYellow",font=32,code=pressKey("5")}),
|
||||
newSlider({name="next", x=120, y=500,w=200,unit=6, font=30, disp=CUSval("next"), code=CUSsto("next")}),
|
||||
newSwitch({name="hold", x=230, y=570, font=30, disp=CUSval("hold"), code=CUSrev("hold")}),
|
||||
newSwitch({name="oncehold", x=230, y=650, font=30, disp=CUSval("oncehold"),code=CUSrev("oncehold"),hide=function()return not customEnv.hold end}),
|
||||
|
||||
newButton({name="seq", x=665, y=415, w=200,h=40, color="lGreen", font=30,code=pressKey("q")}),
|
||||
--Visual
|
||||
newSlider({name="block", x=470, y=150,w=120,unit=1, font=25, disp=CUSval("block"), code=CUSsto("block")}),
|
||||
newSlider({name="ghost", x=470, y=210,w=120,unit=.6, font=25, disp=CUSval("ghost"), code=CUSsto("ghost")}),
|
||||
newSlider({name="center", x=470, y=270,w=120,unit=1, font=25, disp=CUSval("center"), code=CUSsto("center")}),
|
||||
newSwitch({name="bagLine", x=570, y=340, font=30, disp=CUSval("bagLine"), code=CUSrev("bagLine")}),
|
||||
newSwitch({name="highCam", x=570, y=400, font=30, disp=CUSval("highCam"), code=CUSrev("highCam")}),
|
||||
newSwitch({name="nextPos", x=570, y=460, font=30, disp=CUSval("nextPos"), code=CUSrev("nextPos")}),
|
||||
newSwitch({name="bone", x=570, y=520, font=30, disp=CUSval("bone"), code=CUSrev("bone")}),
|
||||
|
||||
--Rule
|
||||
newSlider({name="mindas", x=750, y=150,w=200,unit=15,font=25, disp=CUSval("mindas"), code=CUSsto("mindas")}),
|
||||
newSlider({name="minarr", x=750, y=210,w=200,unit=10,font=25, disp=CUSval("minarr"), code=CUSsto("minarr")}),
|
||||
newSlider({name="minsdarr", x=750, y=270,w=200,unit=4, font=22, disp=CUSval("minsdarr"),code=CUSsto("minsdarr")}),
|
||||
newSelector({name="sequence", x=520, y=600,w=200, list=CUSlist.sequence, disp=CUSval("sequence"),code=CUSsto("sequence")}),
|
||||
newSwitch({name="ospin", x=860, y=340, font=30, disp=CUSval("ospin"), code=CUSrev("ospin")}),
|
||||
newSwitch({name="noTele", x=860, y=400, font=25, disp=CUSval("noTele"), code=CUSrev("noTele")}),
|
||||
newSwitch({name="fineKill", x=860, y=460, font=22, disp=CUSval("fineKill"),code=CUSrev("fineKill")}),
|
||||
newSwitch({name="easyFresh", x=860, y=520, font=18, disp=CUSval("easyFresh"),code=CUSrev("easyFresh")}),
|
||||
newSelector({name="visible", x=1120, y=60,w=260, list=CUSlist.visible, disp=CUSval("visible"), code=CUSsto("visible")}),
|
||||
newSelector({name="target", x=1120, y=140,w=260, list=CUSlist.target, disp=CUSval("target"), code=CUSsto("target")}),
|
||||
newSelector({name="freshLimit", x=1120, y=220,w=260, list=CUSlist.freshLimit,disp=CUSval("freshLimit"),code=CUSsto("freshLimit")}),
|
||||
newSelector({name="opponent", x=1120, y=300,w=260, list=CUSlist.opponent, disp=CUSval("opponent"),code=CUSsto("opponent")}),
|
||||
newSelector({name="life", x=1120, y=380,w=260, list=CUSlist.life, disp=CUSval("life"), code=CUSsto("life")}),
|
||||
newSelector({name="pushSpeed", x=1120, y=460,w=260, list=CUSlist.pushSpeed, disp=CUSval("pushSpeed"),code=CUSsto("pushSpeed")}),
|
||||
|
||||
--Else
|
||||
newSelector({name="bg", x=800, y=600, w=220, list=CUSlist.bg, disp=CUSval("bg"), code=CUSsto("bg")}),
|
||||
newSelector({name="bgm", x=800, y=670, w=220, list=CUSlist.bgm, disp=CUSval("bgm"), code=CUSsto("bgm")}),
|
||||
|
||||
newButton({name="seq", x=520, y=670, w=200,h=60, 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=1140, y=640, w=180,h=80, color="white", font=35,code=BACK}),
|
||||
},
|
||||
|
||||
41
main.lua
41
main.lua
@@ -43,7 +43,46 @@ scr={
|
||||
k=1,--Scale size
|
||||
}--1280:720-Rect Screen Info
|
||||
|
||||
customSel={1,22,1,1,7,3,1,1,8,4,1,1,1}
|
||||
customEnv={
|
||||
--Basic
|
||||
drop=60,
|
||||
lock=60,
|
||||
wait=0,
|
||||
fall=0,
|
||||
|
||||
next=6,
|
||||
hold=true,
|
||||
oncehold=true,
|
||||
|
||||
--Visual
|
||||
block=1,
|
||||
ghost=.3,
|
||||
center=1,
|
||||
bagLine=false,
|
||||
highCam=false,
|
||||
nextPos=false,
|
||||
bone=false,
|
||||
|
||||
--Rule
|
||||
mindas=0,
|
||||
minarr=0,
|
||||
minsdarr=0,
|
||||
sequence="bag",
|
||||
ospin=true,
|
||||
noTele=false,
|
||||
fineKill=false,
|
||||
easyFresh=true,
|
||||
visible="show",
|
||||
target=200,
|
||||
freshLimit=1e99,
|
||||
opponent=0,
|
||||
life=0,
|
||||
pushSpeed=3,
|
||||
|
||||
--Else
|
||||
bg="none",
|
||||
bgm="race"
|
||||
}
|
||||
preField={h=20}for i=1,20 do preField[i]={0,0,0,0,0,0,0,0,0,0}end
|
||||
preBag={}
|
||||
|
||||
|
||||
@@ -6,12 +6,9 @@ return{
|
||||
dropPiece=PLY.check_lineReach,
|
||||
},
|
||||
load=function()
|
||||
for i=1,#customID do
|
||||
local k=customID[i]
|
||||
modeEnv[k]=customRange[k][customSel[i]]
|
||||
for k,v in next,customEnv do
|
||||
modeEnv[k]=v
|
||||
end
|
||||
modeEnv._20G=modeEnv.drop==0
|
||||
modeEnv.oncehold=customSel[6]==1
|
||||
if preBag[1]then
|
||||
modeEnv.bag=preBag
|
||||
else
|
||||
@@ -21,10 +18,10 @@ return{
|
||||
local L=modeEnv.opponent
|
||||
if L~=0 then
|
||||
modeEnv.target=nil
|
||||
if L<10 then
|
||||
if L<6 then
|
||||
PLY.newAIPlayer(2,965,360,.5,AITemplate("9S",2*L))
|
||||
else
|
||||
PLY.newAIPlayer(2,965,360,.5,AITemplate("CC",L-6,2+int((L-11)*.5),modeEnv.hold,15000+5000*(L-10)))
|
||||
PLY.newAIPlayer(2,965,360,.5,AITemplate("CC",L,int(L*.5-1.5),modeEnv.hold,4000*L))
|
||||
end
|
||||
end
|
||||
preField.h=20
|
||||
@@ -46,8 +43,8 @@ return{
|
||||
end
|
||||
P.garbageBeneath=preField.h
|
||||
end
|
||||
modeEnv.bg=customRange.bg[customSel[12]]
|
||||
modeEnv.bgm=customRange.bgm[customSel[13]]
|
||||
modeEnv.bg=customEnv.bg
|
||||
modeEnv.bgm=customEnv.bgm
|
||||
end,
|
||||
mesDisp=function(P,dx,dy)
|
||||
setFont(55)
|
||||
|
||||
@@ -24,26 +24,22 @@ return{
|
||||
dropPiece=puzzleCheck,
|
||||
},
|
||||
load=function()
|
||||
for i=1,#customID do
|
||||
local k=customID[i]
|
||||
modeEnv[k]=customRange[k][customSel[i]]
|
||||
for k,v in next,customEnv do
|
||||
modeEnv[k]=v
|
||||
end
|
||||
modeEnv._20G=modeEnv.drop==0
|
||||
modeEnv.oncehold=customSel[6]==1
|
||||
if preBag[1]then
|
||||
modeEnv.bag=preBag
|
||||
else
|
||||
modeEnv.bag=nil
|
||||
end
|
||||
modeEnv.target=0
|
||||
PLY.newPlayer(1,340,15)
|
||||
local L=modeEnv.opponent
|
||||
if L~=0 then
|
||||
modeEnv.target=nil
|
||||
if L<10 then
|
||||
if L<6 then
|
||||
PLY.newAIPlayer(2,965,360,.5,AITemplate("9S",2*L))
|
||||
else
|
||||
PLY.newAIPlayer(2,965,360,.5,AITemplate("CC",L-6,2+int((L-11)*.5),modeEnv.hold,15000+5000*(L-10)))
|
||||
PLY.newAIPlayer(2,965,360,.5,AITemplate("CC",L,int(L*.5-1.5),modeEnv.hold,4000*L))
|
||||
end
|
||||
end
|
||||
preField.h=20
|
||||
@@ -56,8 +52,8 @@ return{
|
||||
preField.h=preField.h-1
|
||||
until preField.h==0
|
||||
::L::
|
||||
modeEnv.bg=customRange.bg[customSel[12]]
|
||||
modeEnv.bgm=customRange.bgm[customSel[13]]
|
||||
modeEnv.bg=customEnv.bg
|
||||
modeEnv.bgm=customEnv.bgm
|
||||
end,
|
||||
mesDisp=function(P)
|
||||
local dx,dy=P.fieldOff.x,P.fieldOff.y
|
||||
|
||||
@@ -163,31 +163,6 @@ for i=1,8 do
|
||||
end
|
||||
end
|
||||
|
||||
customID={
|
||||
"drop","lock",
|
||||
"wait","fall",
|
||||
"next","hold",
|
||||
"sequence","visible",
|
||||
"target",
|
||||
"freshLimit",
|
||||
"opponent",
|
||||
"bg","bgm",
|
||||
}
|
||||
customRange={
|
||||
drop={1e99,180,60,40,30,25,20,18,16,14,12,10,9,8,7,6,5,4,3,2,1,.5,.25,.125,0},
|
||||
lock={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99},
|
||||
wait={0,1,2,3,4,5,6,7,8,10,15,20,30,60},
|
||||
fall={0,1,2,3,4,5,6,7,8,10,15,20,30,60},
|
||||
next={0,1,2,3,4,5,6},
|
||||
hold={true,false,true},
|
||||
sequence={"bag","his4","rnd","loop","fixed"},
|
||||
visible={"show","time","fast","none"},
|
||||
target={10,20,40,100,200,500,1000,1e99},
|
||||
freshLimit={0,8,15,1e99},
|
||||
opponent={0,1,2,3,4,5,11,12,13,14,15,16},
|
||||
bg={"none","bg1","bg2","rainbow","aura","rgb","glow","matrix"},
|
||||
bgm={"blank","way","race","newera","push","reason","infinite","secret7th","secret8th","rockblock"},
|
||||
}
|
||||
local function T(s,t)return love.graphics.newText(setFont(s),t)end
|
||||
drawableText={
|
||||
question=T(100,"?"),
|
||||
|
||||
@@ -2983,12 +2983,22 @@ function PLY.newDemoPlayer(id,x,y,size)
|
||||
P.field,P.visTime={},{}
|
||||
P.atkBuffer={sum=0}
|
||||
P.gameEnv={
|
||||
noTele=false,
|
||||
drop=1e99,lock=1e99,
|
||||
wait=10,fall=20,
|
||||
next=6,hold=true,
|
||||
oncehold=true,
|
||||
|
||||
das=10,arr=2,
|
||||
sddas=2,sdarr=2,
|
||||
swap=true,
|
||||
ghost=setting.ghost,center=setting.center,
|
||||
smooth=setting.smooth,grid=setting.grid,
|
||||
|
||||
--Visual
|
||||
block=true,
|
||||
ghost=setting.ghost,
|
||||
center=setting.center,
|
||||
bone=false,
|
||||
smooth=setting.smooth,
|
||||
grid=setting.grid,
|
||||
text=setting.text,
|
||||
lockFX=setting.lockFX,
|
||||
dropFX=setting.dropFX,
|
||||
@@ -2996,23 +3006,20 @@ function PLY.newDemoPlayer(id,x,y,size)
|
||||
clearFX=setting.clearFX,
|
||||
shakeFX=setting.shakeFX,
|
||||
|
||||
_20G=false,bone=false,
|
||||
drop=1e99,lock=1e99,
|
||||
wait=10,fall=20,
|
||||
next=6,hold=true,
|
||||
oncehold=true,
|
||||
ospin=true,
|
||||
mindas=0,minarr=0,minsdarr=0,
|
||||
sequence="bag",
|
||||
ospin=true,
|
||||
noTele=false,
|
||||
|
||||
easyFresh=true,
|
||||
visible="show",
|
||||
freshLimit=1e99,
|
||||
life=1e99,
|
||||
pushSpeed=3,
|
||||
|
||||
bag={1,2,3,4,5,6,7},
|
||||
face={0,0,0,0,0,0,0},
|
||||
skin=setting.skin,
|
||||
|
||||
life=1e99,
|
||||
pushSpeed=3,
|
||||
block=true,
|
||||
visible="show",
|
||||
freshLimit=1e99,easyFresh=true,
|
||||
mindas=0,minarr=0,minsdarr=0,
|
||||
}
|
||||
applyGameEnv(P)
|
||||
|
||||
|
||||
@@ -979,8 +979,8 @@ do--mode
|
||||
if key=="return"then
|
||||
if mapCam.sel then
|
||||
if mapCam.sel=="custom_clear"or mapCam.sel=="custom_puzzle"then
|
||||
if customSel[11]>1 then
|
||||
if customSel[7]==5 then
|
||||
if customEnv.opponent>1 then
|
||||
if customEnv.seq=="fixed"then
|
||||
LOG.print(text.ai_fixed,"warn",color.red)
|
||||
return
|
||||
elseif #preBag>0 then
|
||||
@@ -1289,52 +1289,19 @@ do--music
|
||||
end
|
||||
do--custom
|
||||
function sceneInit.custom()
|
||||
BG.set("space")
|
||||
sceneTemp=1--Option selected
|
||||
destroyPlayers()
|
||||
BG.set(customRange.bg[customSel[12]])
|
||||
BGM.play(customRange.bgm[customSel[13]])
|
||||
BG.set(customEnv.bg)
|
||||
BGM.play(customEnv.bgm)
|
||||
end
|
||||
|
||||
local customSet={
|
||||
{3,20,1,1,7,1,1,1,3,4,1,2,3},
|
||||
{5,20,1,1,7,1,1,1,8,3,8,3,3},
|
||||
{1,22,1,1,7,3,1,1,8,4,1,6,7},
|
||||
{3,20,1,1,7,1,1,3,8,3,1,6,8},
|
||||
{25,11,8,11,4,1,2,1,8,3,1,4,9},
|
||||
}
|
||||
function keyDown.custom(key)
|
||||
local sel=sceneTemp
|
||||
if key=="up"or key=="w"then
|
||||
sceneTemp=(sel-2)%#customID+1
|
||||
elseif key=="down"or key=="s"then
|
||||
sceneTemp=sel%#customID+1
|
||||
elseif key=="left"or key=="a"then
|
||||
customSel[sel]=(customSel[sel]-2)%#customRange[customID[sel]]+1
|
||||
if sel==12 then
|
||||
BG.set(customRange.bg[customSel[12]])
|
||||
elseif sel==13 then
|
||||
BGM.play(customRange.bgm[customSel[13]])
|
||||
end
|
||||
elseif key=="right"or key=="d"then
|
||||
customSel[sel]=customSel[sel]%#customRange[customID[sel]]+1
|
||||
if sel==12 then
|
||||
BG.set(customRange.bg[customSel[sel]])
|
||||
elseif sel==13 then
|
||||
BGM.play(customRange.bgm[customSel[sel]])
|
||||
end
|
||||
elseif key=="q"then
|
||||
if key=="q"then
|
||||
SCN.go("sequence")
|
||||
elseif key=="e"then
|
||||
SCN.swapTo("draw","swipeL")
|
||||
elseif #key==1 then
|
||||
local T=tonumber(key)
|
||||
if T and T>=1 and T<=5 then
|
||||
for i=1,#customSet[T]do
|
||||
customSel[i]=customSet[T][i]
|
||||
end
|
||||
BG.set(customRange.bg[customSel[12]])
|
||||
BGM.play(customRange.bgm[customSel[13]])
|
||||
end
|
||||
elseif key=="escape"then
|
||||
SCN.back()
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user