整理代码,修改颜色名和几乎所有的使用方法(可能有错误,需要后续再整理)

This commit is contained in:
MrZ626
2021-04-21 23:51:34 +08:00
parent 9b3b0e2086
commit 09d0612aeb
62 changed files with 701 additions and 690 deletions

View File

@@ -50,7 +50,7 @@ function BGM.init(list)
Sources[list[i]]:setLooping(true)
Sources[list[i]]:setVolume(0)
else
LOG.print("No BGM file: "..list[i],5,COLOR.orange)
LOG.print("No BGM file: "..list[i],5,COLOR.O)
end
if not skip and i~=count then
coroutine.yield()

View File

@@ -4,51 +4,51 @@ local COLOR={
orange= {1.0, 0.6, 0.0},
yellow= {1.0, 1.0, 0.0},
lime= {0.7, 1.0, 0.0},
grass= {0.5, 1.0, 0.0},
jade= {0.5, 1.0, 0.0},
green= {0.0, 1.0, 0.0},
aqua= {0.0, 1.0, 0.6},
cyan= {0.0, 1.0, 1.0},
sky= {0.0, 0.7, 1.0},
navy= {0.0, 0.7, 1.0},
sea= {0.0, 0.4, 1.0},
blue= {0.2, 0.2, 1.0},
purple= {0.4, 0.0, 1.0},
grape= {0.7, 0.0, 1.0},
violet= {0.4, 0.0, 1.0},
purple= {0.7, 0.0, 1.0},
magenta= {1.0, 0.0, 1.0},
pink= {1.0, 0.0, 0.5},
wine= {1.0, 0.0, 0.5},
lRed= {1.0, 0.5, 0.5},
lFire= {1.0, 0.7, 0.5},
lOrange= {1.0, 0.8, 0.3},
lYellow= {1.0, 1.0, 0.5},
lLime= {0.8, 1.0, 0.4},
lGrass= {0.6, 1.0, 0.4},
lJade= {0.6, 1.0, 0.4},
lGreen= {0.5, 1.0, 0.5},
lAqua= {0.4, 1.0, 0.7},
lCyan= {0.5, 1.0, 1.0},
lSky= {0.5, 0.8, 1.0},
lNavy= {0.5, 0.8, 1.0},
lSea= {0.4, 0.7, 1.0},
lBlue= {0.7, 0.7, 1.0},
lPurple= {0.7, 0.4, 1.0},
lGrape= {0.8, 0.4, 1.0},
lViolet= {0.7, 0.4, 1.0},
lPurple= {0.8, 0.4, 1.0},
lMagenta= {1.0, 0.5, 1.0},
lPink= {1.0, 0.4, 0.7},
lWine= {1.0, 0.4, 0.7},
dRed= {0.6, 0.0, 0.0},
dFire= {0.6, 0.3, 0.0},
dOrange= {0.6, 0.4, 0.0},
dYellow= {0.6, 0.6, 0.0},
dLime= {0.5, 0.6, 0.0},
dGrass= {0.3, 0.6, 0.0},
dJade= {0.3, 0.6, 0.0},
dGreen= {0.0, 0.6, 0.0},
dAqua= {0.0, 0.6, 0.4},
dCyan= {0.0, 0.6, 0.6},
dSky= {0.0, 0.4, 0.6},
dNavy= {0.0, 0.4, 0.6},
dSea= {0.0, 0.2, 0.6},
dBlue= {0.1, 0.1, 0.6},
dPurple= {0.2, 0.0, 0.6},
dGrape= {0.4, 0.0, 0.6},
dViolet= {0.2, 0.0, 0.6},
dPurple= {0.4, 0.0, 0.6},
dMagenta= {0.6, 0.0, 0.6},
dPink= {0.6, 0.0, 0.3},
dWine= {0.6, 0.0, 0.3},
black= {0.0, 0.0, 0.0},
dGray= {0.3, 0.3, 0.3},
@@ -56,56 +56,64 @@ local COLOR={
lGray= {0.8, 0.8, 0.8},
white= {1.0, 1.0, 1.0},
}
local map={
R="red", G="green", B="blue", C="cyan", Y="yellow", M="magenta",
lR="lRed", lG="lGreen",lB="lBlue", lC="lCyan", lY="lYellow", lM="lMagenta",
dR="dRed", dG="dGreen",dB="dBlue", dC="dCyan", dY="dYellow", dM="dMagenta",
W="white",
}for k,v in next,map do COLOR[k]=COLOR[v]end
local list_norm={"red","fire","orange","yellow","i","grass","green","aqua","cyan","sky","sea","blue","purple","grape","magenta","pink"}
local len_list_norm=#list_norm
local rnd=math.random
function COLOR.random_norm()
return COLOR[list_norm[rnd(len_list_norm)]]
for k,v in next,{
R="red",F="fire",O="orange",Y="yellow",L="lime",J="jade",G="green",A="aqua",C="cyan",N="navy",S="sea",B="blue",V="violet",P="purple",M="magenta",W="wine",
lR="lRed",lF="lFire",lO="lOrange",lY="lYellow",lL="lLime",lJ="lJade",lG="lGreen",lA="lAqua",lC="lCyan",lN="lNavy",lS="lSea",lB="lBlue",lV="lViolet",lP="lPurple",lM="lMagenta",lW="lWine",
dR="dRed",dF="dFire",dO="dOrange",dY="dYellow",dL="dLime",dJ="dJade",dG="dGreen",dA="dAqua",dC="dCyan",dN="dNavy",dS="dSea",dB="dBlue",dV="dViolet",dP="dPurple",dM="dMagenta",dW="dWine",
D="black",dH="dGray",H="gray",lH="lGray",Z="white",
--Remain letter: EIKQTUX
}do
COLOR[k]=COLOR[v]
end
local list_bright={"lRed","lFire","lOrange","lYellow","lLime","lGrass","lGreen","lAqua","lCyan","lSky","lSea","lBlue","lPurple","lGrape","lMagenta","lPink"}
local len_list_bright=#list_bright
function COLOR.random_bright()
return COLOR[list_bright[rnd(len_list_bright)]]
do--Random generators
local rnd=math.random
local list_norm={"red","fire","orange","yellow","lime","jade","green","aqua","cyan","navy","sea","blue","violet","purple","magenta","wine"}
local len_list_norm=#list_norm
function COLOR.random_norm()
return COLOR[list_norm[rnd(len_list_norm)]]
end
local list_bright={"lRed","lFire","lOrange","lYellow","lLime","lJade","lGreen","lAqua","lCyan","lNavy","lSea","lBlue","lViolet","lPurple","lMagenta","lWine"}
local len_list_bright=#list_bright
function COLOR.random_bright()
return COLOR[list_bright[rnd(len_list_bright)]]
end
local list_dark={"dRed","dFire","dOrange","dYellow","dLime","dJade","dGreen","dAqua","dCyan","dNavy","dSea","dBlue","dViolet","dPurple","dMagenta","dWine"}
local len_list_dark=#list_dark
function COLOR.random_dark()
return COLOR[list_dark[rnd(len_list_dark)]]
end
end
local list_dark={"dRed","dFire","dOrange","dYellow","dLime","dGrass","dGreen","dAqua","dCyan","dSky","dSea","dBlue","dPurple","dGrape","dMagenta","dPink"}
local len_list_dark=#list_dark
function COLOR.random_dark()
return COLOR[list_dark[rnd(len_list_dark)]]
end
local sin=math.sin
function COLOR.rainbow(phase)
return
sin(phase)*.4+.6,
sin(phase+2.0944)*.4+.6,
sin(phase-2.0944)*.4+.6
end
function COLOR.rainbow_light(phase)
return
sin(phase)*.2+.7,
sin(phase+2.0944)*.2+.7,
sin(phase-2.0944)*.2+.7
end
function COLOR.rainbow_dark(phase)
return
sin(phase)*.2+.4,
sin(phase+2.0944)*.2+.4,
sin(phase-2.0944)*.2+.4
end
function COLOR.rainbow_gray(phase)
return
sin(phase)*.16+.5,
sin(phase+2.0944)*.16+.5,
sin(phase-2.0944)*.16+.5
do--Rainbow generators
local sin=math.sin
function COLOR.rainbow(phase)
return
sin(phase)*.4+.6,
sin(phase+2.0944)*.4+.6,
sin(phase-2.0944)*.4+.6
end
function COLOR.rainbow_light(phase)
return
sin(phase)*.2+.7,
sin(phase+2.0944)*.2+.7,
sin(phase-2.0944)*.2+.7
end
function COLOR.rainbow_dark(phase)
return
sin(phase)*.2+.4,
sin(phase+2.0944)*.2+.4,
sin(phase-2.0944)*.2+.4
end
function COLOR.rainbow_gray(phase)
return
sin(phase)*.16+.5,
sin(phase+2.0944)*.16+.5,
sin(phase-2.0944)*.16+.5
end
end
return COLOR

View File

@@ -21,7 +21,7 @@ function FILE.load(name)
return s
end
end
LOG.print(name.." "..text.loadError,COLOR.red)
LOG.print(name.." "..text.loadError,COLOR.R)
end
end
function FILE.save(data,name,mode)
@@ -50,7 +50,7 @@ function FILE.save(data,name,mode)
F:flush()F:close()
if success then
if not mode:find("q")then
LOG.print(text.saveDone,COLOR.green)
LOG.print(text.saveDone,COLOR.G)
end
else
LOG.print(text.saveError..(mes or"unknown error"),"error")

View File

@@ -215,11 +215,11 @@ local function noDevkeyPressed(key)
elseif key=="f5"then if WIDGET.sel then DBP(WIDGET.sel)end
elseif key=="f6"then for k,v in next,_G do DBP(k,v)end
elseif key=="f7"then if love._openConsole then love._openConsole()end
elseif key=="f8"then devMode=nil LOG.print("DEBUG OFF",COLOR.yellow)
elseif key=="f9"then devMode=1 LOG.print("DEBUG 1",COLOR.yellow)
elseif key=="f10"then devMode=2 LOG.print("DEBUG 2",COLOR.yellow)
elseif key=="f11"then devMode=3 LOG.print("DEBUG 3",COLOR.yellow)
elseif key=="f12"then devMode=4 LOG.print("DEBUG 4",COLOR.yellow)
elseif key=="f8"then devMode=nil LOG.print("DEBUG OFF",COLOR.Y)
elseif key=="f9"then devMode=1 LOG.print("DEBUG 1",COLOR.Y)
elseif key=="f10"then devMode=2 LOG.print("DEBUG 2",COLOR.Y)
elseif key=="f11"then devMode=3 LOG.print("DEBUG 3",COLOR.Y)
elseif key=="f12"then devMode=4 LOG.print("DEBUG 4",COLOR.Y)
elseif key=="\\"then _G["\100\114\97\119\70\87\77"]=NULL
elseif devMode==2 then
if WIDGET.sel then
@@ -249,7 +249,7 @@ function love.keypressed(key)
return
elseif key=="f8"then
devMode=1
LOG.print("DEBUG ON",COLOR.yellow)
LOG.print("DEBUG ON",COLOR.Y)
elseif key=="f11"then
switchFullscreen()
elseif not SCN.swapping then
@@ -281,7 +281,7 @@ function love.joystickremoved(JS)
for i=1,#joysticks do
if joysticks[i]==JS then
rem(joysticks,i)
LOG.print("Joystick removed",COLOR.yellow)
LOG.print("Joystick removed",COLOR.Y)
return
end
end
@@ -454,10 +454,10 @@ local WScolor={
{.5,.8,1,.7},
}
local devColor={
COLOR.white,
COLOR.lMagenta,
COLOR.lGreen,
COLOR.lBlue,
COLOR.Z,
COLOR.lM,
COLOR.lG,
COLOR.lB,
}
love.draw,love.update=nil--remove default draw/update
function love.run()

View File

@@ -4,7 +4,7 @@ return function(name,libName)
if r1 and r2 then
return r2
else
LOG.print("Cannot load "..name..": "..(r2 or r3),"warn",COLOR.red)
LOG.print("Cannot load "..name..": "..(r2 or r3),"warn",COLOR.R)
end
elseif SYSTEM=="Android"then
local fs=love.filesystem
@@ -17,25 +17,25 @@ return function(name,libName)
if success then
libFunc,message=package.loadlib(table.concat({SAVEDIR,libName.Android},"/"),libName.libFunc)
if libFunc then
LOG.print(name.." lib loaded","warn",COLOR.green)
LOG.print(name.." lib loaded","warn",COLOR.G)
break
else
LOG.print("Cannot load "..name..": "..message,"warn",COLOR.red)
LOG.print("Cannot load "..name..": "..message,"warn",COLOR.R)
end
else
LOG.print("Write "..name.."-"..platform[i].." to saving failed: "..message,"warn",COLOR.red)
LOG.print("Write "..name.."-"..platform[i].." to saving failed: "..message,"warn",COLOR.R)
end
else
LOG.print("Read "..name.."-"..platform[i].." failed","warn",COLOR.red)
LOG.print("Read "..name.."-"..platform[i].." failed","warn",COLOR.R)
end
end
if not libFunc then
LOG.print("Cannot load "..name,"warn",COLOR.red)
LOG.print("Cannot load "..name,"warn",COLOR.R)
return
end
return libFunc()
else
LOG.print("No "..name.." for "..SYSTEM,"warn",COLOR.red)
LOG.print("No "..name.." for "..SYSTEM,"warn",COLOR.R)
return
end
return true

View File

@@ -39,23 +39,23 @@ function LOG.print(text,T,C)--text,type/time,color
local time
local his
if T=="warn"then
C=C or COLOR.yellow
C=C or COLOR.Y
his=true
time=180
elseif T=="error"then
C=C or COLOR.red
C=C or COLOR.R
his=true
time=210
elseif T=="message"then
C=C or COLOR.sky
C=C or COLOR.N
his=true
elseif type(T)=="number"then
C=C or COLOR.white
C=C or COLOR.Z
time=T
elseif type(T)=="table"then
C=T
elseif not C then
C=COLOR.white
C=COLOR.Z
end
if his then
ins(debugMesHistory,SCN.cur..": "..tostring(text))
@@ -65,6 +65,6 @@ end
function LOG.copy()
local str=table.concat(debugMesHistory,"\n")
love.system.setClipboardText(str)
LOG.print("Log copied",COLOR.blue)
LOG.print("Log copied",COLOR.B)
end
return LOG

View File

@@ -17,7 +17,7 @@ function SFX.init(list)
if love.filesystem.getInfo(N)then
Sources[list[i]]={love.audio.newSource(N,"static")}
else
LOG.print("No SFX file: "..N,5,COLOR.orange)
LOG.print("No SFX file: "..N,5,COLOR.O)
end
if not skip and i~=count then
coroutine.yield()

View File

@@ -2,8 +2,8 @@ local THEME={
cur=false,--Current theme
}
local themeColor={
xmas={COLOR.red,COLOR.white,COLOR.green},
sprfes={COLOR.red,COLOR.orange,COLOR.yellow},
xmas={COLOR.R,COLOR.Z,COLOR.G},
sprfes={COLOR.R,COLOR.O,COLOR.Y},
}
function THEME.calculate(Y,M,D)
@@ -48,15 +48,15 @@ function THEME.set(theme)
elseif theme=="xmas"then
BG.setDefault("snow")
BGM.setDefault("xmas")
LOG.print("==============",COLOR.red)
LOG.print("Merry Christmas!",COLOR.white)
LOG.print("==============",COLOR.red)
LOG.print("==============",COLOR.R)
LOG.print("Merry Christmas!",COLOR.Z)
LOG.print("==============",COLOR.R)
elseif theme=="sprfes"then
BG.setDefault("firework")
BGM.setDefault("spring festival")
LOG.print(" ★☆☆★",COLOR.red)
LOG.print("新年快乐!",COLOR.white)
LOG.print(" ★☆☆★",COLOR.red)
LOG.print(" ★☆☆★",COLOR.R)
LOG.print("新年快乐!",COLOR.Z)
LOG.print(" ★☆☆★",COLOR.R)
elseif theme=="zday1"then
BG.setDefault("lanterns")
BGM.setDefault("empty")

View File

@@ -45,7 +45,7 @@ function VOC.init(list)
if n==1 then
if not loadVoiceFile(list[i],list[i])then
LOG.print("No VOICE file: "..list[i],5,COLOR.orange)
LOG.print("No VOICE file: "..list[i],5,COLOR.O)
end
end
if not Source[list[i]][1]then Source[list[i]]=nil end

View File

@@ -5,6 +5,7 @@ local int,abs=math.floor,math.abs
local max,min=math.max,math.min
local sub,format=string.sub,string.format
local ins=table.insert
local COLOR=COLOR
local setFont,mStr=setFont,mStr
local mDraw_Y=MDRAW.simpY
@@ -56,7 +57,7 @@ function WIDGET.newText(D)--name,x,y[,fText][,color][,font=30][,align="M"][,hide
y= D.y,
fText= D.fText,
color= D.color and(COLOR[D.color]or D.color)or COLOR.white,
color= D.color and(COLOR[D.color]or D.color)or COLOR.Z,
font= D.font or 30,
align= D.align or"M",
hideCon=D.hide,
@@ -199,7 +200,7 @@ function WIDGET.newButton(D)--name,x,y,w[,h][,fText][,color][,font][,align="M"[,
},
fText= D.fText,
color= D.color and(COLOR[D.color]or D.color)or COLOR.white,
color= D.color and(COLOR[D.color]or D.color)or COLOR.Z,
font= D.font or 30,
align= D.align or"M",
edge= D.edge or 0,
@@ -283,7 +284,7 @@ function WIDGET.newKey(D)--name,x,y,w[,h][,fText][,color][,font][,align="M"[,edg
},
fText= D.fText,
color= D.color and(COLOR[D.color]or D.color)or COLOR.white,
color= D.color and(COLOR[D.color]or D.color)or COLOR.Z,
font= D.font or 30,
align= D.align or"M",
edge= D.edge or 0,
@@ -364,7 +365,7 @@ function WIDGET.newSwitch(D)--name,x,y[,fText][,color][,font][,disp],code,hide
},
fText= D.fText,
color= D.color and(COLOR[D.color]or D.color)or COLOR.white,
color= D.color and(COLOR[D.color]or D.color)or COLOR.Z,
font= D.font or 30,
disp= D.disp,
code= D.code,
@@ -518,7 +519,7 @@ function WIDGET.newSlider(D)--name,x,y,w[,fText][,color][,unit][,smooth][,font][
},
fText= D.fText,
color= D.color and(COLOR[D.color]or D.color)or COLOR.white,
color= D.color and(COLOR[D.color]or D.color)or COLOR.Z,
unit= D.unit or 1,
smooth= false,
font= D.font or 30,
@@ -684,7 +685,7 @@ function WIDGET.newSelector(D)--name,x,y,w[,fText][,color],list,disp,code,hide
},
fText= D.fText,
color= D.color and(COLOR[D.color]or D.color)or COLOR.white,
color= D.color and(COLOR[D.color]or D.color)or COLOR.Z,
font= 30,
list= D.list,
disp= D.disp,
@@ -1003,7 +1004,7 @@ function WIDGET.setLang(widgetText)
local t=W.fText or widgetText[S][W.name]
if not t and not allowNoText[W.type]then
t=W.name or"##"
W.color=COLOR.dPurple
W.color=COLOR.dV
end
if type(t)=="string"and W.font then
t=gc.newText(getFont(W.font),t)

View File

@@ -933,7 +933,7 @@ do--function saveRecording()
--Filtering modes that cannot be saved
for _,v in next,noRecList do
if GAME.curModeName:find(v)then
LOG.print("Cannot save recording of this mode now!",COLOR.sky)
LOG.print("Cannot save recording of this mode now!",COLOR.N)
return
end
end

View File

@@ -4,94 +4,94 @@ local function disableKey(P,key)
end
MODOPT={--Mod options
{no=0,id="NX",name="next",
key="q",x=80,y=230,color="orange",
key="q",x=80,y=230,color="O",
list={0,1,2,3,4,5,6},
func=function(P,O)P.gameEnv.nextCount=O end,
},
{no=1,id="HL",name="hold",
key="w",x=200,y=230,color="orange",
key="w",x=200,y=230,color="O",
list={0,1,2,3,4,5,6},
func=function(P,O)P.gameEnv.holdCount=O end,
unranked=true,
},
{no=2,id="FL",name="hideNext",
key="e",x=320,y=230,color="aqua",
key="e",x=320,y=230,color="A",
list={1,2,3,4,5},
func=function(P,O)P.gameEnv.nextStartPos=O +1 end,
},
{no=3,id="IH",name="infHold",
key="r",x=440,y=230,color="aqua",
key="r",x=440,y=230,color="A",
func=function(P)P.gameEnv.infHold=true end,
unranked=true,
},
{no=4,id="HB",name="hideBlock",
key="y",x=680,y=230,color="purple",
key="y",x=680,y=230,color="V",
func=function(P)P.gameEnv.block=false end,
},
{no=5,id="HG",name="hideGhost",
key="u",x=800,y=230,color="purple",
key="u",x=800,y=230,color="V",
func=function(P)P.gameEnv.ghost=false end,
},
{no=6,id="HD",name="hidden",
key="i",x=920,y=230,color="grape",
key="i",x=920,y=230,color="P",
list={"easy","slow","medium","fast","none"},
func=function(P,O)P.gameEnv.visible=O end,
unranked=true,
},
{no=7,id="HB",name="hideBoard",
key="o",x=1040,y=230,color="grape",
key="o",x=1040,y=230,color="P",
list={"down","up","all"},
func=function(P,O)P.gameEnv.hideBoard=O end,
},
{no=8,id="FB",name="flipBoard",
key="p",x=1160,y=230,color="grass",
key="p",x=1160,y=230,color="J",
list={"U-D","L-R","180"},
func=function(P,O)P.gameEnv.flipBoard=O end,
},
{no=9,id="DT",name="dropDelay",
key="a",x=140,y=350,color="red",
key="a",x=140,y=350,color="R",
list={0,.125,.25,.5,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99},
func=function(P,O)P.gameEnv.drop=O end,
unranked=true,
},
{no=10,id="LT",name="lockDelay",
key="s",x=260,y=350,color="red",
key="s",x=260,y=350,color="R",
list={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99},
func=function(P,O)P.gameEnv.lock=O end,
unranked=true,
},
{no=11,id="ST",name="waitDelay",
key="d",x=380,y=350,color="red",
key="d",x=380,y=350,color="R",
list={0,1,2,3,4,5,6,7,8,10,15,20,30,60},
func=function(P,O)P.gameEnv.wait=O end,
unranked=true,
},
{no=12,id="CT",name="fallDelay",
key="f",x=500,y=350,color="red",
key="f",x=500,y=350,color="R",
list={0,1,2,3,4,5,6,7,8,10,15,20,30,60},
func=function(P,O)P.gameEnv.fall=O end,
unranked=true,
},
{no=13,id="LF",name="life",
key="j",x=860,y=350,color="yellow",
key="j",x=860,y=350,color="Y",
list={0,1,2,3,5,10,15,26,42,87,500},
func=function(P,O)P.gameEnv.life=O end,
unranked=true,
},
{no=14,id="FB",name="forceB2B",
key="k",x=980,y=350,color="yellow",
key="k",x=980,y=350,color="Y",
func=function(P)P.gameEnv.b2bKill=true end,
unranked=true,
},
{no=15,id="PF",name="forceFinesse",
key="l",x=1100,y=350,color="yellow",
key="l",x=1100,y=350,color="Y",
func=function(P)P.gameEnv.fineKill=true end,
unranked=true,
},
{no=16,id="TL",name="tele",
key="z",x=200,y=470,color="lGray",
key="z",x=200,y=470,color="lH",
func=function(P)
P.gameEnv.das,P.gameEnv.arr=0,0
P.gameEnv.sddas,P.gameEnv.sdarr=0,0
@@ -99,7 +99,7 @@ MODOPT={--Mod options
unranked=true,
},
{no=17,id="FX",name="noRotation",
key="x",x=320,y=470,color="lGray",
key="x",x=320,y=470,color="lH",
func=function(P)
disableKey(P,3)
disableKey(P,4)
@@ -108,7 +108,7 @@ MODOPT={--Mod options
unranked=true,
},
{no=18,id="GL",name="noMove",
key="c",x=440,y=470,color="lGray",
key="c",x=440,y=470,color="lH",
func=function(P)
disableKey(P,1)disableKey(P,2)
disableKey(P,11)disableKey(P,12)
@@ -118,19 +118,19 @@ MODOPT={--Mod options
unranked=true,
},
{no=19,id="CS",name="customSeq",
key="b",x=680,y=470,color="blue",
key="b",x=680,y=470,color="B",
list={"bag","his4","c2","rnd","mess","reverb"},
func=function(P,O)P.gameEnv.sequence=O end,
unranked=true,
},
{no=20,id="PS",name="pushSpeed",
key="n",x=800,y=470,color="blue",
key="n",x=800,y=470,color="B",
list={.5,1,2,3,5,15,1e99},
func=function(P,O)P.gameEnv.pushSpeed=O end,
unranked=true,
},
{no=21,id="BN",name="boneBlock",
key="m",x=920,y=470,color="blue",
key="m",x=920,y=470,color="B",
list={"on","off"},
func=function(P,O)P.gameEnv.bone=O=="on"end,
},
@@ -334,26 +334,26 @@ keyMap=FILE.load("conf/key")or{--Key setting
},
}
VK_org=FILE.load("conf/virtualkey")or{--Virtualkey layout, refresh all VKs' position with this before each game
{ava=true, x=80, y=720-200, r=80,color=COLOR.lime},--moveLeft
{ava=true, x=320, y=720-200, r=80,color=COLOR.lime},--moveRight
{ava=true, x=1280-80, y=720-200, r=80,color=COLOR.red},--rotRight
{ava=true, x=1280-200, y=720-80, r=80,color=COLOR.orange},--rotLeft
{ava=true, x=1280-200, y=720-320, r=80,color=COLOR.magenta},--rot180
{ava=true, x=200, y=720-320, r=80,color=COLOR.cyan},--hardDrop
{ava=true, x=200, y=720-80, r=80,color=COLOR.sea},--softDrop
{ava=true, x=1280-320, y=720-200, r=80,color=COLOR.yellow},--hold
{ava=true, x=1280-80, y=280, r=80,color=COLOR.lRed},--func1
{ava=true, x=80, y=280, r=80,color=COLOR.lMagenta},--func2
{ava=false, x=100, y=50, r=80,color=COLOR.aqua},--insLeft
{ava=false, x=200, y=50, r=80,color=COLOR.aqua},--insRight
{ava=true, x=80, y=720-200, r=80,color=COLOR.L},--moveLeft
{ava=true, x=320, y=720-200, r=80,color=COLOR.L},--moveRight
{ava=true, x=1280-80, y=720-200, r=80,color=COLOR.R},--rotRight
{ava=true, x=1280-200, y=720-80, r=80,color=COLOR.O},--rotLeft
{ava=true, x=1280-200, y=720-320, r=80,color=COLOR.M},--rot180
{ava=true, x=200, y=720-320, r=80,color=COLOR.C},--hardDrop
{ava=true, x=200, y=720-80, r=80,color=COLOR.S},--softDrop
{ava=true, x=1280-320, y=720-200, r=80,color=COLOR.Y},--hold
{ava=true, x=1280-80, y=280, r=80,color=COLOR.lR},--func1
{ava=true, x=80, y=280, r=80,color=COLOR.lM},--func2
{ava=false, x=100, y=50, r=80,color=COLOR.A},--insLeft
{ava=false, x=200, y=50, r=80,color=COLOR.A},--insRight
{ava=false, x=300, y=50, r=80,color={COLOR.rainbow(3.5)}},--insDown
{ava=false, x=400, y=50, r=80,color={COLOR.rainbow(3.3)}},--down1
{ava=false, x=500, y=50, r=80,color={COLOR.rainbow(3.1)}},--down4
{ava=false, x=600, y=50, r=80,color={COLOR.rainbow(2.9)}},--down10
{ava=false, x=700, y=50, r=80,color=COLOR.lLime},--dropLeft
{ava=false, x=800, y=50, r=80,color=COLOR.lLime},--dropRight
{ava=false, x=900, y=50, r=80,color=COLOR.lAqua},--addToLeft
{ava=false, x=1000, y=50, r=80,color=COLOR.lAqua},--addToRight
{ava=false, x=700, y=50, r=80,color=COLOR.lL},--dropLeft
{ava=false, x=800, y=50, r=80,color=COLOR.lL},--dropRight
{ava=false, x=900, y=50, r=80,color=COLOR.lA},--addToLeft
{ava=false, x=1000, y=50, r=80,color=COLOR.lA},--addToRight
}
virtualkey={}for i=1,#VK_org do virtualkey[i]={}end--In-game virtualkey layout
REPLAY=FILE.load("conf/replay")or{}

View File

@@ -1,4 +1,4 @@
local c=COLOR
local C=COLOR
return{
back="Back",
anykey="Press any key",
@@ -848,30 +848,30 @@ return{
"You can perform a spin with 28 of the 29 minoes in this game; the exception being O1.",
"You can set the spawning orientation for each tetromino.",
"ZS JL T O I",
{c.C,"Also try 15puzzle"},
{c.C,"Also try Minecraft"},
{c.C,"Also try Minesweeper"},
{c.C,"Also try osu!"},
{c.C,"Also try Phigros"},
{c.C,"Also try Rubic's cube"},
{c.C,"Also try Terraria"},
{c.C,"Also try VVVVVV"},
{c.fire,"Also try Cultris II"},
{c.fire,"Also try Jstris"},
{c.fire,"Also try Nullpomino"},
{c.fire,"Also try Tetr.io"},
{c.fire,"Also try Tetr.js"},
{c.fire,"Also try Tetralegends"},
{c.grape,"T-spin!"},
{c.gray,"REGRET!!"},
{c.lR,"Z ",c.lG,"S ",c.lSea,"J ",c.lOrange,"L ",c.lGrape,"T ",c.lY,"O ",c.lC,"I"},
{c.lY,"COOL!!"},
{c.R,"\"DMCA abusing\""},
{c.R,"\"Intellectual property law\""},
{c.R,"DT",c.W," Cannon=",c.grape,"TS",c.R,"D",c.W,"+",c.grape,"TS",c.R,"T",c.W," Cannon"},
{c.R,"LrL ",c.G,"RlR ",c.B,"LLr ",c.orange,"RRl ",c.grape,"RRR ",c.grape,"LLL ",c.C,"FFF ",c.Y,"RfR ",c.Y,"RRf ",c.Y,"rFF"},
{c.sky,"Lua",c.W," No.1"},
{c.W,"What is ",c.lC,"Xspin"},
{c.Y,"O-spin Triple!"},
{C.C,"Also try 15puzzle"},
{C.C,"Also try Minecraft"},
{C.C,"Also try Minesweeper"},
{C.C,"Also try osu!"},
{C.C,"Also try Phigros"},
{C.C,"Also try Rubic's cube"},
{C.C,"Also try Terraria"},
{C.C,"Also try VVVVVV"},
{C.fire,"Also try Cultris II"},
{C.fire,"Also try Jstris"},
{C.fire,"Also try Nullpomino"},
{C.fire,"Also try Tetr.io"},
{C.fire,"Also try Tetr.js"},
{C.fire,"Also try Tetralegends"},
{C.H,"REGRET!!"},
{C.lR,"Z ",C.lG,"S ",C.lS,"J ",C.lO,"L ",C.lP,"T ",C.lY,"O ",C.lC,"I"},
{C.lY,"COOL!!"},
{C.navy,"Lua",C.Z," No.1"},
{C.purple,"T-spin!"},
{C.R,"\"DMCA abusing\""},
{C.R,"\"Intellectual property law\""},
{C.R,"DT",C.Z," Cannon=",C.purple,"TS",C.R,"D",C.Z,"+",C.purple,"TS",C.R,"T",C.Z," Cannon"},
{C.R,"LrL ",C.G,"RlR ",C.B,"LLr ",C.orange,"RRl ",C.purple,"RRR ",C.purple,"LLL ",C.C,"FFF ",C.Y,"RfR ",C.Y,"RRf ",C.Y,"rFF"},
{C.Y,"O-spin Triple!"},
{C.Z,"What is ",C.lC,"Xspin"},
}
}

View File

@@ -1,3 +1,4 @@
local C=COLOR
return{
fallback=4,
back="Voltar",
@@ -608,7 +609,7 @@ return{
},
app_15p={
reset="Embaralhar",
color="Cor",
C="Cor",
blind="Cego",
slide="Deslizar",
pathVis="Mostrar caminho",
@@ -842,37 +843,37 @@ return{
"Você pode abrir o diretório de save na pagina de Stats.",
"Você pode escolher uma orientação pra cada blococan.",
"ZS JL T O I",
{COLOR.cyan,"Tente também 15puzzle"},
{COLOR.cyan,"Tente também Minecraft"},
{COLOR.cyan,"Tente também Minesweeper"},
{COLOR.cyan,"Tente também osu!"},
{COLOR.cyan,"Tente também Phigros"},
{COLOR.cyan,"Tente também Rubic's cube"},
{COLOR.cyan,"Tente também Terraria"},
{COLOR.cyan,"Tente também VVVVVV"},
{COLOR.fire,"Tente também Cultris II"},
{COLOR.fire,"Tente também Jstris"},
{COLOR.fire,"Tente também Nullpomino"},
{COLOR.fire,"Tente também Tetr.io"},
{COLOR.fire,"Tente também Tetr.js"},
{COLOR.fire,"Tente também Tetralegends"},
{COLOR.grape,"T-spin!"},
{COLOR.gray,"暫定段位:9"},
{COLOR.gray,"REGRET!!"},
{COLOR.lR,"Z ",COLOR.lG,"S ",COLOR.lSea,"J ",COLOR.lOrange,"L ",COLOR.lGrape,"T ",COLOR.lY,"O ",COLOR.lC,"I"},
{COLOR.lY,"LEGAL!!"},
{COLOR.R,"\"DMCA abusing\""},
{COLOR.R,"\"Intellectual property law\""},
{COLOR.R,"DT",COLOR.W," Cannon=",COLOR.grape,"TS",COLOR.R,"D",COLOR.W,"+",COLOR.grape,"TS",COLOR.R,"T",COLOR.W," Cannon"},
{COLOR.R,"LrL ",COLOR.G,"RlR ",COLOR.B,"LLr ",COLOR.orange,"RRl ",COLOR.grape,"RRR ",COLOR.grape,"LLL ",COLOR.C,"FFF ",COLOR.Y,"RfR ",COLOR.Y,"RRf ",COLOR.Y,"rFF"},
{COLOR.sky,"Lua",COLOR.W," No.1"},
{COLOR.W,"What is ",COLOR.lC,"Xspin"},
{COLOR.Y,"暫定段位:GM"},
{COLOR.Y,"暫定段位:M"},
{COLOR.Y,"暫定段位:MK"},
{COLOR.Y,"暫定段位:MM"},
{COLOR.Y,"暫定段位:MO"},
{COLOR.Y,"暫定段位:MV"},
{COLOR.Y,"O-spin Triple!"},
{C.C,"Tente também 15puzzle"},
{C.C,"Tente também Minecraft"},
{C.C,"Tente também Minesweeper"},
{C.C,"Tente também osu!"},
{C.C,"Tente também Phigros"},
{C.C,"Tente também Rubic's cube"},
{C.C,"Tente também Terraria"},
{C.C,"Tente também VVVVVV"},
{C.F,"Tente também Cultris II"},
{C.F,"Tente também Jstris"},
{C.F,"Tente também Nullpomino"},
{C.F,"Tente também Tetr.io"},
{C.F,"Tente também Tetr.js"},
{C.F,"Tente também Tetralegends"},
{C.H,"暫定段位:9"},
{C.H,"REGRET!!"},
{C.lR,"Z ",C.lG,"S ",C.lS,"J ",C.lO,"L ",C.lP,"T ",C.lY,"O ",C.lC,"I"},
{C.lY,"LEGAL!!"},
{C.N,"Lua",C.Z," No.1"},
{C.P,"T-spin!"},
{C.R,"\"DMCA abusing\""},
{C.R,"\"Intellectual property law\""},
{C.R,"DT",C.Z," Cannon=",C.P,"TS",C.R,"D",C.Z,"+",C.P,"TS",C.R,"T",C.Z," Cannon"},
{C.R,"LrL ",C.G,"RlR ",C.B,"LLr ",C.O,"RRl ",C.P,"RRR ",C.P,"LLL ",C.C,"FFF ",C.Y,"RfR ",C.Y,"RRf ",C.Y,"rFF"},
{C.Z,"What is ",C.lC,"Xspin"},
{C.Y,"暫定段位:GM"},
{C.Y,"暫定段位:M"},
{C.Y,"暫定段位:MK"},
{C.Y,"暫定段位:MM"},
{C.Y,"暫定段位:MO"},
{C.Y,"暫定段位:MV"},
{C.Y,"O-spin Triple!"},
}
}

View File

@@ -1,4 +1,4 @@
local c=COLOR
local C=COLOR
return{
back="返回",
anykey="按任意键继续",
@@ -1012,91 +1012,91 @@ return{
"Z酱累了,Z酱不想更新",
"Z酱只是个写代码的,懂什么方块",
"Z块等身抱枕来一个(x",
{c.aqua,"AQUA"},
{c.B,"BLUE"},
{c.C,"<PURE ",c.grape,"MEMORY>"},
{c.C,"15puzzle好玩!"},
{c.C,"魔方好玩!"},
{c.C,"扫雷好玩!"},
{c.C,"泰拉瑞亚好玩!"},
{c.C,"我的世界好玩!"},
{c.C,"CYAN"},
{c.C,"Orzmic好玩!"},
{c.C,"Osu!好玩!"},
{c.C,"Phigros好玩!"},
{c.C,"VVVVVV好玩!"},
{c.fire,"Cultris II也很好玩!"},
{c.fire,"FIRE"},
{c.fire,"Jstris也很好玩!"},
{c.fire,"Nullpomino也很好玩!"},
{c.fire,"Tetr.io也很好玩!"},
{c.fire,"Tetr.js也很好玩!"},
{c.fire,"Tetralegends也很好玩!"},
{c.G,"快捷键: Alt+F4=关闭当前窗口"},
{c.G,"快捷键: Alt+Tab=切换窗口"},
{c.G,"快捷键: backspace=返回上一个文件目录"},
{c.G,"快捷键: Ctrl+鼠标滚轮=缩放"},
{c.G,"快捷键: Ctrl+A=全选"},
{c.G,"快捷键: Ctrl+Alt+Z=查看所有qq消息"},
{c.G,"快捷键: Ctrl+D=复制一份"},
{c.G,"快捷键: Ctrl+F=查找"},
{c.G,"快捷键: Ctrl+Tab=切换标签页"},
{c.G,"快捷键: Ctrl+W=关闭当前标签页"},
{c.G,"快捷键: shift+del=永久删除文件 (技术人员别杠)"},
{c.G,"GREEN"},
{c.grape,"GRAPE"},
{c.grape,"T-spin!"},
{c.grass,"GRASS"},
{c.gray,"感谢Phigros提供部分tip模板("},
{c.gray,"暂定段位:9"},
{c.gray,"REGRET!!"},
{c.lime,"LIME"},
{c.lC,"26连T2来一个?"},
{c.lC,"Xspin",c.W,"是啥"},
{c.lGrape,"Naki",c.W," 可爱!"},
{c.lGray,"腱鞘炎警告"},
{c.lGray,"看起来是个计算器,其实…"},
{c.lGray,"没学过编曲,音乐都是自己瞎写的,觉得不好听就去设置关了吧"},
{c.lGray,"秘密数字:626"},
{c.lGray,"你有一个好"},
{c.lGray,"STSD必死"},
{c.lGray,"Techmino没有抽卡没有氪金,太良心了"},
{c.lR,"Z ",c.lG,"S ",c.lSea,"J ",c.lOrange,"L ",c.lGrape,"T ",c.lY,"O ",c.lC,"I"},
{c.lSea,"茶娘",c.W," 可爱!"},
{c.lY,"COOL!!"},
{c.magenta,"MAGENTA"},
{c.orange,"ORANGE"},
{c.pink,"PINK"},
{c.pink,"uid:225238922"},
{c.purple,"PURPLE"},
{c.R,"滥用DMCA"},
{c.R,"《知识产权法》"},
{c.R,"本游戏难度上限很高,做好心理准备。"},
{c.R,"不要向不感兴趣的路人推荐!!!!!!!!"},
{c.R,"不要在上课时玩游戏!"},
{c.R,"光敏性癫痫警告"},
{c.R,"请在有一定游戏基础之后再学Tspin!不然副作用非常大!"},
{c.R,"新人请千万记住,打好基础,不要太早学那些花里胡哨的。"},
{c.R,"长时间游戏状态会越来越差!玩久了记得放松一下~"},
{c.R,"DD",c.W,"炮=",c.grape,"TS",c.R,"D",c.W,"+",c.grape,"TS",c.R,"D",c.W,""},
{c.R,"DT",c.W,"炮=",c.grape,"TS",c.R,"D",c.W,"+",c.grape,"TS",c.R,"T",c.W,""},
{c.R,"LrL ",c.G,"RlR ",c.B,"LLr ",c.orange,"RRl ",c.grape,"RRR LLL ",c.C,"FFF ",c.Y,"RfR RRf rFF"},
{c.R,"RED"},
{c.sea,"SEA"},
{c.sky,"Lua",c.W,"天下第一"},
{c.sky,"SKY"},
{c.W,"1, 2, ",c.C,"",c.W,"!!!!!"},
{c.W,"效率药水",c.gray," 效率提升 (8:00)"},
{c.W,"协调药水",c.gray," MD减少 II(1:30)"},
{c.Y,"暂定段位:GM"},
{c.Y,"暂定段位:M"},
{c.Y,"暂定段位:MK"},
{c.Y,"暂定段位:MM"},
{c.Y,"暂定段位:MO"},
{c.Y,"暂定段位:MV"},
{c.Y,"Miya",c.W," 可爱!"},
{c.Y,"O-spin Triple!"},
{c.Y,"YELLOW"},
{C.A,"AQUA"},
{C.B,"BLUE"},
{C.C,"<PURE ",C.purple,"MEMORY>"},
{C.C,"15puzzle好玩!"},
{C.C,"魔方好玩!"},
{C.C,"扫雷好玩!"},
{C.C,"泰拉瑞亚好玩!"},
{C.C,"我的世界好玩!"},
{C.C,"CYAN"},
{C.C,"Orzmic好玩!"},
{C.C,"Osu!好玩!"},
{C.C,"Phigros好玩!"},
{C.C,"VVVVVV好玩!"},
{C.F,"Cultris II也很好玩!"},
{C.F,"FIRE"},
{C.F,"Jstris也很好玩!"},
{C.F,"Nullpomino也很好玩!"},
{C.F,"Tetr.io也很好玩!"},
{C.F,"Tetr.js也很好玩!"},
{C.F,"Tetralegends也很好玩!"},
{C.G,"快捷键: Alt+F4=关闭当前窗口"},
{C.G,"快捷键: Alt+Tab=切换窗口"},
{C.G,"快捷键: backspace=返回上一个文件目录"},
{C.G,"快捷键: Ctrl+鼠标滚轮=缩放"},
{C.G,"快捷键: Ctrl+A=全选"},
{C.G,"快捷键: Ctrl+Alt+Z=查看所有qq消息"},
{C.G,"快捷键: Ctrl+D=复制一份"},
{C.G,"快捷键: Ctrl+F=查找"},
{C.G,"快捷键: Ctrl+Tab=切换标签页"},
{C.G,"快捷键: Ctrl+W=关闭当前标签页"},
{C.G,"快捷键: shift+del=永久删除文件 (技术人员别杠)"},
{C.G,"GREEN"},
{C.H,"感谢Phigros提供部分tip模板("},
{C.H,"暂定段位:9"},
{C.H,"REGRET!!"},
{C.jade,"JADE"},
{C.lC,"26连T2来一个?"},
{C.lC,"Xspin",C.Z,"是啥"},
{C.lH,"腱鞘炎警告"},
{C.lH,"看起来是个计算器,其实…"},
{C.lH,"没学过编曲,音乐都是自己瞎写的,觉得不好听就去设置关了吧"},
{C.lH,"秘密数字:626"},
{C.lH,"你有一个好"},
{C.lH,"STSD必死"},
{C.lH,"Techmino没有抽卡没有氪金,太良心了"},
{C.L,"LIME"},
{C.lP,"Naki",C.Z," 可爱!"},
{C.lR,"Z ",C.lG,"S ",C.lS,"J ",C.lO,"L ",C.lP,"T ",C.lY,"O ",C.lC,"I"},
{C.lS,"茶娘",C.Z," 可爱!"},
{C.lY,"COOL!!"},
{C.M,"MAGENTA"},
{C.N,"Lua",C.Z,"天下第一"},
{C.N,"NAVY"},
{C.O,"ORANGE"},
{C.P,"PURPLE"},
{C.P,"T-spin!"},
{C.R,"《滥用DMCA》"},
{C.R,"知识产权法"},
{C.R,"本游戏难度上限很高,做好心理准备。"},
{C.R,"不要向不感兴趣的路人推荐!!!!!!!!"},
{C.R,"不要在上课时玩游戏!"},
{C.R,"光敏性癫痫警告"},
{C.R,"请在有一定游戏基础之后再学Tspin!不然副作用非常大!"},
{C.R,"新人请千万记住,打好基础,不要太早学那些花里胡哨的。"},
{C.R,"长时间游戏状态会越来越差!玩久了记得放松一下~"},
{C.R,"DD",C.Z,"炮=",C.purple,"TS",C.R,"D",C.Z,"+",C.purple,"TS",C.R,"D",C.Z,""},
{C.R,"DT",C.Z,"炮=",C.purple,"TS",C.R,"D",C.Z,"+",C.purple,"TS",C.R,"T",C.Z,""},
{C.R,"LrL ",C.G,"RlR ",C.B,"LLr ",C.orange,"RRl ",C.purple,"RRR LLL ",C.C,"FFF ",C.Y,"RfR RRf rFF"},
{C.R,"RED"},
{C.S,"SEA"},
{C.V,"VIOLET"},
{C.W,"uid:225238922"},
{C.W,"WINE"},
{C.Y,"暂定段位:GM"},
{C.Y,"暂定段位:M"},
{C.Y,"暂定段位:MK"},
{C.Y,"暂定段位:MM"},
{C.Y,"暂定段位:MO"},
{C.Y,"暂定段位:MV"},
{C.Y,"Miya",C.Z," 可爱!"},
{C.Y,"O-spin Triple!"},
{C.Y,"YELLOW"},
{C.Z,"1, 2, ",C.C,"",C.Z,"!!!!!"},
{C.Z,"效率药水",C.H," 效率提升 (8:00)"},
{C.Z,"协调药水",C.H," MD减少 II(1:30)"},
-- "Z酱 可爱!",
}
}

View File

@@ -302,7 +302,7 @@ rankColor={
}
minoColor={
COLOR.red, COLOR.fire, COLOR.orange, COLOR.yellow, COLOR.lime, COLOR.grass, COLOR.green, COLOR.aqua,
COLOR.cyan, COLOR.sky, COLOR.sea, COLOR.blue, COLOR.purple, COLOR.grape, COLOR.magenta, COLOR.pink,
COLOR.dGray,COLOR.black,COLOR.lYellow, COLOR.gray, COLOR.lGray, COLOR.dPurple, COLOR.dRed, COLOR.dGreen,
COLOR.R,COLOR.F,COLOR.O,COLOR.Y,COLOR.L,COLOR.J,COLOR.G,COLOR.A,
COLOR.C,COLOR.N,COLOR.S,COLOR.B,COLOR.V,COLOR.P,COLOR.M,COLOR.W,
COLOR.dH,COLOR.D,COLOR.lY,COLOR.H,COLOR.lH,COLOR.dV,COLOR.dR,COLOR.dG,
}

View File

@@ -1,6 +1,6 @@
local format=string.format
return{
color=COLOR.lGray,
color=COLOR.lH,
env={
drop=1e99,lock=1e99,
holdCount=0,

View File

@@ -16,7 +16,7 @@ return{
load=function()
PLY.newPlayer(1)
if SETTING.sfx_spawn==0 then
LOG.print(text.switchSpawnSFX,COLOR.yellow)
LOG.print(text.switchSpawnSFX,COLOR.Y)
end
end,
mesDisp=function(P)

View File

@@ -40,7 +40,7 @@ local function score(P)
end
return{
color=COLOR.lGray,
color=COLOR.lH,
env={
noTele=true,
das=5,arr=1,

View File

@@ -1,5 +1,5 @@
return{
color=COLOR.lGray,
color=COLOR.lH,
env={
drop=60,lock=60,
dropPiece=function(P)if P.stat.row>=1000 then P:win("finish")end end, bg="rainbow",bgm="push",

View File

@@ -1,7 +1,7 @@
local gc=love.graphics
local warnTime={60,90,105,115,116,117,118,119,120}
return{
color=COLOR.lGray,
color=COLOR.lH,
env={
noTele=true,
minarr=1,minsdarr=1,

View File

@@ -1,5 +1,5 @@
return{
color=COLOR.lGray,
color=COLOR.lH,
env={
drop=120,lock=120,
infHold=true,

View File

@@ -241,15 +241,15 @@ function NET.updateWS_app()
end
end
if VERSION.code<res.newestCode then
LOG.print(text.oldVersion:gsub("$1",res.newestName),180,COLOR.sky)
LOG.print(text.oldVersion:gsub("$1",res.newestName),180,COLOR.N)
end
LOG.print(res.notice,300,COLOR.sky)
LOG.print(res.notice,300,COLOR.N)
elseif res.action==0 then--Get new version info
--?
elseif res.action==1 then--Get notice
--?
elseif res.action==2 then--Register
LOG.print(res.data.message,300,COLOR.sky)
LOG.print(res.data.message,300,COLOR.N)
if SCN.cur=="register"then SCN.back()end
NET.unlock("register")
end

View File

@@ -115,406 +115,406 @@ return{
{
name="八零哥",
font=25,
color=C.gray,
color=C.H,
},
{
name="蕴空之灵",
font=25,
color=C.gray,
color=C.H,
},
{
name="gggf127",
font=25,
color=C.gray,
color=C.H,
},
{
name="solainu",
font=25,
color=C.gray,
color=C.H,
},
{
name="ThTsOd",
font=25,
color=C.gray,
color=C.H,
},
{
name="Fireboos",
font=25,
color=C.gray,
color=C.H,
},
{
name="星月千雪",
font=25,
color=C.gray,
color=C.H,
},
{
name="10元",
font=25,
color=C.gray,
color=C.H,
},
{
name="立斐",
font=25,
color=C.gray,
color=C.H,
},
{
name="Deep_Sea",
font=25,
color=C.gray,
color=C.H,
},
{
name="时雪",
font=25,
color=C.gray,
color=C.H,
},
{
name="yyangdid",
font=25,
color=C.gray,
color=C.H,
},
{
name="sfqr",
font=25,
color=C.gray,
color=C.H,
},
{
name="心痕",
font=25,
color=C.gray,
color=C.H,
},
{
name="Sasoric",
font=25,
color=C.gray,
color=C.H,
},
{
name="夏小亚",
font=25,
color=C.gray,
color=C.H,
},
{
name="仁参",
font=25,
color=C.gray,
color=C.H,
},
{
name="乐↗乐↘",
font=25,
color=C.gray,
color=C.H,
},
{
name="喜欢c4w的ztcjoin",
font=25,
color=C.gray,
color=C.H,
},
{
name="面包",
font=25,
color=C.gray,
color=C.H,
},
{
name="蠢熏",
font=25,
color=C.gray,
color=C.H,
},
{
name="潘一栗",
font=25,
color=C.gray,
color=C.H,
},
{
name="Lied",
font=25,
color=C.gray,
color=C.H,
},
{
name="星街书婉",
font=25,
color=C.gray,
color=C.H,
},
{
name="祝西",
font=25,
color=C.gray,
color=C.H,
},
{
name="829",
font=25,
color=C.gray,
color=C.H,
},
{
name="e m*12",
font=25,
color=C.gray,
color=C.H,
},
{
name="我永远爱白银诺艾尔(鹏",
font=25,
color=C.gray,
color=C.H,
},
{
name="PCX",
font=25,
color=C.gray,
color=C.H,
},
{
name="kagura77",
font=25,
color=C.gray,
color=C.H,
},
{
name="呆喂",
font=25,
color=C.gray,
color=C.H,
},
{
name="GlowingEmbers",
font=25,
color=C.gray,
color=C.H,
},
{
name="轩辕辚",
font=25,
color=C.gray,
color=C.H,
},
{
name="HimuroAki",
font=25,
color=C.gray,
color=C.H,
},
{
name="TCV100",
font=25,
color=C.gray,
color=C.H,
},
{
name="tech有养成系统了@7065",
font=25,
color=C.gray,
color=C.H,
},
{
name="HAGE KANOBU",
font=25,
color=C.gray,
color=C.H,
},
{
name="闪电和拐棍",
font=25,
color=C.gray,
color=C.H,
},
{
name="葡萄味的曼妥思",
font=25,
color=C.gray,
color=C.H,
},
{
name="蓝绿",
font=25,
color=C.gray,
color=C.H,
},
{
name="天生的魔法师",
font=25,
color=C.gray,
color=C.H,
},
{
name="琳雨空",
font=25,
color=C.gray,
color=C.H,
},
{
name="T8779.易缄",
font=25,
color=C.gray,
color=C.H,
},
{
name="诗情画意",
font=25,
color=C.gray,
color=C.H,
},
{
name="星姐阿夸双推Man暗炎",
font=25,
color=C.gray,
color=C.H,
},
{
name="[*炎]",
font=25,
color=C.gray,
color=C.H,
},
{
name="[*Y]",
font=25,
color=C.gray,
color=C.H,
},
{
name="aaa222",
font=25,
color=C.gray,
color=C.H,
},
{
name="[**城]",
font=25,
color=C.gray,
color=C.H,
},
{
name="cnDD",
font=25,
color=C.gray,
color=C.H,
},
{
name="红桃老给",
font=25,
color=C.gray,
color=C.H,
},
{
name="昭庭玲秋",
font=25,
color=C.gray,
color=C.H,
},
{
name="旋树墩",
font=25,
color=C.gray,
color=C.H,
},
{
name="火花工作室",
font=25,
color=C.gray,
color=C.H,
},
{
name="Cosine",
font=25,
color=C.gray,
color=C.H,
},
{
name="沁音的芝麻王",
font=25,
color=C.gray,
color=C.H,
},
{
name="SuperJH",
font=25,
color=C.gray,
color=C.H,
},
{
name="天上_飞",
font=25,
color=C.gray,
color=C.H,
},
{
name="uiro",
font=25,
color=C.gray,
color=C.H,
},
{
name="宇酱",
font=25,
color=C.gray,
color=C.H,
},
{
name="[W*N]",
font=25,
color=C.gray,
color=C.H,
},
{
name="[Z*.]",
font=25,
color=C.gray,
color=C.H,
},
{
name="[*之]",
font=25,
color=C.gray,
color=C.H,
},
{
name="白衣",
font=25,
color=C.gray,
color=C.H,
},
{
name="给虫",
font=25,
color=C.gray,
color=C.H,
},
{
name="我永远喜欢樱花小姐",
font=25,
color=C.gray,
color=C.H,
},
{
name="xb",
font=25,
color=C.gray,
color=C.H,
},
{
name="flaribbit",
font=25,
color=C.dY,
color=C.dYellow,
},
{
name="工口发动机",
font=25,
color=C.gray,
color=C.H,
},
{
name="金海星",
font=25,
color=C.gray,
color=C.H,
},
{
name="tatianyi",
font=25,
color=C.gray,
color=C.H,
},
{
name="[*瞳]",
font=25,
color=C.gray,
color=C.H,
},
{
name="彼方云城",
font=25,
color=C.gray,
color=C.H,
},
{
name="pm250",
font=25,
color=C.gray,
color=C.H,
},
{
name="nanaya",
font=25,
color=C.gray,
color=C.H,
},
{
name="黑红蓝白",
font=25,
color=C.gray,
color=C.H,
},
{
name="细胞",
font=25,
color=C.gray,
color=C.H,
},
{
name="流光梦",
font=25,
color=C.dSky,
color=C.dNavy,
},
{
name="George2003",
font=25,
color=C.gray,
color=C.H,
},
{
name="竹月可安",
font=25,
color=C.gray,
color=C.H,
},
{
name="T7887库德里尔",
font=25,
color=C.gray,
color=C.H,
},
}

View File

@@ -13,11 +13,11 @@ local setFont,mStr=setFont,mStr
local TIME=TIME
local frameColorList={
[0]=COLOR.white,
COLOR.lGreen,
COLOR.lBlue,
COLOR.lPurple,
COLOR.lOrange,
[0]=COLOR.Z,
COLOR.lG,
COLOR.lB,
COLOR.lV,
COLOR.lO,
}
--local function drawCell(y,x,id)gc_draw(SKIN.curText[id],30*x-30,-30*y)end
local function stencilBoard()gc_rectangle("fill",0,-10,300,610)end
@@ -218,11 +218,11 @@ local function drawBoarders(P)
gc_rectangle("line",-16,-3,15,604)--B2b bar boarder
end
local attackColor={
{COLOR.dGray,COLOR.white},
{COLOR.gray,COLOR.white},
{COLOR.lPurple,COLOR.white},
{COLOR.lRed,COLOR.white},
{COLOR.dGreen,COLOR.cyan},
{COLOR.dH,COLOR.Z},
{COLOR.H,COLOR.Z},
{COLOR.lV,COLOR.Z},
{COLOR.lR,COLOR.Z},
{COLOR.dG,COLOR.C},
}
local function drawBuffer(P)
local h=0
@@ -261,7 +261,7 @@ local function drawB2Bbar(P)
local a,b=P.b2b,P.b2b1 if a>b then a,b=b,a end
gc_setColor(.8,1,.2)
gc_rectangle("fill",-14,599,11,-b*.6)
gc_setColor(P.b2b<40 and COLOR.white or P.b2b<=800 and COLOR.lRed or COLOR.lBlue)
gc_setColor(P.b2b<40 and COLOR.Z or P.b2b<=800 and COLOR.lR or COLOR.lB)
gc_rectangle("fill",-14,599,11,-a*.6)
if TIME()%.5<.3 then
gc_setColor(1,1,1)
@@ -684,8 +684,8 @@ function draw.norm(P)
gc_setColor(0,0,0,.3)
gc_print(P.score1,18,509)
gc_print(tm,18,539)
gc_setColor(COLOR.lYellow)gc_print(P.score1,20,510)
gc_setColor(COLOR.sky)gc_print(tm,20,540)
gc_setColor(COLOR.lY)gc_print(P.score1,20,510)
gc_setColor(COLOR.N)gc_print(tm,20,540)
drawFinesseCombo_norm(P)
drawLife(P.life)
@@ -825,8 +825,8 @@ function draw.norm_remote(P)
gc_setColor(0,0,0,.3)
gc_print(P.score1,18,509)
gc_print(tm,18,539)
gc_setColor(COLOR.lYellow)gc_print(P.score1,20,510)
gc_setColor(COLOR.sky)gc_print(tm,20,540)
gc_setColor(COLOR.lY)gc_print(P.score1,20,510)
gc_setColor(COLOR.N)gc_print(tm,20,540)
drawFinesseCombo_remote(P)
drawLife(P.life)

View File

@@ -117,16 +117,16 @@ local function tapBoard(x,y,key)
if checkBoard(b)then
state=2
time=TIME()-startTime
if time<1 then LOG.print("不是人",COLOR.lBlue)
elseif time<2 then LOG.print("还是人",COLOR.lBlue)
elseif time<3 then LOG.print("神仙",COLOR.lBlue)
elseif time<5 then LOG.print("太强了",COLOR.lBlue)
elseif time<7.5 then LOG.print("很强",COLOR.lBlue)
elseif time<10 then LOG.print("可以的",COLOR.lBlue)
elseif time<20 then LOG.print("马上入门了",COLOR.lBlue)
elseif time<30 then LOG.print("入门不远了",COLOR.lBlue)
elseif time<60 then LOG.print("多加练习",COLOR.lBlue)
else LOG.print("第一次玩?加油",COLOR.lBlue)
if time<1 then LOG.print("不是人",COLOR.lB)
elseif time<2 then LOG.print("还是人",COLOR.lB)
elseif time<3 then LOG.print("神仙",COLOR.lB)
elseif time<5 then LOG.print("太强了",COLOR.lB)
elseif time<7.5 then LOG.print("很强",COLOR.lB)
elseif time<10 then LOG.print("可以的",COLOR.lB)
elseif time<20 then LOG.print("马上入门了",COLOR.lB)
elseif time<30 then LOG.print("入门不远了",COLOR.lB)
elseif time<60 then LOG.print("多加练习",COLOR.lB)
else LOG.print("第一次玩?加油",COLOR.lB)
end
SFX.play("win")
return
@@ -201,66 +201,66 @@ end
local frontColor={
[0]={
COLOR.lRed,COLOR.lRed,COLOR.lRed,COLOR.lRed,
COLOR.lGreen,COLOR.lBlue,COLOR.lBlue,COLOR.lBlue,
COLOR.lGreen,COLOR.lYellow,COLOR.lPurple,COLOR.lPurple,
COLOR.lGreen,COLOR.lYellow,COLOR.lPurple,COLOR.lPurple,
COLOR.lR,COLOR.lR,COLOR.lR,COLOR.lR,
COLOR.lG,COLOR.lB,COLOR.lB,COLOR.lB,
COLOR.lG,COLOR.lY,COLOR.lV,COLOR.lV,
COLOR.lG,COLOR.lY,COLOR.lV,COLOR.lV,
},--Colored(rank)
{
COLOR.lRed,COLOR.lRed,COLOR.lRed,COLOR.lRed,
COLOR.lOrange,COLOR.lYellow,COLOR.lYellow,COLOR.lYellow,
COLOR.lOrange,COLOR.lGreen,COLOR.lBlue,COLOR.lBlue,
COLOR.lOrange,COLOR.lGreen,COLOR.lBlue,COLOR.lBlue,
COLOR.lR,COLOR.lR,COLOR.lR,COLOR.lR,
COLOR.lO,COLOR.lY,COLOR.lY,COLOR.lY,
COLOR.lO,COLOR.lG,COLOR.lB,COLOR.lB,
COLOR.lO,COLOR.lG,COLOR.lB,COLOR.lB,
},--Rainbow(rank)
{
COLOR.lRed,COLOR.lRed,COLOR.lRed,COLOR.lRed,
COLOR.lBlue,COLOR.lBlue,COLOR.lBlue,COLOR.lBlue,
COLOR.lGreen,COLOR.lYellow,COLOR.lPurple,COLOR.lPurple,
COLOR.lGreen,COLOR.lYellow,COLOR.lPurple,COLOR.lPurple,
COLOR.lR,COLOR.lR,COLOR.lR,COLOR.lR,
COLOR.lB,COLOR.lB,COLOR.lB,COLOR.lB,
COLOR.lG,COLOR.lY,COLOR.lV,COLOR.lV,
COLOR.lG,COLOR.lY,COLOR.lV,COLOR.lV,
},--Colored(row)
{
COLOR.white,COLOR.white,COLOR.white,COLOR.white,
COLOR.white,COLOR.white,COLOR.white,COLOR.white,
COLOR.white,COLOR.white,COLOR.white,COLOR.white,
COLOR.white,COLOR.white,COLOR.white,COLOR.white,
COLOR.Z,COLOR.Z,COLOR.Z,COLOR.Z,
COLOR.Z,COLOR.Z,COLOR.Z,COLOR.Z,
COLOR.Z,COLOR.Z,COLOR.Z,COLOR.Z,
COLOR.Z,COLOR.Z,COLOR.Z,COLOR.Z,
},--Gray
{
COLOR.white,COLOR.white,COLOR.white,COLOR.white,
COLOR.white,COLOR.white,COLOR.white,COLOR.white,
COLOR.white,COLOR.white,COLOR.white,COLOR.white,
COLOR.white,COLOR.white,COLOR.white,COLOR.white,
COLOR.Z,COLOR.Z,COLOR.Z,COLOR.Z,
COLOR.Z,COLOR.Z,COLOR.Z,COLOR.Z,
COLOR.Z,COLOR.Z,COLOR.Z,COLOR.Z,
COLOR.Z,COLOR.Z,COLOR.Z,COLOR.Z,
},--Black
}
local backColor={
[0]={
COLOR.dRed,COLOR.dRed,COLOR.dRed,COLOR.dRed,
COLOR.dGreen,COLOR.dBlue,COLOR.dBlue,COLOR.dBlue,
COLOR.dGreen,COLOR.dYellow,COLOR.dPurple,COLOR.dPurple,
COLOR.dGreen,COLOR.dYellow,COLOR.dPurple,COLOR.dPurple,
COLOR.dR,COLOR.dR,COLOR.dR,COLOR.dR,
COLOR.dG,COLOR.dB,COLOR.dB,COLOR.dB,
COLOR.dG,COLOR.dY,COLOR.dV,COLOR.dV,
COLOR.dG,COLOR.dY,COLOR.dV,COLOR.dV,
},--Colored(rank)
{
COLOR.dRed,COLOR.dRed,COLOR.dRed,COLOR.dRed,
COLOR.dOrange,COLOR.dYellow,COLOR.dYellow,COLOR.dYellow,
COLOR.dOrange,COLOR.dGreen,COLOR.dBlue,COLOR.dBlue,
COLOR.dOrange,COLOR.dGreen,COLOR.dBlue,COLOR.dBlue,
COLOR.dR,COLOR.dR,COLOR.dR,COLOR.dR,
COLOR.dO,COLOR.dY,COLOR.dY,COLOR.dY,
COLOR.dO,COLOR.dG,COLOR.dB,COLOR.dB,
COLOR.dO,COLOR.dG,COLOR.dB,COLOR.dB,
},--Rainbow(rank)
{
COLOR.dRed,COLOR.dRed,COLOR.dRed,COLOR.dRed,
COLOR.dBlue,COLOR.dBlue,COLOR.dBlue,COLOR.dBlue,
COLOR.dGreen,COLOR.dYellow,COLOR.dPurple,COLOR.dPurple,
COLOR.dGreen,COLOR.dYellow,COLOR.dPurple,COLOR.dPurple,
COLOR.dR,COLOR.dR,COLOR.dR,COLOR.dR,
COLOR.dB,COLOR.dB,COLOR.dB,COLOR.dB,
COLOR.dG,COLOR.dY,COLOR.dV,COLOR.dV,
COLOR.dG,COLOR.dY,COLOR.dV,COLOR.dV,
},--Colored(row)
{
COLOR.dGray,COLOR.dGray,COLOR.dGray,COLOR.dGray,
COLOR.dGray,COLOR.dGray,COLOR.dGray,COLOR.dGray,
COLOR.dGray,COLOR.dGray,COLOR.dGray,COLOR.dGray,
COLOR.dGray,COLOR.dGray,COLOR.dGray,COLOR.dGray,
COLOR.dH,COLOR.dH,COLOR.dH,COLOR.dH,
COLOR.dH,COLOR.dH,COLOR.dH,COLOR.dH,
COLOR.dH,COLOR.dH,COLOR.dH,COLOR.dH,
COLOR.dH,COLOR.dH,COLOR.dH,COLOR.dH,
},--Gray
{
COLOR.black,COLOR.black,COLOR.black,COLOR.black,
COLOR.black,COLOR.black,COLOR.black,COLOR.black,
COLOR.black,COLOR.black,COLOR.black,COLOR.black,
COLOR.black,COLOR.black,COLOR.black,COLOR.black,
COLOR.D,COLOR.D,COLOR.D,COLOR.D,
COLOR.D,COLOR.D,COLOR.D,COLOR.D,
COLOR.D,COLOR.D,COLOR.D,COLOR.D,
COLOR.D,COLOR.D,COLOR.D,COLOR.D,
},--Black
}
function scene.draw()
@@ -316,7 +316,7 @@ end
local function Gaming()return state==1 end
scene.widgetList={
WIDGET.newButton{name="reset", x=160,y=100,w=180,h=100,color="lGreen",font=40,code=pressKey"space"},
WIDGET.newButton{name="reset", x=160,y=100,w=180,h=100,color="lG", font=40,code=pressKey"space"},
WIDGET.newSlider{name="color", x=110,y=250,w=170,unit=4,show=false,font=30,disp=function()return color end, code=function(v)if state~=1 then color=v end end,hide=Gaming},
WIDGET.newSwitch{name="blind", x=240,y=330,w=60, font=40,disp=function()return blind end, code=pressKey"w", hide=Gaming},
WIDGET.newSwitch{name="slide", x=240,y=420,w=60, font=40,disp=function()return slide end, code=pressKey"e", hide=Gaming},

View File

@@ -38,7 +38,7 @@ local score
1/2/3/...: 2/4/8/... tile
]]
local tileColor={
[-1]=COLOR.black,
[-1]=COLOR.D,
[0]={.5,.3,.3},
{.93,.89,.85},
{.93,.88,.78},
@@ -370,8 +370,8 @@ function scene.draw()
"Y"
)or(
repeater.seq[i]==repeater.last[i]and
"gray"or
"white"
"H"or
"Z"
)
])
rectangle("line",990,305+60*i,220,50)
@@ -405,16 +405,16 @@ function scene.draw()
local N=board[i]
if i~=prevPos or prevSpawnTime==1 then
if not blind or i==prevPos then
setColor(tileColor[N]or COLOR.black)
setColor(tileColor[N]or COLOR.D)
rectangle("fill",x*160+163,y*160-117,154,154,15)
if N>=0 then
setColor(N<3 and COLOR.black or COLOR.W)
setColor(N<3 and COLOR.D or COLOR.Z)
local fontSize=tileFont[N]
setFont(fontSize)
mStr(tileName[N],320+(x-.5)*160,40+(y-.5)*160-fontSize*.7)
end
else
setColor(COLOR.gray)
setColor(COLOR.H)
rectangle("fill",x*160+163,y*160-117,154,154,15)
end
else
@@ -480,19 +480,19 @@ function scene.draw()
end
scene.widgetList={
WIDGET.newButton{name="reset", x=155,y=100,w=180,h=100,color="lGreen",font=40,code=pressKey"r"},
WIDGET.newButton{name="reset", x=155,y=100,w=180,h=100,color="lG",font=40,code=pressKey"r"},
WIDGET.newSwitch{name="blind", x=240,y=300,w=60, font=40,disp=function()return blind end, code=pressKey"q",hide=function()return state==1 end},
WIDGET.newSwitch{name="tapControl", x=240,y=370,w=60, font=40,disp=function()return tapControl end, code=pressKey"w",hide=function()return state==1 end},
WIDGET.newKey{name="up", x=155,y=460,w=100,fText="",font=50,color="yellow",code=pressKey"up",hide=function()return tapControl end},
WIDGET.newKey{name="down", x=155,y=660,w=100,fText="",font=50,color="yellow",code=pressKey"down",hide=function()return tapControl end},
WIDGET.newKey{name="left", x=55,y=560,w=100,fText="",font=50,color="yellow",code=pressKey"left",hide=function()return tapControl end},
WIDGET.newKey{name="right", x=255,y=560,w=100,fText="",font=50,color="yellow",code=pressKey"right",hide=function()return tapControl end},
WIDGET.newKey{name="skip", x=155,y=400,w=100,font=20,color="yellow",code=pressKey"space",hide=function()return state~=1 or not skipper.cd or skipper.cd>0 end},
WIDGET.newKey{name="record1", x=1100,y=390,w=220,h=50,fText="",color="gray",code=pressKey"1",hide=function()return state==2 end},
WIDGET.newKey{name="record2", x=1100,y=450,w=220,h=50,fText="",color="gray",code=pressKey"2",hide=function()return state==2 end},
WIDGET.newKey{name="replay1", x=1245,y=390,w=50,fText="!",color="green",code=pressKey"c1",hide=function()return state==2 or #repeater.seq[1]==0 end},
WIDGET.newKey{name="replay2", x=1245,y=450,w=50,fText="!",color="green",code=pressKey"c2",hide=function()return state==2 or #repeater.seq[2]==0 end},
WIDGET.newKey{name="up", x=155,y=460,w=100,fText="",font=50,color="Y",code=pressKey"up",hide=function()return tapControl end},
WIDGET.newKey{name="down", x=155,y=660,w=100,fText="",font=50,color="Y",code=pressKey"down",hide=function()return tapControl end},
WIDGET.newKey{name="left", x=55,y=560,w=100,fText="",font=50,color="Y",code=pressKey"left",hide=function()return tapControl end},
WIDGET.newKey{name="right", x=255,y=560,w=100,fText="",font=50,color="Y",code=pressKey"right",hide=function()return tapControl end},
WIDGET.newKey{name="skip", x=155,y=400,w=100,font=20,color="Y",code=pressKey"space",hide=function()return state~=1 or not skipper.cd or skipper.cd>0 end},
WIDGET.newKey{name="record1", x=1100,y=390,w=220,h=50,fText="",color="H",code=pressKey"1",hide=function()return state==2 end},
WIDGET.newKey{name="record2", x=1100,y=450,w=220,h=50,fText="",color="H",code=pressKey"2",hide=function()return state==2 end},
WIDGET.newKey{name="replay1", x=1245,y=390,w=50,fText="!",color="G",code=pressKey"c1",hide=function()return state==2 or #repeater.seq[1]==0 end},
WIDGET.newKey{name="replay2", x=1245,y=450,w=50,fText="!",color="G",code=pressKey"c2",hide=function()return state==2 or #repeater.seq[2]==0 end},
WIDGET.newButton{name="back", x=1140,y=640,w=170,h=80,font=40,code=backScene},
}

View File

@@ -118,7 +118,7 @@ end
scene.widgetList={
WIDGET.newSelector{name="level", x=640,y=640,w=200,list={"A_Z","Z_A","Tech1","Tech2","KeyTest1","KeyTest2","Hello","Roll1","Roll2","Roll3","ZZZ","ZXZX","ZMZM","Stair","Stair2","Stair3","BPW"},disp=function()return levelName end,code=function(i)levelName=i;targetString=levels[i]end,hide=function()return state>0 end},
WIDGET.newButton{name="reset", x=160,y=100,w=180,h=100,color="lGreen",font=40,code=pressKey"space"},
WIDGET.newButton{name="reset", x=160,y=100,w=180,h=100,color="lG",font=40,code=pressKey"space"},
WIDGET.newButton{name="keyboard", x=160,y=210,w=180,h=100,code=function()love.keyboard.setTextInput(true,0,select(2,SCR.xOy:transformPoint(0,500)),1,1)end,hide=not MOBILE},
WIDGET.newButton{name="back", x=1140,y=640,w=170,h=80,font=40,code=backScene},
}

View File

@@ -235,7 +235,7 @@ function scene.mouseDown(x,y)
end
scene.widgetList={
WIDGET.newButton{name="reset",x=1140,y=540,w=170,h=80,font=40,color="lGreen",code=restart},
WIDGET.newButton{name="reset",x=1140,y=540,w=170,h=80,font=40,color="lG",code=restart},
WIDGET.newButton{name="back",x=1140,y=640,w=170,h=80,font=40,code=backScene},
}

View File

@@ -83,15 +83,15 @@ end
local scoreColor={
"white",--0
"aqua",--20
"sky",--40
"navy",--40
"blue",--60
"grape",--80
"pink",--100
"purple",--80
"wine",--100
"red","fire","orange","yellow","lAqua",--200
"lSky","lBlue","lGrape","lPink","lRed",--300
"lFire","lOrange","lYellow","dAqua","dSky",--400
"dBlue","dGrape","dPink","dRed","dFire",--500
"dYellow","lGray","gray","dGray",--before 600, black after
"lNavy","lBlue","lPurple","lWine","lRed",--300
"lFire","lOrange","lYellow","dAqua","dNavy",--400
"dBlue","dPurple","dWine","dRed","dFire",--500
"dYellow","lH","H","dH",--before 600, black after
}
function scene.draw()
--Spawn area

View File

@@ -6,9 +6,9 @@ local C=COLOR
local inputBox=WIDGET.newInputBox{name="input",x=40,y=650,w=1200,h=50}
local outputBox=WIDGET.newTextBox{name="output",x=40,y=30,w=1200,h=600,font=25,lineH=25,fix=true}
local function log(str)outputBox:push(str)end
log{C.lGrape,"Techmino Console"}
log{C.lBlue,"©2020 26F Studio some rights reserved"}
log{C.dRed,"DO NOT RUN ANY CODE YOU DON'T UNDERSTAND"}
log{C.lP,"Techmino Console"}
log{C.lB,"©2020 26F Studio some rights reserved"}
log{C.dR,"DO NOT RUN ANY CODE YOU DON'T UNDERSTAND"}
local history,hisPtr={"?"}
local the_secret=(14^2*10)..(2*11)
@@ -272,10 +272,10 @@ do--commands.help(arg)
log"Use help [page] to view more commands,"
log"or help [command_name] for details of a command."
log""
log{C.lPink,"Page ",C.lG,page,C.lPink," of ",C.lG,maxPage}
log{C.lW,"Page ",C.lG,page,C.lW," of ",C.lG,maxPage}
for i=pageSize*(page-1)+1,math.min(pageSize*page,#command_help_list)do
local cmd=command_help_list[i]
log{C.W,cmd,C.gray," "..command_help_messages[cmd].description}
log{C.Z,cmd,C.H," "..command_help_messages[cmd].description}
end
else
log{C.R,"Invalid page number. Must be between 1 and "..maxPage.." (inclusive)."}
@@ -313,7 +313,7 @@ function commands.url(url)
if url~=""then
local res,err=pcall(love.system.openURL,url)
if not res then
log{C.R,"[ERR] ",C.W,err}
log{C.R,"[ERR] ",C.Z,err}
end
else
log{C.aqua,"Usage: url [url]"}
@@ -631,14 +631,14 @@ function scene.keyDown(k)
setfenv(code,userG)
code,err=pcall(code)
if not code then
log{C.R,"[ERR] ",C.W,err}
log{C.R,"[ERR] ",C.Z,err}
end
else
log{C.R,"[SYNTAX ERR] ",C.W,err}
log{C.R,"[SYNTAX ERR] ",C.Z,err}
end
else
--Execute builtin command
log{C.lSea,"> "..input}
log{C.lS,"> "..input}
local p=input:find(" ")
local cmd,arg
if p then
@@ -689,7 +689,7 @@ function scene.keyDown(k)
log(">Commands start with '"..str.."' :")
table.sort(res)
for i=1,#res do
log{COLOR.lGray,res[i]}
log{COLOR.lH,res[i]}
end
elseif #res==1 then
inputBox.value=res[1]

View File

@@ -174,12 +174,12 @@ setmetatable(backColor,backColor)
function scene.draw()
--Background
local lv,height=int(camY/700),camY%700
gc.setColor(backColor[lv+1]or COLOR.black)
gc.setColor(backColor[lv+1]or COLOR.D)
gc.rectangle("fill",0,720,1280,height-700)
gc.setColor(backColor[lv+2]or COLOR.black)
gc.setColor(backColor[lv+2]or COLOR.D)
gc.rectangle("fill",0,height+20,1280,-height-20)
if height-680>0 then
gc.setColor(backColor[lv+3]or COLOR.black)
gc.setColor(backColor[lv+3]or COLOR.D)
gc.rectangle("fill",0,height-680,1280,680-height)
end

View File

@@ -277,7 +277,7 @@ function scene.draw()
end
scene.widgetList={
WIDGET.newButton{name="reset", x=155,y=100,w=180,h=100,color="lGreen",font=40,code=pressKey"r"},
WIDGET.newButton{name="reset", x=155,y=100,w=180,h=100,color="lG",font=40,code=pressKey"r"},
WIDGET.newButton{name="mode", x=155,y=220,w=180,h=100,font=40,code=pressKey"q",hide=function()return state~=0 end},
WIDGET.newSwitch{name="arcade", x=230,y=330,font=40,disp=function()return arcade end,code=pressKey"w",hide=function()return state~=0 end},
WIDGET.newButton{name="back", x=1140,y=640,w=170,h=80,font=40,code=backScene},

View File

@@ -165,7 +165,7 @@ function scene.draw()
end
scene.widgetList={
WIDGET.newKey{name="back",x=1140,y=60,w=170,h=80,color="black",font=40,code=pressKey"escape"},
WIDGET.newKey{name="back",x=1140,y=60,w=170,h=80,color="D",font=40,code=pressKey"escape"},
}
return scene

View File

@@ -168,7 +168,7 @@ function scene.draw()
end
scene.widgetList={
WIDGET.newButton{name="reset", x=160,y=100,w=180,h=100,color="lGreen",font=40,code=pressKey"space",hide=function()return state==0 end},
WIDGET.newButton{name="reset", x=160,y=100,w=180,h=100,color="lG",font=40,code=pressKey"space",hide=function()return state==0 end},
WIDGET.newSlider{name="rank", x=130,y=250,w=150,unit=3,show=false,font=40,disp=function()return rank-3 end,code=function(v)rank=v+3 end,hide=function()return state>0 end},
WIDGET.newSwitch{name="blind", x=240,y=330,w=60, font=40,disp=function()return blind end, code=pressKey"q",hide=function()return state==1 end},
WIDGET.newSwitch{name="disappear", x=240,y=420,w=60, font=40,disp=function()return disappear end,code=pressKey"w",hide=function()return state==1 end},

View File

@@ -73,7 +73,7 @@ function scene.draw()
end
scene.widgetList={
WIDGET.newKey{name="tap", x=640,y=540,w=626,h=260,fText="TAP",color="white",font=100,code=pressKey"button"},
WIDGET.newKey{name="tap", x=640,y=540,w=626,h=260,fText="TAP",color="Z",font=100,code=pressKey"button"},
WIDGET.newButton{name="back", x=1140,y=640,w=170,h=80,font=40,code=backScene},
}

View File

@@ -269,7 +269,7 @@ function scene.draw()
local N=board[i][j]
if N>0 then
if hide and N>maxNew then
setColor(COLOR.dGray)
setColor(COLOR.dH)
rectangle("fill",320+j*128-128,40+i*128-128,128,128)
setColor(1,1,1,.3)
mStr("?",j*128+256,i*128-75)
@@ -299,7 +299,7 @@ function scene.draw()
end
scene.widgetList={
WIDGET.newButton{name="reset", x=160,y=100,w=180,h=100,color="lGreen",font=40,code=pressKey"r"},
WIDGET.newButton{name="reset", x=160,y=100,w=180,h=100,color="lG",font=40,code=pressKey"r"},
WIDGET.newSwitch{name="next", x=240,y=235,font=40,disp=function()return nexts end,code=pressKey"q",hide=function()return state==1 end},
WIDGET.newSwitch{name="blind", x=240,y=305,font=40,disp=function()return blind end,code=pressKey"w",hide=function()return state==1 end},
WIDGET.newSwitch{name="fast", x=240,y=375,font=30,disp=function()return fast end,code=pressKey"e",hide=function()return state==1 end},

View File

@@ -69,7 +69,7 @@ function scene.keyDown(key)
str=str.."!"
if #MISSION>0 then str=str..copyMission()end
sys.setClipboardText(str.."!"..copyBoards().."!")
LOG.print(text.exportSuccess,COLOR.green)
LOG.print(text.exportSuccess,COLOR.G)
elseif key=="v"and kb.isDown("lctrl","rctrl")or key=="cV"then
local str=sys.getClipboardText()
local args=SPLITSTR(str:sub((str:find(":")or 0)+1),"!")
@@ -85,9 +85,9 @@ function scene.keyDown(key)
if not pasteBoard(args[i],i-3)and i<#args then goto THROW_fail end
end
freshMiniFieldVisible()
LOG.print(text.importSuccess,COLOR.green)
LOG.print(text.importSuccess,COLOR.G)
do return end
::THROW_fail::LOG.print(text.dataCorrupted,COLOR.red)
::THROW_fail::LOG.print(text.dataCorrupted,COLOR.R)
elseif key=="escape"then
FILE.save(CUSTOMENV,"conf/customEnv","q")
SCN.back()
@@ -147,32 +147,32 @@ end
scene.widgetList={
WIDGET.newText{name="title", x=520, y=5,font=70,align="R"},
WIDGET.newText{name="subTitle", x=530, y=50,font=35,align="L",color="gray"},
WIDGET.newText{name="defSeq", x=330, y=550,align="L",color="gray",hide=function()return BAG[1]end},
WIDGET.newText{name="noMsn", x=610, y=550,align="L",color="gray",hide=function()return MISSION[1]end},
WIDGET.newText{name="subTitle", x=530, y=50,font=35,align="L",color="H"},
WIDGET.newText{name="defSeq", x=330, y=550,align="L",color="H",hide=function()return BAG[1]end},
WIDGET.newText{name="noMsn", x=610, y=550,align="L",color="H",hide=function()return MISSION[1]end},
--Basic
WIDGET.newSelector{name="drop", x=170, y=150,w=220,color="orange", list={0,.125,.25,.5,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99},disp=CUSval("drop"),code=CUSsto("drop")},
WIDGET.newSelector{name="lock", x=170, y=230,w=220,color="red", list={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99}, disp=CUSval("lock"),code=CUSsto("lock")},
WIDGET.newSelector{name="wait", x=410, y=150,w=220,color="green", list={0,1,2,3,4,5,6,7,8,10,15,20,30,60}, disp=CUSval("wait"),code=CUSsto("wait")},
WIDGET.newSelector{name="fall", x=410, y=230,w=220,color="yellow", list={0,1,2,3,4,5,6,7,8,10,15,20,30,60}, disp=CUSval("fall"),code=CUSsto("fall")},
WIDGET.newSelector{name="drop", x=170, y=150,w=220,color="O",list={0,.125,.25,.5,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99},disp=CUSval("drop"),code=CUSsto("drop")},
WIDGET.newSelector{name="lock", x=170, y=230,w=220,color="R",list={0,1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,25,30,40,60,180,1e99}, disp=CUSval("lock"),code=CUSsto("lock")},
WIDGET.newSelector{name="wait", x=410, y=150,w=220,color="G",list={0,1,2,3,4,5,6,7,8,10,15,20,30,60}, disp=CUSval("wait"),code=CUSsto("wait")},
WIDGET.newSelector{name="fall", x=410, y=230,w=220,color="Y",list={0,1,2,3,4,5,6,7,8,10,15,20,30,60}, disp=CUSval("fall"),code=CUSsto("fall")},
--Else
WIDGET.newSelector{name="bg", x=1070, y=150,w=250,color="yellow",list=BG.getList(),disp=CUSval("bg"), code=function(i)CUSTOMENV.bg=i BG.set(i)end},
WIDGET.newSelector{name="bgm", x=1070, y=230,w=250,color="yellow", list=BGM.getList(), disp=CUSval("bgm"), code=function(i)CUSTOMENV.bgm=i BGM.play(i)end},
WIDGET.newSelector{name="bg", x=1070, y=150,w=250,color="Y",list=BG.getList(),disp=CUSval("bg"), code=function(i)CUSTOMENV.bg=i BG.set(i)end},
WIDGET.newSelector{name="bgm", x=1070, y=230,w=250,color="Y",list=BGM.getList(), disp=CUSval("bgm"), code=function(i)CUSTOMENV.bgm=i BGM.play(i)end},
--Copy/Paste/Start
WIDGET.newButton{name="copy", x=1070, y=310,w=310,h=70,color="lRed", font=25,code=pressKey"cC"},
WIDGET.newButton{name="paste", x=1070, y=390,w=310,h=70,color="lBlue", font=25,code=pressKey"cV"},
WIDGET.newButton{name="clear", x=1070, y=470,w=310,h=70,color="lYellow",font=35,code=pressKey"return"},
WIDGET.newButton{name="puzzle",x=1070, y=550,w=310,h=70,color="lMagenta",font=35,code=pressKey"return2",hide=function()return not initField end},
WIDGET.newButton{name="copy", x=1070, y=310,w=310,h=70,color="lR",font=25,code=pressKey"cC"},
WIDGET.newButton{name="paste", x=1070, y=390,w=310,h=70,color="lB",font=25,code=pressKey"cV"},
WIDGET.newButton{name="clear", x=1070, y=470,w=310,h=70,color="lY",font=35,code=pressKey"return"},
WIDGET.newButton{name="puzzle",x=1070, y=550,w=310,h=70,color="lM",font=35,code=pressKey"return2",hide=function()return not initField end},
--More
WIDGET.newKey{name="advance", x=730, y=190,w=220,h=90,color="red", font=35,code=goScene"custom_advance"},
WIDGET.newKey{name="mod", x=730, y=310,w=220,h=90,color="white", font=35,code=goScene"mod"},
WIDGET.newKey{name="field", x=170, y=640,w=240,h=80,color="aqua", font=25,code=goScene"custom_field"},
WIDGET.newKey{name="sequence", x=450, y=640,w=240,h=80,color="pink", font=25,code=goScene"custom_sequence"},
WIDGET.newKey{name="mission", x=730, y=640,w=240,h=80,color="sky", font=25,code=goScene"custom_mission"},
WIDGET.newKey{name="advance", x=730, y=190,w=220,h=90,color="R",font=35,code=goScene"custom_advance"},
WIDGET.newKey{name="mod", x=730, y=310,w=220,h=90,color="Z",font=35,code=goScene"mod"},
WIDGET.newKey{name="field", x=170, y=640,w=240,h=80,color="A",font=25,code=goScene"custom_field"},
WIDGET.newKey{name="sequence", x=450, y=640,w=240,h=80,color="W",font=25,code=goScene"custom_sequence"},
WIDGET.newKey{name="mission", x=730, y=640,w=240,h=80,color="N",font=25,code=goScene"custom_mission"},
WIDGET.newButton{name="back", x=1140, y=640, w=170,h=80,font=40,code=pressKey"escape"},
}

View File

@@ -11,7 +11,7 @@ local scene={}
scene.widgetList={
WIDGET.newText{name="title", x=520,y=5,font=70,align="R"},
WIDGET.newText{name="subTitle", x=530,y=50,font=35,align="L",color="gray"},
WIDGET.newText{name="subTitle", x=530,y=50,font=35,align="L",color="H"},
--Control
WIDGET.newSlider{name="nextCount", x=200, y=150, w=200,unit=6,disp=CUSval("nextCount"),code=CUSsto("nextCount")},
@@ -20,12 +20,12 @@ scene.widgetList={
WIDGET.newSwitch{name="phyHold", x=350, y=430, disp=CUSval("phyHold"), code=CUSrev("phyHold"),hide=function()return CUSTOMENV.holdCount==0 end},
--Rule
WIDGET.newSelector{name="fieldH", x=270, y=520, w=260,color="sky", list=sList.fieldH, disp=CUSval("fieldH"),code=CUSsto("fieldH")},
WIDGET.newSelector{name="visible", x=840, y=60, w=260,color="lBlue",list=sList.visible, disp=CUSval("visible"),code=CUSsto("visible")},
WIDGET.newSelector{name="freshLimit",x=840, y=160, w=260,color="purple",list=sList.freshLimit, disp=CUSval("freshLimit"),code=CUSsto("freshLimit")},
WIDGET.newSelector{name="opponent", x=1120, y=60, w=260,color="red", list=sList.opponent, disp=CUSval("opponent"),code=CUSsto("opponent")},
WIDGET.newSelector{name="life", x=1120, y=160, w=260,color="red", list=sList.life, disp=CUSval("life"),code=CUSsto("life")},
WIDGET.newSelector{name="pushSpeed",x=1120, y=260, w=260,color="red", list=sList.pushSpeed, disp=CUSval("pushSpeed"),code=CUSsto("pushSpeed")},
WIDGET.newSelector{name="fieldH", x=270, y=520, w=260,color="N",list=sList.fieldH, disp=CUSval("fieldH"),code=CUSsto("fieldH")},
WIDGET.newSelector{name="visible", x=840, y=60, w=260,color="lB",list=sList.visible, disp=CUSval("visible"),code=CUSsto("visible")},
WIDGET.newSelector{name="freshLimit",x=840, y=160, w=260,color="V",list=sList.freshLimit, disp=CUSval("freshLimit"),code=CUSsto("freshLimit")},
WIDGET.newSelector{name="opponent", x=1120, y=60, w=260,color="R",list=sList.opponent, disp=CUSval("opponent"),code=CUSsto("opponent")},
WIDGET.newSelector{name="life", x=1120, y=160, w=260,color="R",list=sList.life, disp=CUSval("life"),code=CUSsto("life")},
WIDGET.newSelector{name="pushSpeed",x=1120, y=260, w=260,color="R",list=sList.pushSpeed, disp=CUSval("pushSpeed"),code=CUSsto("pushSpeed")},
WIDGET.newSwitch{name="ospin", x=870, y=350, font=30,disp=CUSval("ospin"), code=CUSrev("ospin")},
WIDGET.newSwitch{name="fineKill", x=870, y=440, font=20,disp=CUSval("fineKill"),code=CUSrev("fineKill")},

View File

@@ -227,15 +227,15 @@ function scene.keyDown(key)
SFX.play("fall",.8)
elseif key=="c"and kb.isDown("lctrl","rctrl")or key=="cC"then
sys.setClipboardText("Techmino Field:"..copyBoard(page))
LOG.print(text.exportSuccess,COLOR.green)
LOG.print(text.exportSuccess,COLOR.G)
elseif key=="v"and kb.isDown("lctrl","rctrl")or key=="cV"then
local str=sys.getClipboardText()
local p=string.find(str,":")--ptr*
if p then str=sub(str,p+1)end
if pasteBoard(str,page)then
LOG.print(text.importSuccess,COLOR.green)
LOG.print(text.importSuccess,COLOR.G)
else
LOG.print(text.dataCorrupted,COLOR.red)
LOG.print(text.dataCorrupted,COLOR.R)
end
elseif key=="tab"or key=="sTab"then
if key=="sTab"or kb.isDown("lshift","rshift")then
@@ -424,50 +424,50 @@ end
local function setPen(i)return function()penType=i end end
scene.widgetList={
WIDGET.newText{name="title", x=1020,y=5,font=70,align="R"},
WIDGET.newText{name="subTitle", x=1030,y=50,font=35,align="L",color="gray"},
WIDGET.newText{name="subTitle", x=1030,y=50,font=35,align="L",color="H"},
WIDGET.newButton{name="b1", x=580, y=130,w=75,fText="",color=COLOR.red, code=setPen(1)},--B1
WIDGET.newButton{name="b2", x=660, y=130,w=75,fText="",color=COLOR.fire, code=setPen(2)},--B2
WIDGET.newButton{name="b3", x=740, y=130,w=75,fText="",color=COLOR.orange, code=setPen(3)},--B3
WIDGET.newButton{name="b4", x=820, y=130,w=75,fText="",color=COLOR.yellow, code=setPen(4)},--B4
WIDGET.newButton{name="b5", x=900, y=130,w=75,fText="",color=COLOR.lime, code=setPen(5)},--B5
WIDGET.newButton{name="b6", x=980, y=130,w=75,fText="",color=COLOR.grass, code=setPen(6)},--B6
WIDGET.newButton{name="b7", x=1060, y=130,w=75,fText="",color=COLOR.green, code=setPen(7)},--B7
WIDGET.newButton{name="b8", x=1140, y=130,w=75,fText="",color=COLOR.aqua, code=setPen(8)},--B8
WIDGET.newButton{name="b1", x=580, y=130,w=75,fText="",color="R",code=setPen(1)},--B1
WIDGET.newButton{name="b2", x=660, y=130,w=75,fText="",color="F",code=setPen(2)},--B2
WIDGET.newButton{name="b3", x=740, y=130,w=75,fText="",color="O",code=setPen(3)},--B3
WIDGET.newButton{name="b4", x=820, y=130,w=75,fText="",color="Y",code=setPen(4)},--B4
WIDGET.newButton{name="b5", x=900, y=130,w=75,fText="",color="L",code=setPen(5)},--B5
WIDGET.newButton{name="b6", x=980, y=130,w=75,fText="",color="J",code=setPen(6)},--B6
WIDGET.newButton{name="b7", x=1060, y=130,w=75,fText="",color="G",code=setPen(7)},--B7
WIDGET.newButton{name="b8", x=1140, y=130,w=75,fText="",color="A",code=setPen(8)},--B8
WIDGET.newButton{name="b9", x=580, y=210,w=75,fText="",color=COLOR.cyan, code=setPen(9)},--B9
WIDGET.newButton{name="b10", x=660, y=210,w=75,fText="",color=COLOR.sky, code=setPen(10)},--B10
WIDGET.newButton{name="b11", x=740, y=210,w=75,fText="",color=COLOR.sea, code=setPen(11)},--B11
WIDGET.newButton{name="b12", x=820, y=210,w=75,fText="",color=COLOR.blue, code=setPen(12)},--B12
WIDGET.newButton{name="b13", x=900, y=210,w=75,fText="",color=COLOR.purple, code=setPen(13)},--B13
WIDGET.newButton{name="b14", x=980, y=210,w=75,fText="",color=COLOR.grape, code=setPen(14)},--B14
WIDGET.newButton{name="b15", x=1060, y=210,w=75,fText="",color=COLOR.magenta,code=setPen(15)},--B15
WIDGET.newButton{name="b16", x=1140, y=210,w=75,fText="",color=COLOR.pink, code=setPen(16)},--B16
WIDGET.newButton{name="b9", x=580, y=210,w=75,fText="",color="C",code=setPen(9)},--B9
WIDGET.newButton{name="b10", x=660, y=210,w=75,fText="",color="N",code=setPen(10)},--B10
WIDGET.newButton{name="b11", x=740, y=210,w=75,fText="",color="S",code=setPen(11)},--B11
WIDGET.newButton{name="b12", x=820, y=210,w=75,fText="",color="B",code=setPen(12)},--B12
WIDGET.newButton{name="b13", x=900, y=210,w=75,fText="",color="V",code=setPen(13)},--B13
WIDGET.newButton{name="b14", x=980, y=210,w=75,fText="",color="P",code=setPen(14)},--B14
WIDGET.newButton{name="b15", x=1060, y=210,w=75,fText="",color="M",code=setPen(15)},--B15
WIDGET.newButton{name="b16", x=1140, y=210,w=75,fText="",color="W",code=setPen(16)},--B16
WIDGET.newButton{name="b17", x=580, y=290,w=75,fText="[ ]",color="dGray", code=setPen(17)},--BONE
WIDGET.newButton{name="b18", x=660, y=290,w=75,fText="N", color="black", code=setPen(18)},--HIDE
WIDGET.newButton{name="b19", x=740, y=290,w=75,fText="B", color="lYellow",code=setPen(19)},--BOMB
WIDGET.newButton{name="b20", x=820, y=290,w=75,fText="_", color="gray", code=setPen(20)},--GB1
WIDGET.newButton{name="b21", x=900, y=290,w=75,fText="_", color="lGray", code=setPen(21)},--GB2
WIDGET.newButton{name="b22", x=980, y=290,w=75,fText="_", color="dPurple",code=setPen(22)},--GB3
WIDGET.newButton{name="b23", x=1060, y=290,w=75,fText="_", color="dRed", code=setPen(23)},--GB4
WIDGET.newButton{name="b24", x=1140, y=290,w=75,fText="_", color="dGreen", code=setPen(24)},--GB5
WIDGET.newButton{name="b17", x=580, y=290,w=75,fText="[ ]",color="dH", code=setPen(17)},--BONE
WIDGET.newButton{name="b18", x=660, y=290,w=75,fText="N", color="D", code=setPen(18)},--HIDE
WIDGET.newButton{name="b19", x=740, y=290,w=75,fText="B", color="lY", code=setPen(19)},--BOMB
WIDGET.newButton{name="b20", x=820, y=290,w=75,fText="_", color="H", code=setPen(20)},--GB1
WIDGET.newButton{name="b21", x=900, y=290,w=75,fText="_", color="lH", code=setPen(21)},--GB2
WIDGET.newButton{name="b22", x=980, y=290,w=75,fText="_", color="dV", code=setPen(22)},--GB3
WIDGET.newButton{name="b23", x=1060, y=290,w=75,fText="_", color="dR", code=setPen(23)},--GB4
WIDGET.newButton{name="b24", x=1140, y=290,w=75,fText="_", color="dG", code=setPen(24)},--GB5
WIDGET.newButton{name="any", x=600, y=400,w=120,color="lGray", font=40,code=setPen(0)},
WIDGET.newButton{name="space", x=730, y=400,w=120,color="gray", font=65,code=setPen(-1)},
WIDGET.newButton{name="smartPen", x=860, y=400,w=120,color="lGreen", font=30,code=setPen(-2)},
WIDGET.newButton{name="pushLine", x=990, y=400,w=120,h=120,color="lYellow",font=20,code=pressKey"k"},
WIDGET.newButton{name="delLine", x=1120, y=400,w=120,h=120,color="lYellow",font=20,code=pressKey"l"},
WIDGET.newButton{name="any", x=600, y=400,w=120,color="lH", font=40,code=setPen(0)},
WIDGET.newButton{name="space", x=730, y=400,w=120,color="H", font=65,code=setPen(-1)},
WIDGET.newButton{name="smartPen", x=860, y=400,w=120,color="lG", font=30,code=setPen(-2)},
WIDGET.newButton{name="pushLine", x=990, y=400,w=120,h=120,color="lY",font=20,code=pressKey"k"},
WIDGET.newButton{name="delLine", x=1120, y=400,w=120,h=120,color="lY",font=20,code=pressKey"l"},
WIDGET.newButton{name="copy", x=730, y=530,w=120,color="lRed", font=35,code=pressKey"cC"},
WIDGET.newButton{name="paste", x=860, y=530,w=120,color="lBlue", font=35,code=pressKey"cV"},
WIDGET.newButton{name="clear", x=990, y=530,w=120,color="white", font=40,code=pressKey"delete"},
WIDGET.newButton{name="copy", x=730, y=530,w=120,color="lR", font=35,code=pressKey"cC"},
WIDGET.newButton{name="paste", x=860, y=530,w=120,color="lB", font=35,code=pressKey"cV"},
WIDGET.newButton{name="clear", x=990, y=530,w=120,color="Z", font=40,code=pressKey"delete"},
WIDGET.newSwitch{name="demo", x=755, y=640,disp=function()return demo end,code=function()demo=not demo end},
WIDGET.newButton{name="newPage", x=100, y=110,w=160,h=110,color="sky",font=20,code=pressKey"n"},
WIDGET.newButton{name="delPage", x=100, y=230,w=160,h=110,color="lRed",font=20,code=pressKey"m"},
WIDGET.newButton{name="prevPage", x=100, y=350,w=160,h=110,color="lGreen",font=20,code=pressKey"sTab",hide=function()return page==1 end},
WIDGET.newButton{name="nextPage", x=100, y=470,w=160,h=110,color="lGreen",font=20,code=pressKey"tab",hide=function()return page==#FIELD end},
WIDGET.newButton{name="newPage", x=100, y=110,w=160,h=110,color="N",font=20,code=pressKey"n"},
WIDGET.newButton{name="delPage", x=100, y=230,w=160,h=110,color="lR",font=20,code=pressKey"m"},
WIDGET.newButton{name="prevPage", x=100, y=350,w=160,h=110,color="lG",font=20,code=pressKey"sTab",hide=function()return page==1 end},
WIDGET.newButton{name="nextPage", x=100, y=470,w=160,h=110,color="lG",font=20,code=pressKey"tab",hide=function()return page==#FIELD end},
WIDGET.newButton{name="back", x=1140, y=640, w=170,h=80,font=40,code=backScene},
}

View File

@@ -73,17 +73,17 @@ function scene.keyDown(key)
elseif key=="c"and kb.isDown("lctrl","rctrl")or key=="cC"then
if #MISSION>0 then
sys.setClipboardText("Techmino Target:"..copyMission())
LOG.print(text.exportSuccess,COLOR.green)
LOG.print(text.exportSuccess,COLOR.G)
end
elseif key=="v"and kb.isDown("lctrl","rctrl")or key=="cV"then
local str=sys.getClipboardText()
local p=string.find(str,":")--ptr*
if p then str=sub(str,p+1)end
if pasteMission(str)then
LOG.print(text.importSuccess,COLOR.green)
LOG.print(text.importSuccess,COLOR.G)
cur=#MISSION
else
LOG.print(text.dataCorrupted,COLOR.red)
LOG.print(text.dataCorrupted,COLOR.R)
end
elseif key=="escape"then
SCN.back()
@@ -160,7 +160,7 @@ function scene.draw()
elseif L[i]>4 then
gc.setColor(COLOR.rainbow(i+TIME()*6.26))
else
gc.setColor(COLOR.gray)
gc.setColor(COLOR.H)
end
gc.print(missionEnum[L[i]],x,y-25)
x=x+56
@@ -185,7 +185,7 @@ end
scene.widgetList={
WIDGET.newText{name="title", x=520,y=5,font=70,align="R"},
WIDGET.newText{name="subTitle", x=530,y=50,font=35,align="L",color="gray"},
WIDGET.newText{name="subTitle", x=530,y=50,font=35,align="L",color="H"},
WIDGET.newKey{name="_1", x=800, y=540, w=90, font=50,code=pressKey(01)},
WIDGET.newKey{name="_2", x=900, y=540, w=90, font=50,code=pressKey(02)},
@@ -224,13 +224,13 @@ scene.widgetList={
WIDGET.newKey{name="O4", x=600, y=640, w=90, font=50,code=pressKey(64)},
WIDGET.newKey{name="I4", x=700, y=640, w=90, font=50,code=pressKey(74)},
WIDGET.newKey{name="left", x=800, y=440, w=90, color="lGreen", font=55,code=pressKey"left"},
WIDGET.newKey{name="right", x=900, y=440, w=90, color="lGreen", font=55,code=pressKey"right"},
WIDGET.newKey{name="ten", x=1000, y=440, w=90, color="lGreen", font=40,code=pressKey"ten"},
WIDGET.newKey{name="backsp", x=1000, y=540, w=90, color="lYellow",font=50,code=pressKey"backspace"},
WIDGET.newKey{name="reset", x=1000, y=640, w=90, color="lYellow",font=50,code=pressKey"delete"},
WIDGET.newButton{name="copy", x=1140, y=440, w=170,h=80, color="lRed", font=40,code=pressKey"cC",hide=function()return #MISSION==0 end},
WIDGET.newButton{name="paste", x=1140, y=540, w=170,h=80, color="lBlue", font=40,code=pressKey"cV"},
WIDGET.newKey{name="left", x=800, y=440, w=90, color="lG",font=55,code=pressKey"left"},
WIDGET.newKey{name="right", x=900, y=440, w=90, color="lG",font=55,code=pressKey"right"},
WIDGET.newKey{name="ten", x=1000, y=440, w=90, color="lG",font=40,code=pressKey"ten"},
WIDGET.newKey{name="backsp", x=1000, y=540, w=90, color="lY",font=50,code=pressKey"backspace"},
WIDGET.newKey{name="reset", x=1000, y=640, w=90, color="lY",font=50,code=pressKey"delete"},
WIDGET.newButton{name="copy", x=1140, y=440, w=170,h=80, color="lR",font=40,code=pressKey"cC",hide=function()return #MISSION==0 end},
WIDGET.newButton{name="paste", x=1140, y=540, w=170,h=80, color="lB",font=40,code=pressKey"cV"},
WIDGET.newSwitch{name="mission",x=1150, y=350, disp=CUSval("missionKill"),code=CUSrev("missionKill")},
WIDGET.newButton{name="back", x=1140, y=640, w=170,h=80, font=40,code=backScene},

View File

@@ -88,17 +88,17 @@ function scene.keyDown(key)
elseif key=="c"and kb.isDown("lctrl","rctrl")or key=="cC"then
if #BAG>0 then
sys.setClipboardText("Techmino SEQ:"..copySequence())
LOG.print(text.exportSuccess,COLOR.green)
LOG.print(text.exportSuccess,COLOR.G)
end
elseif key=="v"and kb.isDown("lctrl","rctrl")or key=="cV"then
local str=sys.getClipboardText()
local p=string.find(str,":")--ptr*
if p then str=sub(str,p+1)end
if pasteSequence(str)then
LOG.print(text.importSuccess,COLOR.green)
LOG.print(text.importSuccess,COLOR.G)
cur=#BAG
else
LOG.print(text.dataCorrupted,COLOR.red)
LOG.print(text.dataCorrupted,COLOR.R)
end
elseif key=="escape"then
SCN.back()
@@ -186,10 +186,10 @@ end
scene.widgetList={
WIDGET.newText{name="title", x=520,y=5,font=70,align="R"},
WIDGET.newText{name="subTitle",x=530,y=50,font=35,align="L",color="gray"},
WIDGET.newText{name="subTitle",x=530,y=50,font=35,align="L",color="H"},
WIDGET.newSelector{name="sequence",
x=1080,y=60,w=200,color="yellow",
x=1080,y=60,w=200,color="Y",
list={"bag","his4","c2","rnd","mess","reverb","loop","fixed"},
disp=CUSval("sequence"),
code=CUSsto("sequence")
@@ -208,30 +208,30 @@ scene.widgetList={
WIDGET.newKey{name="backsp",x=920,y=460,w=80,color="lY",font=50,code=pressKey"backspace"},
WIDGET.newKey{name="reset", x=1000,y=460,w=80,color="lY",font=25,code=pressKey"delete"},
WIDGET.newKey{name="Z5", x=120,y=540,w=80,color="lGray",font=50,code=pressKey(8)},
WIDGET.newKey{name="S5", x=200,y=540,w=80,color="lGray",font=50,code=pressKey(9)},
WIDGET.newKey{name="P", x=280,y=540,w=80,color="lGray",font=50,code=pressKey(10)},
WIDGET.newKey{name="Q", x=360,y=540,w=80,color="lGray",font=50,code=pressKey(11)},
WIDGET.newKey{name="F", x=440,y=540,w=80,color="lGray",font=50,code=pressKey(12)},
WIDGET.newKey{name="E", x=520,y=540,w=80,color="lGray",font=50,code=pressKey(13)},
WIDGET.newKey{name="T5", x=600,y=540,w=80,color="lGray",font=50,code=pressKey(14)},
WIDGET.newKey{name="U", x=680,y=540,w=80,color="lGray",font=50,code=pressKey(15)},
WIDGET.newKey{name="V", x=760,y=540,w=80,color="lGray",font=50,code=pressKey(16)},
WIDGET.newKey{name="I3", x=840,y=540,w=80,color="gray",font=50,code=pressKey(26)},
WIDGET.newKey{name="C", x=920,y=540,w=80,color="gray",font=50,code=pressKey(27)},
WIDGET.newKey{name="Z5", x=120,y=540,w=80,color="lH",font=50,code=pressKey(8)},
WIDGET.newKey{name="S5", x=200,y=540,w=80,color="lH",font=50,code=pressKey(9)},
WIDGET.newKey{name="P", x=280,y=540,w=80,color="lH",font=50,code=pressKey(10)},
WIDGET.newKey{name="Q", x=360,y=540,w=80,color="lH",font=50,code=pressKey(11)},
WIDGET.newKey{name="F", x=440,y=540,w=80,color="lH",font=50,code=pressKey(12)},
WIDGET.newKey{name="E", x=520,y=540,w=80,color="lH",font=50,code=pressKey(13)},
WIDGET.newKey{name="T5", x=600,y=540,w=80,color="lH",font=50,code=pressKey(14)},
WIDGET.newKey{name="U", x=680,y=540,w=80,color="lH",font=50,code=pressKey(15)},
WIDGET.newKey{name="V", x=760,y=540,w=80,color="lH",font=50,code=pressKey(16)},
WIDGET.newKey{name="I3", x=840,y=540,w=80,color="H",font=50,code=pressKey(26)},
WIDGET.newKey{name="C", x=920,y=540,w=80,color="H",font=50,code=pressKey(27)},
WIDGET.newKey{name="rnd", x=1000,y=540,w=80,color="R",font=25,code=pressKey"="},
WIDGET.newKey{name="W", x=120,y=620,w=80,color="lGray",font=50,code=pressKey(17)},
WIDGET.newKey{name="X", x=200,y=620,w=80,color="lGray",font=50,code=pressKey(18)},
WIDGET.newKey{name="J5", x=280,y=620,w=80,color="lGray",font=50,code=pressKey(19)},
WIDGET.newKey{name="L5", x=360,y=620,w=80,color="lGray",font=50,code=pressKey(20)},
WIDGET.newKey{name="R", x=440,y=620,w=80,color="lGray",font=50,code=pressKey(21)},
WIDGET.newKey{name="Y", x=520,y=620,w=80,color="lGray",font=50,code=pressKey(22)},
WIDGET.newKey{name="N", x=600,y=620,w=80,color="lGray",font=50,code=pressKey(23)},
WIDGET.newKey{name="H", x=680,y=620,w=80,color="lGray",font=50,code=pressKey(24)},
WIDGET.newKey{name="I5", x=760,y=620,w=80,color="lGray",font=50,code=pressKey(25)},
WIDGET.newKey{name="I2", x=840,y=620,w=80,color="dGray",font=50,code=pressKey(28)},
WIDGET.newKey{name="O1", x=920,y=620,w=80,color="dGray",font=50,code=pressKey(29)},
WIDGET.newKey{name="W", x=120,y=620,w=80,color="lH",font=50,code=pressKey(17)},
WIDGET.newKey{name="X", x=200,y=620,w=80,color="lH",font=50,code=pressKey(18)},
WIDGET.newKey{name="J5", x=280,y=620,w=80,color="lH",font=50,code=pressKey(19)},
WIDGET.newKey{name="L5", x=360,y=620,w=80,color="lH",font=50,code=pressKey(20)},
WIDGET.newKey{name="R", x=440,y=620,w=80,color="lH",font=50,code=pressKey(21)},
WIDGET.newKey{name="Y", x=520,y=620,w=80,color="lH",font=50,code=pressKey(22)},
WIDGET.newKey{name="N", x=600,y=620,w=80,color="lH",font=50,code=pressKey(23)},
WIDGET.newKey{name="H", x=680,y=620,w=80,color="lH",font=50,code=pressKey(24)},
WIDGET.newKey{name="I5", x=760,y=620,w=80,color="lH",font=50,code=pressKey(25)},
WIDGET.newKey{name="I2", x=840,y=620,w=80,color="dH",font=50,code=pressKey(28)},
WIDGET.newKey{name="O1", x=920,y=620,w=80,color="dH",font=50,code=pressKey(29)},
WIDGET.newButton{name="copy",x=1140,y=460,w=170,h=80,color="lR",font=40,code=pressKey"cC",hide=function()return #BAG==0 end},

View File

@@ -21,13 +21,13 @@ local lastSearch--Last searched string
local typeColor={
help=COLOR.Y,
other=COLOR.lOrange,
other=COLOR.lO,
game=COLOR.lC,
term=COLOR.lR,
setup=COLOR.lY,
pattern=COLOR.lGrass,
pattern=COLOR.lJ,
english=COLOR.B,
name=COLOR.lPurple,
name=COLOR.lV,
}
local function getList()return result[1]and result or dict end
local function clearResult()

View File

@@ -18,7 +18,7 @@ function scene.mouseDown(_,_,k)
if newVersionLaunch then
SCN.push(SETTING.simpMode and"main_simple"or"main")
SCN.swapTo("history","fade")
LOG.print(text.newVersion,"warn",COLOR.lBlue)
LOG.print(text.newVersion,"warn",COLOR.lB)
else
SCN.go(SETTING.simpMode and"main_simple"or"main")
end

View File

@@ -175,8 +175,8 @@ local loadingThread=coroutine.wrap(function()
DAILYLAUNCH=freshDate("q")
if DAILYLAUNCH then
logoColor1=COLOR.sea
logoColor2=COLOR.lSea
logoColor1=COLOR.S
logoColor2=COLOR.lS
else
local r=math.random()*6.2832
logoColor1={COLOR.rainbow(r)}
@@ -364,7 +364,7 @@ function scene.draw()
setFont(25)
for i=0,26 do
local x,y=light[3*i+1],light[3*i+2]
gc.setColor(COLOR[i==progress and"gray"or light[3*i+3]and"dOrange"or"dGray"])
gc.setColor(COLOR[i==progress and"H"or light[3*i+3]and"dO"or"dH"])
gc.circle("fill",x,y,23)
gc.setColor(.16,.16,.16)
gc.circle("line",x,y,23)

View File

@@ -174,18 +174,18 @@ function scene.draw()
end
scene.widgetList={
WIDGET.newButton{name="offline",x=-1200,y=210,w=800,h=100, color="lR", font=45,align="R",edge=30, code=pressKey"1"},
WIDGET.newButton{name="qplay", x=-1200,y=330,w=800,h=100, color="lM", font=40,align="R",edge=30, code=pressKey"q"},
WIDGET.newButton{name="online", x=-1200,y=450,w=800,h=100, color="lPurple",font=45,align="R",edge=30, code=pressKey"a"},
WIDGET.newButton{name="custom", x=-1200,y=570,w=800,h=100, color="lSea", font=45,align="R",edge=30, code=pressKey"z"},
WIDGET.newButton{name="offline",x=-1200,y=210,w=800,h=100, color="lR",font=45,align="R",edge=30,code=pressKey"1"},
WIDGET.newButton{name="qplay", x=-1200,y=330,w=800,h=100, color="lM",font=40,align="R",edge=30,code=pressKey"q"},
WIDGET.newButton{name="online", x=-1200,y=450,w=800,h=100, color="lV",font=45,align="R",edge=30,code=pressKey"a"},
WIDGET.newButton{name="custom", x=-1200,y=570,w=800,h=100, color="lS",font=45,align="R",edge=30,code=pressKey"z"},
WIDGET.newButton{name="setting",x=2480,y=210,w=800,h=100, color="lOrange",font=40,align="L",edge=30, code=pressKey"-"},
WIDGET.newButton{name="stat", x=2480,y=330,w=800,h=100, color="lLime", font=40,align="L",edge=30, code=pressKey"p"},
WIDGET.newButton{name="dict", x=2480,y=450,w=800,h=100, color="lGreen", font=40,align="L",edge=30, code=pressKey"l"},
WIDGET.newButton{name="manual", x=2480,y=570,w=800,h=100, color="lC", font=40,align="L",edge=30, code=pressKey","},
WIDGET.newButton{name="setting",x=2480,y=210,w=800,h=100, color="lO",font=40,align="L",edge=30,code=pressKey"-"},
WIDGET.newButton{name="stat", x=2480,y=330,w=800,h=100, color="lL",font=40,align="L",edge=30,code=pressKey"p"},
WIDGET.newButton{name="dict", x=2480,y=450,w=800,h=100, color="lG",font=40,align="L",edge=30,code=pressKey"l"},
WIDGET.newButton{name="manual", x=2480,y=570,w=800,h=100, color="lC",font=40,align="L",edge=30,code=pressKey","},
WIDGET.newButton{name="music", x=160,y=80,w=200,h=90, color="lOrange",font=35, code=pressKey"2"},
WIDGET.newButton{name="lang", x=960,y=80,w=90,h=90, color="lY", font=40, code=pressKey"0",fText=DOGC{64,64,
WIDGET.newButton{name="music", x=160,y=80,w=200,h=90, color="lO",font=35,code=pressKey"2"},
WIDGET.newButton{name="lang", x=960,y=80,w=90,h=90, color="lY",font=40,code=pressKey"0",fText=DOGC{64,64,
{"setLW",4},
{"dCirc",32,32,30},
{"dLine",2,31,62,31},
@@ -193,8 +193,8 @@ scene.widgetList={
{"doArc",10,31,40,-.8,.8},
{"doArc",53,31,40,2.3,3.9},
}},
WIDGET.newButton{name="about", x=-110,y=670,w=600,h=70, color="lB", font=35,align="R",edge=30, code=pressKey"x"},
WIDGET.newButton{name="quit", x=1390,y=670,w=600,h=70, color="lR", font=40,align="L",edge=30, code=function()VOC.play("bye")SCN.swapTo("quit","slowFade")end},
WIDGET.newButton{name="about", x=-110,y=670,w=600,h=70, color="lB",font=35,align="R",edge=30,code=pressKey"x"},
WIDGET.newButton{name="quit", x=1390,y=670,w=600,h=70, color="lR",font=40,align="L",edge=30,code=function()VOC.play("bye")SCN.swapTo("quit","slowFade")end},
}
return scene

View File

@@ -16,8 +16,8 @@ function scene.draw()
end
scene.widgetList={
WIDGET.newText{name="system", x=750,y=280,fText=SYSTEM,color="white",font=30,align="L"},
WIDGET.newText{name="version", x=950,y=280,fText=VERSION.string,color="white",font=30,align="L"},
WIDGET.newText{name="system", x=750,y=280,fText=SYSTEM,color="Z",font=30,align="L"},
WIDGET.newText{name="version", x=950,y=280,fText=VERSION.string,color="Z",font=30,align="L"},
WIDGET.newButton{name="sprint", x=260,y=480,w=260,font=50,code=function()loadGame("sprint_40l",true)end},
WIDGET.newButton{name="marathon",x=640,y=480,w=260,font=50,code=function()loadGame("marathon_n",true)end},
WIDGET.newButton{name="setting",x=1000,y=400,w=120,fText="...",font=50,code=goScene"setting_game"},

View File

@@ -155,7 +155,7 @@ end
scene.widgetList={
WIDGET.newText{name="title", x=80,y=50,font=70,align="L"},
WIDGET.newText{name="unranked", x=1200,y=60,color="yellow",font=50,align="R",hide=function()return scoreValid()end},
WIDGET.newText{name="unranked", x=1200,y=60,color="Y",font=50,align="R",hide=function()return scoreValid()end},
WIDGET.newButton{name="reset", x=1140,y=540,w=170,h=80,font=25,code=pressKey"tab"},
WIDGET.newButton{name="back", x=1140,y=640,w=170,h=80,font=40,code=backScene},
}

View File

@@ -2,6 +2,7 @@ local gc=love.graphics
local sin=math.sin
local author={
battle="Aether",
empty="ERM",
["how feeling"]="????",
}

View File

@@ -47,7 +47,7 @@ function scene.keyDown(k)
SCN.back()
else
escapeTimer=TIME()
LOG.print(text.sureQuit,COLOR.orange)
LOG.print(text.sureQuit,COLOR.O)
end
else
WIDGET.keyPressed(k)
@@ -68,12 +68,12 @@ function scene.socketRead(mes)
local _,text=pcall(data.decode,"string","base64",args[3])
if not _ then text=args[3]end
textBox:push{
COLOR.W,args[1],
COLOR.Z,args[1],
COLOR.dY,"#"..args[2].." ",
COLOR.sky,text
COLOR.N,text
}
else
LOG.print("Illegal message: "..mes,30,COLOR.green)
LOG.print("Illegal message: "..mes,30,COLOR.G)
return
end
end

View File

@@ -79,7 +79,7 @@ function scene.keyDown(key)
NET.signal_quit()
else
lastBackTime=TIME()
LOG.print(text.sureQuit,COLOR.orange)
LOG.print(text.sureQuit,COLOR.O)
end
elseif key=="\\"then
textBox.hide=not textBox.hide
@@ -109,7 +109,7 @@ function scene.gamepadDown(key)
SCN.back()
else
lastBackTime=TIME()
LOG.print(text.sureQuit,COLOR.orange)
LOG.print(text.sureQuit,COLOR.O)
end
else
if noKey then return end
@@ -147,9 +147,9 @@ function scene.socketRead(cmd,d)
}
elseif cmd=="Talk"then
textBox:push{
COLOR.W,d.username,
COLOR.Z,d.username,
COLOR.dY,"#"..d.uid.." ",
COLOR.sky,d.message or"[_]",
COLOR.N,d.message or"[_]",
}
elseif cmd=="Go"then
if not playing then
@@ -161,7 +161,7 @@ function scene.socketRead(cmd,d)
upstreamProgress=1
resetGameData("n",d.seed)
else
LOG.print("Redundant [Go]",30,COLOR.green)
LOG.print("Redundant [Go]",30,COLOR.G)
end
elseif cmd=="Finish"then
playing=false
@@ -278,7 +278,7 @@ scene.widgetList={
PLY_NET[1].ready or
NET.getlock("ready")
end},
WIDGET.newKey{name="cancel",x=900,y=560,w=400,h=100,color="gray",font=40,code=pressKey"space",
WIDGET.newKey{name="cancel",x=900,y=560,w=400,h=100,color="H",font=40,code=pressKey"space",
hide=function()
return
playing or

View File

@@ -17,7 +17,7 @@ end
scene.widgetList={
WIDGET.newButton{name="ffa", x=640, y=200,w=350,h=120,font=40,code=function()NET.enterRoom("ffa")end},
WIDGET.newButton{name="rooms", x=640, y=360,w=350,h=120,font=40,code=goScene"net_rooms"},
WIDGET.newButton{name="chat", x=640, y=540,w=350,h=120,color="black",font=40,code=NULL},
WIDGET.newButton{name="chat", x=640, y=540,w=350,h=120,color="D",font=40,code=NULL},
WIDGET.newButton{name="logout", x=1180, y=130,w=180,h=70,color="dR",
code=function()
if TIME()-lastLogoutTime<1 then
@@ -30,7 +30,7 @@ scene.widgetList={
SCN.back()
end
else
LOG.print(text.sureQuit,COLOR.orange)
LOG.print(text.sureQuit,COLOR.O)
lastLogoutTime=TIME()
end
end},

View File

@@ -5,14 +5,14 @@ local format=string.format
local SCR,setFont,mStr=SCR,setFont,mStr
local fnsRankColor={
Z=COLOR.lYellow,
S=COLOR.lGray,
A=COLOR.sky,
B=COLOR.lGreen,
C=COLOR.magenta,
D=COLOR.dGreen,
E=COLOR.red,
F=COLOR.dRed,
Z=COLOR.lY,
S=COLOR.lG,
A=COLOR.N,
B=COLOR.lG,
C=COLOR.M,
D=COLOR.dG,
E=COLOR.R,
F=COLOR.dR,
}
local scene={}
@@ -38,7 +38,7 @@ function scene.sceneInit(org)
local frameLostRate=(S.frame/S.time/60-1)*100
form={
{COLOR.white,TIMESTR(S.time),COLOR[frameLostRate>10 and"red"or frameLostRate>3 and"yellow"or"gray"],format(" (%.2f%%)",frameLostRate)},
{COLOR.Z,TIMESTR(S.time),COLOR[frameLostRate>10 and"R"or frameLostRate>3 and"Y"or"H"],format(" (%.2f%%)",frameLostRate)},
format("%d/%d/%d",S.key,S.rotate,S.hold),
format("%d %.2fPPS",S.piece,S.piece/S.time),
format("%d(%d) %.2fLPM",S.row,S.dig,S.row/S.time*60),
@@ -103,10 +103,10 @@ function scene.sceneInit(org)
"F"
if acc==1 then
trophy=text.finesse_ap
trophyColor=COLOR.yellow
trophyColor=COLOR.Y
elseif P.stat.maxFinesseCombo==P.stat.piece then
trophy=text.finesse_fc
trophyColor=COLOR.lCyan
trophyColor=COLOR.lC
else
trophy=nil
end
@@ -309,11 +309,11 @@ function scene.draw()
end
scene.widgetList={
WIDGET.newButton{name="setting", x=1120, y=70, w=240,h=90, color="lBlue", font=35,code=pressKey"s"},
WIDGET.newButton{name="replay", x=535, y=250, w=200,h=100,color="lYellow",font=30,code=pressKey"p",hide=function()return not(GAME.result or GAME.replaying)or #PLAYERS>1 end},
WIDGET.newButton{name="save", x=745, y=250, w=200,h=100,color="green", font=30,code=pressKey"o",hide=function()return not(GAME.result or GAME.replaying)or #PLAYERS>1 or GAME.saved end},
WIDGET.newButton{name="resume", x=640, y=367, w=240,h=100,color="lGreen", font=30,code=pressKey"escape"},
WIDGET.newButton{name="restart", x=640, y=483, w=240,h=100,color="lRed", font=35,code=pressKey"r"},
WIDGET.newButton{name="setting", x=1120, y=70, w=240,h=90, color="lB",font=35,code=pressKey"s"},
WIDGET.newButton{name="replay", x=535, y=250, w=200,h=100,color="lY",font=30,code=pressKey"p",hide=function()return not(GAME.result or GAME.replaying)or #PLAYERS>1 end},
WIDGET.newButton{name="save", x=745, y=250, w=200,h=100,color="G",font=30,code=pressKey"o",hide=function()return not(GAME.result or GAME.replaying)or #PLAYERS>1 or GAME.saved end},
WIDGET.newButton{name="resume", x=640, y=367, w=240,h=100,color="lG",font=30,code=pressKey"escape"},
WIDGET.newButton{name="restart", x=640, y=483, w=240,h=100,color="lR",font=35,code=pressKey"r"},
WIDGET.newButton{name="quit", x=640, y=600, w=240,h=100,font=35,code=backScene},
}

View File

@@ -18,9 +18,9 @@ local function parseCB()
--Decode
_,s=pcall(love.data.decode,"string","base64",s)
if not _ then LOG.print(text.dataCorrupted,COLOR.red)return end
if not _ then LOG.print(text.dataCorrupted,COLOR.R)return end
_,s=pcall(love.data.decompress,"string","zlib",s)
if not _ then LOG.print(text.dataCorrupted,COLOR.red)return end
if not _ then LOG.print(text.dataCorrupted,COLOR.R)return end
s=loadstring(s)
if s then
@@ -29,12 +29,12 @@ local function parseCB()
end
end
scene.widgetList={
WIDGET.newButton{name="exportUnlock", x=190,y=150,w=280,h=100,color="lGreen",font=25,code=function()dumpCB(RANKS)end},
WIDGET.newButton{name="exportData", x=490,y=150,w=280,h=100,color="lGreen",font=25,code=function()dumpCB(STAT)end},
WIDGET.newButton{name="exportSetting", x=790,y=150,w=280,h=100,color="lGreen",font=25,code=function()dumpCB(SETTING)end},
WIDGET.newButton{name="exportVK", x=1090,y=150,w=280,h=100,color="lGreen",font=25,code=function()dumpCB(VK_org)end},
WIDGET.newButton{name="exportUnlock", x=190,y=150,w=280,h=100,color="lG",font=25,code=function()dumpCB(RANKS)end},
WIDGET.newButton{name="exportData", x=490,y=150,w=280,h=100,color="lG",font=25,code=function()dumpCB(STAT)end},
WIDGET.newButton{name="exportSetting", x=790,y=150,w=280,h=100,color="lG",font=25,code=function()dumpCB(SETTING)end},
WIDGET.newButton{name="exportVK", x=1090,y=150,w=280,h=100,color="lG",font=25,code=function()dumpCB(VK_org)end},
WIDGET.newButton{name="importUnlock", x=190,y=300,w=280,h=100,color="lBlue",font=25,
WIDGET.newButton{name="importUnlock", x=190,y=300,w=280,h=100,color="lB",font=25,
code=function()
local D=parseCB()
if D then
@@ -45,7 +45,7 @@ scene.widgetList={
LOG.print(text.dataCorrupted,"warn")
end
end},
WIDGET.newButton{name="importData", x=490,y=300,w=280,h=100,color="lBlue",font=25,
WIDGET.newButton{name="importData", x=490,y=300,w=280,h=100,color="lB",font=25,
code=function()
local D=parseCB()
if D and D.version==STAT.version then
@@ -56,7 +56,7 @@ scene.widgetList={
LOG.print(text.dataCorrupted,"warn")
end
end},
WIDGET.newButton{name="importSetting", x=790,y=300,w=280,h=100,color="lBlue",font=25,
WIDGET.newButton{name="importSetting", x=790,y=300,w=280,h=100,color="lB",font=25,
code=function()
local D=parseCB()
if D then
@@ -67,7 +67,7 @@ scene.widgetList={
LOG.print(text.dataCorrupted,"warn")
end
end},
WIDGET.newButton{name="importVK", x=1090,y=300,w=280,h=100,color="lBlue",font=25,
WIDGET.newButton{name="importVK", x=1090,y=300,w=280,h=100,color="lB",font=25,
code=function()
local D=parseCB()
if D then
@@ -78,14 +78,14 @@ scene.widgetList={
LOG.print(text.dataCorrupted,"warn")
end
end},
WIDGET.newButton{name="reset", x=640,y=460,w=280,h=100,color="lRed",font=40,
WIDGET.newButton{name="reset", x=640,y=460,w=280,h=100,color="lR",font=40,
code=function()
scene.widgetList.reset.hide=true
scene.widgetList.resetUnlock.hide=false
scene.widgetList.resetRecord.hide=false
scene.widgetList.resetData.hide=false
end},
WIDGET.newButton{name="resetUnlock", x=340,y=460,w=280,h=100,color="red",
WIDGET.newButton{name="resetUnlock", x=340,y=460,w=280,h=100,color="R",
code=function()
love.filesystem.remove("conf/unlock")
SFX.play("finesseError_long")
@@ -93,7 +93,7 @@ scene.widgetList={
LOG.print("effected after restart game","message")
LOG.print("fresh a rank to get data back","message")
end,hide=true},
WIDGET.newButton{name="resetRecord", x=640,y=460,w=280,h=100,color="red",
WIDGET.newButton{name="resetRecord", x=640,y=460,w=280,h=100,color="R",
code=function()
for _,name in next,love.filesystem.getDirectoryItems("record")do
love.filesystem.remove("record/"..name)
@@ -102,7 +102,7 @@ scene.widgetList={
TEXT.show("record data resetted",640,300,60,"stretch",.4)
LOG.print("fresh a record list to get one list back","message")
end,hide=true},
WIDGET.newButton{name="resetData", x=940,y=460,w=280,h=100,color="red",
WIDGET.newButton{name="resetData", x=940,y=460,w=280,h=100,color="R",
code=function()
love.filesystem.remove("conf/data")
SFX.play("finesseError_long")

View File

@@ -89,7 +89,7 @@ scene.widgetList={
WIDGET.newSwitch{name="ihs", x=1100, y=260, disp=SETval("ihs"), code=SETrev("ihs")},
WIDGET.newSwitch{name="irs", x=1100, y=330, disp=SETval("irs"), code=SETrev("irs")},
WIDGET.newSwitch{name="ims", x=1100, y=400, disp=SETval("ims"), code=SETrev("ims")},
WIDGET.newButton{name="reset", x=160, y=580,w=200,h=100,color="lRed",font=40,
WIDGET.newButton{name="reset", x=160, y=580,w=200,h=100,color="lR",font=40,
code=function()
local _=SETTING
_.das,_.arr,_.dascut=10,2,0

View File

@@ -21,15 +21,15 @@ end
scene.widgetList={
WIDGET.newText{name="title", x=640,y=15,font=80},
WIDGET.newButton{name="graphic", x=200, y=80, w=240,h=80, color="lCyan", font=35,code=swapScene"setting_video","swipeR"},
WIDGET.newButton{name="sound", x=1080, y=80, w=240,h=80, color="lCyan", font=35,code=swapScene"setting_sound","swipeL"},
WIDGET.newButton{name="graphic", x=200, y=80, w=240,h=80, color="lC",font=35,code=swapScene"setting_video","swipeR"},
WIDGET.newButton{name="sound", x=1080, y=80, w=240,h=80, color="lC",font=35,code=swapScene"setting_sound","swipeL"},
WIDGET.newButton{name="ctrl", x=290, y=220, w=320,h=80, color="lYellow",font=35,code=goScene"setting_control"},
WIDGET.newButton{name="key", x=640, y=220, w=320,h=80, color="lGreen", font=35,code=goScene"setting_key"},
WIDGET.newButton{name="touch", x=990, y=220, w=320,h=80, color="lBlue", font=35,code=goScene"setting_touch"},
WIDGET.newButton{name="ctrl", x=290, y=220, w=320,h=80, color="lY",font=35,code=goScene"setting_control"},
WIDGET.newButton{name="key", x=640, y=220, w=320,h=80, color="lG",font=35,code=goScene"setting_key"},
WIDGET.newButton{name="touch", x=990, y=220, w=320,h=80, color="lB",font=35,code=goScene"setting_touch"},
WIDGET.newSlider{name="reTime", x=350, y=340, w=300,unit=10,disp=SETval("reTime"),code=SETsto("reTime"),show=function(S)return(.5+S.disp()*.25).."s"end},
WIDGET.newSelector{name="RS", x=500, y=420, w=300,color="sea",list={"TRS","SRS","C2","C2sym","Classic","None"},disp=SETval("RS"),code=SETsto("RS")},
WIDGET.newButton{name="layout", x=550, y=540, w=200,h=70, font=35,code=goScene"setting_skin"},
WIDGET.newSelector{name="RS", x=500, y=420, w=300,color="S",list={"TRS","SRS","C2","C2sym","Classic","None"},disp=SETval("RS"),code=SETsto("RS")},
WIDGET.newButton{name="layout", x=550, y=540, w=200,h=70,font=35, code=goScene"setting_skin"},
WIDGET.newSwitch{name="autoPause", x=1060, y=310, font=20,disp=SETval("autoPause"),code=SETrev("autoPause")},
WIDGET.newSwitch{name="swap", x=1060, y=370, font=20,disp=SETval("swap"), code=SETrev("swap")},
WIDGET.newSwitch{name="fine", x=1060, y=430, font=20,disp=SETval("fine"), code=function()SETTING.fine=not SETTING.fine if SETTING.fine then SFX.play("finesseError",.6) end end},

View File

@@ -85,12 +85,12 @@ scene.widgetList={
--WIDGET.newButton{name="spin6",x=825,y=540,w=90,h=65,code=function()nextDir(6)end},--Cannot rotate O
WIDGET.newButton{name="spin7", x=970,y=540,w=90,h=65,code=function()nextDir(7)end},
WIDGET.newButton{name="skinR", x=200,y=640,w=220,h=80,color="lPurple",font=35,
WIDGET.newButton{name="skinR", x=200,y=640,w=220,h=80,color="lV",font=35,
code=function()
SETTING.skin={1,7,11,3,14,4,9,1,7,2,6,10,2,13,5,9,15,10,11,3,10,2,16,8,4,10,13,2,8}
SFX.play("rotate")
end},
WIDGET.newButton{name="faceR", x=480,y=640,w=220,h=80,color="lRed",font=35,
WIDGET.newButton{name="faceR", x=480,y=640,w=220,h=80,color="lR",font=35,
code=function()
for i=1,29 do
SETTING.face[i]=0

View File

@@ -57,8 +57,8 @@ end
scene.widgetList={
WIDGET.newText{name="title", x=640,y=15,font=80},
WIDGET.newButton{name="game", x=200, y=80,w=240,h=80,color="lCyan",font=35,code=swapScene"setting_game","swipeR"},
WIDGET.newButton{name="graphic",x=1080, y=80,w=240,h=80,color="lCyan",font=35,code=swapScene"setting_video","swipeL"},
WIDGET.newButton{name="game", x=200, y=80,w=240,h=80,color="lC",font=35,code=swapScene"setting_game","swipeR"},
WIDGET.newButton{name="graphic",x=1080, y=80,w=240,h=80,color="lC",font=35,code=swapScene"setting_video","swipeL"},
WIDGET.newSlider{name="sfx", x=180, y=200,w=400, font=35,change=function()SFX.play("blip_1")end, disp=SETval("sfx"),code=SETsto("sfx")},
WIDGET.newSlider{name="spawn", x=180, y=300,w=400, font=30,change=function()SFX.fplay("spawn_"..math.random(7),SETTING.sfx_spawn)end,disp=SETval("sfx_spawn"),code=SETsto("sfx_spawn")},

View File

@@ -194,7 +194,7 @@ scene.widgetList={
defaultSetSelect=defaultSetSelect%5+1
selected=false
end},
WIDGET.newSelector{name="snap", x=760,y=90,w=200,h=80,color="yellow",list={1,10,20,40,60,80},disp=function()return snapUnit end,code=function(i)snapUnit=i end},
WIDGET.newSelector{name="snap", x=760,y=90,w=200,h=80,color="Y",list={1,10,20,40,60,80},disp=function()return snapUnit end,code=function(i)snapUnit=i end},
WIDGET.newButton{name="option", x=520,y=190,w=200,h=80,font=40,
code=function()
SCN.go("setting_touchSwitch")

View File

@@ -10,8 +10,8 @@ end
scene.widgetList={
WIDGET.newText{name="title", x=640, y=15,font=80},
WIDGET.newButton{name="sound", x=200, y=80,w=240,h=80,color="lCyan",font=35,code=swapScene"setting_sound","swipeR"},
WIDGET.newButton{name="game", x=1080, y=80,w=240,h=80,color="lCyan",font=35,code=swapScene"setting_game","swipeL"},
WIDGET.newButton{name="sound", x=200, y=80,w=240,h=80,color="lC",font=35,code=swapScene"setting_sound","swipeR"},
WIDGET.newButton{name="game", x=1080, y=80,w=240,h=80,color="lC",font=35,code=swapScene"setting_game","swipeL"},
WIDGET.newSwitch{name="block", x=290, y=165, disp=SETval("block"), code=SETrev("block")},
WIDGET.newSwitch{name="smooth", x=290, y=215, disp=SETval("smooth"), code=SETrev("smooth")},

View File

@@ -24,13 +24,13 @@ function scene.gamepadDown(key)
push("[gamepadDown] <"..key..">")
end
function scene.gamepadUp(key)
push{COLOR.gray,"[gamepadUp] <"..key..">"}
push{COLOR.H,"[gamepadUp] <"..key..">"}
end
function scene.keyDown(key)
push("[keyDown] <"..key..">")
end
function scene.keyUp(key)
push{COLOR.gray,"[keyUp] <"..key..">"}
push{COLOR.H,"[keyUp] <"..key..">"}
end
function scene.mouseDown(x,y,k)
push(("[mouseDown] <%d: %d, %d>"):format(k,x,y))
@@ -40,7 +40,7 @@ function scene.mouseMove(x,y)
end
function scene.mouseUp(x,y,k)
SYSFX.newRectRipple(1,x-10,y-10,21,21)
push{COLOR.gray,"[mouseUp] <"..k..">"}
push{COLOR.H,"[mouseUp] <"..k..">"}
end
function scene.touchClick(x,y)
SYSFX.newRipple(.5,x,y,50)
@@ -55,7 +55,7 @@ function scene.touchMove(x,y)
end
function scene.touchUp(x,y)
SYSFX.newRipple(.5,x,y,50)
push{COLOR.gray,"[touchUp]"}
push{COLOR.H,"[touchUp]"}
end
function scene.wheelMoved(dx,dy)
push(("[wheelMoved] <%d, %d>"):format(dx,dy))

View File

@@ -107,14 +107,14 @@ for i=1,8 do
end
TEXTURE.title_color=NSC(1160,236)
local titleColor={
COLOR.lGrape,
COLOR.lCyan,
COLOR.lBlue,
COLOR.lOrange,
COLOR.lFire,
COLOR.lMagenta,
COLOR.lGreen,
COLOR.lYellow,
COLOR.lP,
COLOR.lC,
COLOR.lB,
COLOR.lO,
COLOR.lF,
COLOR.lM,
COLOR.lG,
COLOR.lY,
}
for i=1,8 do
gc.translate(12*i,i==1 and 8 or 14)