整理全局函数名以及库的require方法
This commit is contained in:
@@ -7,7 +7,7 @@ local tabs={
|
|||||||
"\t\t\t\t",
|
"\t\t\t\t",
|
||||||
"\t\t\t\t\t",
|
"\t\t\t\t\t",
|
||||||
}
|
}
|
||||||
function dumpTable(L,t)
|
return function(L,t)
|
||||||
local s
|
local s
|
||||||
if t then
|
if t then
|
||||||
s="{\n"
|
s="{\n"
|
||||||
@@ -40,7 +40,7 @@ function dumpTable(L,t)
|
|||||||
T=type(v)
|
T=type(v)
|
||||||
if T=="number"then v=tostring(v)
|
if T=="number"then v=tostring(v)
|
||||||
elseif T=="string"then v="\""..v.."\""
|
elseif T=="string"then v="\""..v.."\""
|
||||||
elseif T=="table"then v=dumpTable(v,t+1)
|
elseif T=="table"then v=DUMPTABLE(v,t+1)
|
||||||
elseif T=="boolean"then v=tostring(v)
|
elseif T=="boolean"then v=tostring(v)
|
||||||
else error("Error data type!")
|
else error("Error data type!")
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ function FILE.load(name)
|
|||||||
return s()
|
return s()
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
local res=json.decode(s)
|
local res=JSON.decode(s)
|
||||||
if res then
|
if res then
|
||||||
return res
|
return res
|
||||||
end
|
end
|
||||||
@@ -26,13 +26,13 @@ function FILE.save(data,name,mode)
|
|||||||
if not mode then mode=""end
|
if not mode then mode=""end
|
||||||
name=name
|
name=name
|
||||||
if mode:find("l")then
|
if mode:find("l")then
|
||||||
data=dumpTable(data)
|
data=DUMPTABLE(data)
|
||||||
if not data then
|
if not data then
|
||||||
LOG.print(name.." "..text.saveError.."dump error","error")
|
LOG.print(name.." "..text.saveError.."dump error","error")
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
data=json.encode(data)
|
data=JSON.encode(data)
|
||||||
if not data then
|
if not data then
|
||||||
LOG.print(name.." "..text.saveError.."json error","error")
|
LOG.print(name.." "..text.saveError.."json error","error")
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -4,20 +4,20 @@ SCN= require"Zframework/scene"
|
|||||||
LOG= require"Zframework/log"
|
LOG= require"Zframework/log"
|
||||||
WS= require"Zframework/websocket"
|
WS= require"Zframework/websocket"
|
||||||
|
|
||||||
loadLib=require"Zframework/loadLib"
|
LOADLIB=require"Zframework/loadLib"
|
||||||
require"Zframework/wheelScroll"
|
WHEELMOV=require"Zframework/wheelScroll"
|
||||||
|
|
||||||
require"Zframework/setFont"
|
require"Zframework/setFont"
|
||||||
require"Zframework/mDraw"
|
require"Zframework/mDraw"
|
||||||
|
|
||||||
require"Zframework/json"
|
JSON=require"Zframework/json"
|
||||||
require"Zframework/dumpTable"
|
DUMPTABLE=require"Zframework/dumpTable"
|
||||||
require"Zframework/urlEncode"
|
URLENCODE=require"Zframework/urlEncode"
|
||||||
|
|
||||||
-- require"Zframework/upperChar"
|
-- UPPERCHAR=require"Zframework/upperChar"
|
||||||
require"Zframework/copyTable"
|
require"Zframework/copyTable"
|
||||||
require"Zframework/splitStr"
|
SPLITSTR=require"Zframework/splitStr"
|
||||||
require"Zframework/toTime"
|
TIMESTR=require"Zframework/timeStr"
|
||||||
|
|
||||||
VIB= require"Zframework/vibrate"
|
VIB= require"Zframework/vibrate"
|
||||||
SFX= require"Zframework/sfx"
|
SFX= require"Zframework/sfx"
|
||||||
|
|||||||
@@ -20,9 +20,10 @@
|
|||||||
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
-- SOFTWARE.
|
-- SOFTWARE.
|
||||||
|
|
||||||
|
-- Editted by MrZ
|
||||||
|
|
||||||
local ins,char=table.insert,string.char
|
local ins,char=table.insert,string.char
|
||||||
json = {}
|
local json = {}
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
-- Encode
|
-- Encode
|
||||||
@@ -350,4 +351,5 @@ function json.decode(str)
|
|||||||
elseif LOG then
|
elseif LOG then
|
||||||
LOG.print(text.jsonError..": "..(b or"uknErr"),"warn")
|
LOG.print(text.jsonError..": "..(b or"uknErr"),"warn")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
return json
|
||||||
@@ -1,10 +1,11 @@
|
|||||||
local gc=love.graphics
|
local printf=love.graphics.printf
|
||||||
|
local draw=love.graphics.draw
|
||||||
function mStr(s,x,y)
|
function mStr(s,x,y)
|
||||||
gc.printf(s,x-626,y,1252,"center")
|
printf(s,x-626,y,1252,"center")
|
||||||
end
|
end
|
||||||
function mText(s,x,y)
|
function mText(s,x,y)
|
||||||
gc.draw(s,x-s:getWidth()*.5,y)
|
draw(s,x-s:getWidth()*.5,y)
|
||||||
end
|
end
|
||||||
function mDraw(s,x,y,a,k)
|
function mDraw(s,x,y,a,k)
|
||||||
gc.draw(s,x,y,a,k,nil,s:getWidth()*.5,s:getHeight()*.5)
|
draw(s,x,y,a,k,nil,s:getWidth()*.5,s:getHeight()*.5)
|
||||||
end
|
end
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
local find,sub=string.find,string.sub
|
local find,sub=string.find,string.sub
|
||||||
function splitStr(s,sep)
|
return function(s,sep)
|
||||||
local L={}
|
local L={}
|
||||||
local p1,p2=1--start,target
|
local p1,p2=1--start,target
|
||||||
while p1<=#s do
|
while p1<=#s do
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
local int,format=math.floor,string.format
|
local int,format=math.floor,string.format
|
||||||
function toTime(s)
|
return function(s)
|
||||||
if s<60 then
|
if s<60 then
|
||||||
return format("%.3fs",s)
|
return format("%.3fs",s)
|
||||||
elseif s<3600 then
|
elseif s<3600 then
|
||||||
@@ -7,6 +7,6 @@ local upperList={
|
|||||||
[";"]=":",["'"]="\"",
|
[";"]=":",["'"]="\"",
|
||||||
[","]="<",["."]=">",["/"]="?",
|
[","]="<",["."]=">",["/"]="?",
|
||||||
}
|
}
|
||||||
function upperChar(c)
|
return function(c)
|
||||||
return upperList[c]or upper(c)
|
return upperList[c]or upper(c)
|
||||||
end
|
end
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
local rshift=bit.rshift
|
local rshift=bit.rshift
|
||||||
local b16={[0]="0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"}
|
local b16={[0]="0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"}
|
||||||
function urlEncode(str)
|
return function(str)
|
||||||
local out=""
|
local out=""
|
||||||
for i=1,#str do
|
for i=1,#str do
|
||||||
if str:sub(i,i):match("[a-zA-Z0-9]")then
|
if str:sub(i,i):match("[a-zA-Z0-9]")then
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ local band,bor,bxor=bit.band,bit.bor,bit.bxor
|
|||||||
local shl,shr=bit.lshift,bit.rshift
|
local shl,shr=bit.lshift,bit.rshift
|
||||||
|
|
||||||
local SOCK=require"socket".tcp()
|
local SOCK=require"socket".tcp()
|
||||||
require"Zframework/json"
|
local JSON=require"Zframework/json"
|
||||||
|
|
||||||
local mask_key={1,14,5,14}
|
local mask_key={1,14,5,14}
|
||||||
local function _send(opcode,message)
|
local function _send(opcode,message)
|
||||||
@@ -81,7 +81,7 @@ do--Connect
|
|||||||
l=SOCK:receive("*l")
|
l=SOCK:receive("*l")
|
||||||
until l==""
|
until l==""
|
||||||
l=SOCK:receive("*l")
|
l=SOCK:receive("*l")
|
||||||
local reason=json.decode(l)if reason then reason=reason.message end
|
local reason=JSON.decode(l)if reason then reason=reason.message end
|
||||||
readCHN:push(code.."-"..(reason or l))
|
readCHN:push(code.."-"..(reason or l))
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
@@ -129,7 +129,7 @@ while true do
|
|||||||
local code=res:find(" ")
|
local code=res:find(" ")
|
||||||
code=res:sub(code+1,code+3)
|
code=res:sub(code+1,code+3)
|
||||||
local res=res:sub(res:find("\n\n")+1)
|
local res=res:sub(res:find("\n\n")+1)
|
||||||
reason=json.decode(res)if reason then reason=reason.message end
|
reason=JSON.decode(res)if reason then reason=reason.message end
|
||||||
readCHN:push(code.."-"..(reason or res))
|
readCHN:push(code.."-"..(reason or res))
|
||||||
else
|
else
|
||||||
readCHN:push(string.format("%d-%s",shl(byte(res,1),8)+byte(res,2).."-"..res:sub(3,-3)))
|
readCHN:push(string.format("%d-%s",shl(byte(res,1),8)+byte(res,2).."-"..res:sub(3,-3)))
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
local floatWheel=0
|
local floatWheel=0
|
||||||
function wheelScroll(y)
|
return function(y)
|
||||||
if y>0 then
|
if y>0 then
|
||||||
if floatWheel<0 then floatWheel=0 end
|
if floatWheel<0 then floatWheel=0 end
|
||||||
floatWheel=floatWheel+y^1.2
|
floatWheel=floatWheel+y^1.2
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ return{--返回一个table,你也可以在之前定义一些常量或者函数
|
|||||||
PLY.draw.drawTargetLine(P,r)--使用自带的境界高度线绘制函数
|
PLY.draw.drawTargetLine(P,r)--使用自带的境界高度线绘制函数
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.time,P.stat.piece}end,--游戏结束时需要保存的本局关键信息
|
score=function(P)return{P.stat.time,P.stat.piece}end,--游戏结束时需要保存的本局关键信息
|
||||||
scoreDisp=function(D)return toTime(D[1]).." "..D[2].." Pieces"end,--把score返回的数据显示出来的方法
|
scoreDisp=function(D)return TIMESTR(D[1]).." "..D[2].." Pieces"end,--把score返回的数据显示出来的方法
|
||||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,--按照时间排序,时间一样就看块数
|
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,--按照时间排序,时间一样就看块数
|
||||||
getRank=function(P)--计算评级
|
getRank=function(P)--计算评级
|
||||||
if P.stat.row<40 then return end--你总得打完40行对吧,否则直接return空掉,成绩都不记录
|
if P.stat.row<40 then return end--你总得打完40行对吧,否则直接return空掉,成绩都不记录
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ local ins,rem=table.insert,table.remove
|
|||||||
-- 11~13:LL,RR,DD
|
-- 11~13:LL,RR,DD
|
||||||
local blockPos={4,4,4,4,4,5,4}
|
local blockPos={4,4,4,4,4,5,4}
|
||||||
-------------------------------------------------Cold clear
|
-------------------------------------------------Cold clear
|
||||||
local _CC=loadLib("CC",{
|
local _CC=LOADLIB("CC",{
|
||||||
Windows="CCloader",
|
Windows="CCloader",
|
||||||
Linux="CCloader",
|
Linux="CCloader",
|
||||||
Android="libCCloader.so",
|
Android="libCCloader.so",
|
||||||
|
|||||||
@@ -674,7 +674,7 @@ do--function dumpBasicConfig()
|
|||||||
for _,key in next,gameSetting do
|
for _,key in next,gameSetting do
|
||||||
S[key]=SETTING[key]
|
S[key]=SETTING[key]
|
||||||
end
|
end
|
||||||
return data.encode("string","base64",json.encode(S))
|
return data.encode("string","base64",JSON.encode(S))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
do--function resetGameData(args)
|
do--function resetGameData(args)
|
||||||
@@ -965,8 +965,8 @@ do--function saveRecording()
|
|||||||
(USER.name or"Player")
|
(USER.name or"Player")
|
||||||
local fileBody=
|
local fileBody=
|
||||||
GAME.seed.."\n"..
|
GAME.seed.."\n"..
|
||||||
json.encode(GAME.setting).."\n"..
|
JSON.encode(GAME.setting).."\n"..
|
||||||
json.encode(getModList()).."\n"..
|
JSON.encode(getModList()).."\n"..
|
||||||
dumpRecording(GAME.rep)
|
dumpRecording(GAME.rep)
|
||||||
|
|
||||||
--Write file
|
--Write file
|
||||||
@@ -1071,7 +1071,7 @@ end
|
|||||||
do
|
do
|
||||||
--[[
|
--[[
|
||||||
launch:
|
launch:
|
||||||
local res=json.decode(res.body)
|
local res=JSON.decode(res.body)
|
||||||
if res.message=="OK"then
|
if res.message=="OK"then
|
||||||
LOG.print(res.notice,360,COLOR.sky)
|
LOG.print(res.notice,360,COLOR.sky)
|
||||||
if VERSION_CODE>=res.version_code then
|
if VERSION_CODE>=res.version_code then
|
||||||
@@ -1105,7 +1105,7 @@ do
|
|||||||
PATH.http..PATH.user,
|
PATH.http..PATH.user,
|
||||||
"GET",
|
"GET",
|
||||||
{["Content-Type"]="application/json"},
|
{["Content-Type"]="application/json"},
|
||||||
json.encode{
|
JSON.encode{
|
||||||
email=USER.email,
|
email=USER.email,
|
||||||
authToken=USER.authToken,
|
authToken=USER.authToken,
|
||||||
}
|
}
|
||||||
@@ -1126,13 +1126,13 @@ do
|
|||||||
LOG.print(text.loginSuccessed)
|
LOG.print(text.loginSuccessed)
|
||||||
|
|
||||||
--TODO:getUserInfo
|
--TODO:getUserInfo
|
||||||
json.encode{
|
JSON.encode{
|
||||||
email=USER.email,
|
email=USER.email,
|
||||||
authToken=USER.authToken,
|
authToken=USER.authToken,
|
||||||
}
|
}
|
||||||
|
|
||||||
--TODO:getAccessToken
|
--TODO:getAccessToken
|
||||||
json.encode{
|
JSON.encode{
|
||||||
email=USER.email,
|
email=USER.email,
|
||||||
authToken=USER.authToken,
|
authToken=USER.authToken,
|
||||||
}
|
}
|
||||||
@@ -1150,13 +1150,13 @@ do
|
|||||||
PATH.http..PATH.access,
|
PATH.http..PATH.access,
|
||||||
"POST",
|
"POST",
|
||||||
{["Content-Type"]="application/json"},
|
{["Content-Type"]="application/json"},
|
||||||
json.encode{
|
JSON.encode{
|
||||||
email=USER.email,
|
email=USER.email,
|
||||||
authToken=USER.authToken,
|
authToken=USER.authToken,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
local err=json.decode(res.body)
|
local err=JSON.decode(res.body)
|
||||||
if err then
|
if err then
|
||||||
LOG.print(text.httpCode..res.code..": "..err.message,"warn")
|
LOG.print(text.httpCode..res.code..": "..err.message,"warn")
|
||||||
end
|
end
|
||||||
@@ -1233,7 +1233,7 @@ do
|
|||||||
LOG.print(text.wsClose..message,"warn")
|
LOG.print(text.wsClose..message,"warn")
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
message=json.decode(message)
|
message=JSON.decode(message)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
elseif status~="connecting"then
|
elseif status~="connecting"then
|
||||||
@@ -1256,7 +1256,7 @@ do
|
|||||||
LOG.print(text.wsClose..message,"warn")
|
LOG.print(text.wsClose..message,"warn")
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
message=json.decode(message)
|
message=JSON.decode(message)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
return splitStr([=[
|
return SPLITSTR([=[
|
||||||
Gameplay:
|
Gameplay:
|
||||||
The system will provide you with tetrominoes (4-block pieces),
|
The system will provide you with tetrominoes (4-block pieces),
|
||||||
with a total of 7 types, and the player needs to control them
|
with a total of 7 types, and the player needs to control them
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
return splitStr([=[
|
return SPLITSTR([=[
|
||||||
游戏方法:
|
游戏方法:
|
||||||
系统会提供的一个个四连骨牌("方块",总共7种)
|
系统会提供的一个个四连骨牌("方块",总共7种)
|
||||||
玩家需要控制(左右移动和旋转90,180,270度)这些骨牌直到下落到场地底部,锁定
|
玩家需要控制(左右移动和旋转90,180,270度)这些骨牌直到下落到场地底部,锁定
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ return{
|
|||||||
mText(drawableText.nextWave,69,380)
|
mText(drawableText.nextWave,69,380)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Waves "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local W=P.modeData.event
|
local W=P.modeData.event
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ return{
|
|||||||
mText(drawableText.nextWave,69,380)
|
mText(drawableText.nextWave,69,380)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Waves "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local W=P.modeData.event
|
local W=P.modeData.event
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ return{
|
|||||||
mStr(P.stat.clears[4],69,340)
|
mStr(P.stat.clears[4],69,340)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{min(P.stat.row,200),P.stat.time}end,
|
score=function(P)return{min(P.stat.row,200),P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Lines "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.row
|
local L=P.stat.row
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ return{
|
|||||||
gc.draw(IMG.electric,124,106,0,2.6)
|
gc.draw(IMG.electric,124,106,0,2.6)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{min(P.stat.row,200),P.stat.time}end,
|
score=function(P)return{min(P.stat.row,200),P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Lines "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.row
|
local L=P.stat.row
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ return{
|
|||||||
gc.draw(IMG.electric,124,106,0,2.6)
|
gc.draw(IMG.electric,124,106,0,2.6)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{min(P.stat.row,200),P.stat.time}end,
|
score=function(P)return{min(P.stat.row,200),P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Lines "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.row
|
local L=P.stat.row
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ return{
|
|||||||
gc.draw(IMG.electric,124,106,0,2.6)
|
gc.draw(IMG.electric,124,106,0,2.6)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{min(P.stat.row,200),P.stat.time}end,
|
score=function(P)return{min(P.stat.row,200),P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Lines "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.row
|
local L=P.stat.row
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ return{
|
|||||||
gc.draw(IMG.electric,124,106,0,2.6)
|
gc.draw(IMG.electric,124,106,0,2.6)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{min(P.stat.row,100),P.stat.time}end,
|
score=function(P)return{min(P.stat.row,100),P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Lines "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.row
|
local L=P.stat.row
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ return{
|
|||||||
mStr(P.stat.clears[4],69,340)
|
mStr(P.stat.clears[4],69,340)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{min(P.stat.row,40),P.stat.time}end,
|
score=function(P)return{min(P.stat.row,40),P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Lines "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.row
|
local L=P.stat.row
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ return{
|
|||||||
mText(drawableText.maxcmb,69,450)
|
mText(drawableText.maxcmb,69,450)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{min(P.modeData.point,100),P.stat.time}end,
|
score=function(P)return{min(P.modeData.point,100),P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Combo "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Combo "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.modeData.point
|
local L=P.modeData.point
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ return{
|
|||||||
mText(drawableText.maxcmb,69,450)
|
mText(drawableText.maxcmb,69,450)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{min(P.modeData.point,100),P.stat.time}end,
|
score=function(P)return{min(P.modeData.point,100),P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Combo "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Combo "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.row
|
local L=P.stat.row
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ return{
|
|||||||
mText(drawableText.rpm,69,380)
|
mText(drawableText.rpm,69,380)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Waves "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local W=P.modeData.event
|
local W=P.modeData.event
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ return{
|
|||||||
mText(drawableText.rpm,69,380)
|
mText(drawableText.rpm,69,380)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Waves "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local W=P.modeData.event
|
local W=P.modeData.event
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ return{
|
|||||||
mStr(100-P.stat.dig,69,265)
|
mStr(100-P.stat.dig,69,265)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.time,P.stat.piece}end,
|
score=function(P)return{P.stat.time,P.stat.piece}end,
|
||||||
scoreDisp=function(D)return toTime(D[1]).." "..D[2].." Pieces"end,
|
scoreDisp=function(D)return TIMESTR(D[1]).." "..D[2].." Pieces"end,
|
||||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.stat.dig<100 then return end
|
if P.stat.dig<100 then return end
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ return{
|
|||||||
mStr(10-P.stat.dig,69,265)
|
mStr(10-P.stat.dig,69,265)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.time,P.stat.piece}end,
|
score=function(P)return{P.stat.time,P.stat.piece}end,
|
||||||
scoreDisp=function(D)return toTime(D[1]).." "..D[2].." Pieces"end,
|
scoreDisp=function(D)return TIMESTR(D[1]).." "..D[2].." Pieces"end,
|
||||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.stat.dig<10 then return end
|
if P.stat.dig<10 then return end
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ return{
|
|||||||
mStr(400-P.stat.dig,69,265)
|
mStr(400-P.stat.dig,69,265)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.time,P.stat.piece}end,
|
score=function(P)return{P.stat.time,P.stat.piece}end,
|
||||||
scoreDisp=function(D)return toTime(D[1]).." "..D[2].." Pieces"end,
|
scoreDisp=function(D)return TIMESTR(D[1]).." "..D[2].." Pieces"end,
|
||||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.stat.dig<400 then return end
|
if P.stat.dig<400 then return end
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ return{
|
|||||||
mStr(40-P.stat.dig,69,265)
|
mStr(40-P.stat.dig,69,265)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.time,P.stat.piece}end,
|
score=function(P)return{P.stat.time,P.stat.piece}end,
|
||||||
scoreDisp=function(D)return toTime(D[1]).." "..D[2].." Pieces"end,
|
scoreDisp=function(D)return TIMESTR(D[1]).." "..D[2].." Pieces"end,
|
||||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.stat.dig<40 then return end
|
if P.stat.dig<40 then return end
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ return{
|
|||||||
mStr(R>=0 and R or 0,69,265)
|
mStr(R>=0 and R or 0,69,265)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{min(P.stat.row,100),P.stat.time}end,
|
score=function(P)return{min(P.stat.row,100),P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Lines "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.row
|
local L=P.stat.row
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ return{
|
|||||||
mStr(R>=0 and R or 0,69,265)
|
mStr(R>=0 and R or 0,69,265)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{min(P.stat.row,100),P.stat.time}end,
|
score=function(P)return{min(P.stat.row,100),P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Lines "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.row
|
local L=P.stat.row
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ return{
|
|||||||
env={
|
env={
|
||||||
noTele=true,
|
noTele=true,
|
||||||
wait=8,fall=20,
|
wait=8,fall=20,
|
||||||
target=10,dropPiece=function (P)
|
target=10,dropPiece=function(P)
|
||||||
if P.combo>1 or P.b2b>0 or P.lastPiece.row>1 then
|
if P.combo>1 or P.b2b>0 or P.lastPiece.row>1 then
|
||||||
if P.combo>1 then P:showText("2x",0,-220,40,"flicker",.3)end
|
if P.combo>1 then P:showText("2x",0,-220,40,"flicker",.3)end
|
||||||
if P.b2b>0 then P:showText("spin",0,-160,40,"flicker",.3)end
|
if P.b2b>0 then P:showText("spin",0,-160,40,"flicker",.3)end
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ return{
|
|||||||
gc.rectangle("fill",25,375,90,4)
|
gc.rectangle("fill",25,375,90,4)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
|
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Lines "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.row
|
local L=P.stat.row
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ return{
|
|||||||
gc.rectangle("fill",25,375,90,4)
|
gc.rectangle("fill",25,375,90,4)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
|
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Lines "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.row
|
local L=P.stat.row
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ return{
|
|||||||
gc.rectangle("fill",25,375,90,4)
|
gc.rectangle("fill",25,375,90,4)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.modeData.point,P.stat.time}end,
|
score=function(P)return{P.modeData.point,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].."P "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].."P "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)
|
comp=function(a,b)
|
||||||
return a[1]>b[1]or(a[1]==b[1]and a[2]<b[2])
|
return a[1]>b[1]or(a[1]==b[1]and a[2]<b[2])
|
||||||
end,
|
end,
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ return{
|
|||||||
gc.rectangle("fill",25,375,90,4)
|
gc.rectangle("fill",25,375,90,4)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.modeData.point,P.stat.time}end,
|
score=function(P)return{P.modeData.point,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].."P "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].."P "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)
|
comp=function(a,b)
|
||||||
return a[1]>b[1]or(a[1]==b[1]and a[2]<b[2])
|
return a[1]>b[1]or(a[1]==b[1]and a[2]<b[2])
|
||||||
end,
|
end,
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ return{
|
|||||||
gc.rectangle("fill",25,375,90,4)
|
gc.rectangle("fill",25,375,90,4)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.modeData.point,P.stat.time}end,
|
score=function(P)return{P.modeData.point,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].."P "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].."P "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local S=P.modeData.point
|
local S=P.modeData.point
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ return{
|
|||||||
gc.rectangle("fill",25,375,90,4)
|
gc.rectangle("fill",25,375,90,4)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.result=="WIN"and 260 or P.modeData.point,P.stat.time}end,
|
score=function(P)return{P.result=="WIN"and 260 or P.modeData.point,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].."P "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].."P "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local p=P.modeData.point
|
local p=P.modeData.point
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ return{
|
|||||||
mText(drawableText.pc,69,432)
|
mText(drawableText.pc,69,432)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.pc,P.stat.time}end,
|
score=function(P)return{P.stat.pc,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." PCs "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." PCs "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.pc
|
local L=P.stat.pc
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ return{
|
|||||||
mText(drawableText.pc,69,432)
|
mText(drawableText.pc,69,432)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.pc,P.stat.time}end,
|
score=function(P)return{P.stat.pc,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." PCs "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." PCs "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.pc
|
local L=P.stat.pc
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ return{
|
|||||||
mText(drawableText.pc,69,432)
|
mText(drawableText.pc,69,432)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.pc,P.stat.time}end,
|
score=function(P)return{P.stat.pc,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." PCs "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." PCs "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.pc
|
local L=P.stat.pc
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ return{
|
|||||||
mText(drawableText.pc,69,412)
|
mText(drawableText.pc,69,412)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.pc,P.stat.time}end,
|
score=function(P)return{P.stat.pc,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." PCs "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." PCs "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.pc
|
local L=P.stat.pc
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ return{
|
|||||||
mText(drawableText.pc,69,412)
|
mText(drawableText.pc,69,412)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.pc,P.stat.time}end,
|
score=function(P)return{P.stat.pc,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." PCs "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." PCs "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.pc
|
local L=P.stat.pc
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ return{
|
|||||||
gc.circle("line",69,200,30+45*beat)
|
gc.circle("line",69,200,30+45*beat)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
|
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Lines "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.row
|
local L=P.stat.row
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ return{
|
|||||||
gc.circle("line",69,200,30+45*beat)
|
gc.circle("line",69,200,30+45*beat)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
|
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Lines "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.row
|
local L=P.stat.row
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ return{
|
|||||||
gc.circle("line",69,200,30+45*beat)
|
gc.circle("line",69,200,30+45*beat)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
|
score=function(P)return{math.min(P.stat.row,200),P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Lines "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.row
|
local L=P.stat.row
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ return{
|
|||||||
PLY.newAIPlayer(2,AIBUILDER("CC",10,1,true,10000))
|
PLY.newAIPlayer(2,AIBUILDER("CC",10,1,true,10000))
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.piece,P.stat.time}end,
|
score=function(P)return{P.stat.piece,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Pieces "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Pieces "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.result=="WIN"then
|
if P.result=="WIN"then
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ return{
|
|||||||
PLY.newAIPlayer(2,AIBUILDER("CC",10,2,true,16000))
|
PLY.newAIPlayer(2,AIBUILDER("CC",10,2,true,16000))
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.piece,P.stat.time}end,
|
score=function(P)return{P.stat.piece,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Pieces "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Pieces "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.result=="WIN"then
|
if P.result=="WIN"then
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ return{
|
|||||||
PLY.newAIPlayer(2,AIBUILDER("CC",10,3,true,26000))
|
PLY.newAIPlayer(2,AIBUILDER("CC",10,3,true,26000))
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.piece,P.stat.time}end,
|
score=function(P)return{P.stat.piece,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Pieces "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Pieces "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.result=="WIN"then
|
if P.result=="WIN"then
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ return{
|
|||||||
PLY.newAIPlayer(2,AIBUILDER("CC",10,1,true,13000))
|
PLY.newAIPlayer(2,AIBUILDER("CC",10,1,true,13000))
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.piece,P.stat.time}end,
|
score=function(P)return{P.stat.piece,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Pieces "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Pieces "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.result=="WIN"then
|
if P.result=="WIN"then
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ return{
|
|||||||
PLY.newAIPlayer(2,AIBUILDER("CC",10,3,true,40000))
|
PLY.newAIPlayer(2,AIBUILDER("CC",10,3,true,40000))
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.piece,P.stat.time}end,
|
score=function(P)return{P.stat.piece,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Pieces "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Pieces "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.result=="WIN"then
|
if P.result=="WIN"then
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ return{
|
|||||||
PLY.newAIPlayer(2,AIBUILDER("9S",4))
|
PLY.newAIPlayer(2,AIBUILDER("9S",4))
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.time}end,
|
score=function(P)return{P.stat.time}end,
|
||||||
scoreDisp=function(D)return toTime(D[1])end,
|
scoreDisp=function(D)return TIMESTR(D[1])end,
|
||||||
comp=function(a,b)return a[1]<b[1]end,
|
comp=function(a,b)return a[1]<b[1]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.result=="WIN"then
|
if P.result=="WIN"then
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ return{
|
|||||||
PLY.newAIPlayer(2,AIBUILDER("9S",6))
|
PLY.newAIPlayer(2,AIBUILDER("9S",6))
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.time}end,
|
score=function(P)return{P.stat.time}end,
|
||||||
scoreDisp=function(D)return toTime(D[1])end,
|
scoreDisp=function(D)return TIMESTR(D[1])end,
|
||||||
comp=function(a,b)return a[1]<b[1]end,
|
comp=function(a,b)return a[1]<b[1]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.result=="WIN"then
|
if P.result=="WIN"then
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ return{
|
|||||||
PLY.newAIPlayer(2,AIBUILDER("CC",6,2,true,30000))
|
PLY.newAIPlayer(2,AIBUILDER("CC",6,2,true,30000))
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.time}end,
|
score=function(P)return{P.stat.time}end,
|
||||||
scoreDisp=function(D)return toTime(D[1])end,
|
scoreDisp=function(D)return TIMESTR(D[1])end,
|
||||||
comp=function(a,b)return a[1]<b[1]end,
|
comp=function(a,b)return a[1]<b[1]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.result=="WIN"then
|
if P.result=="WIN"then
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ return{
|
|||||||
PLY.newAIPlayer(2,AIBUILDER("9S",5))
|
PLY.newAIPlayer(2,AIBUILDER("9S",5))
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.time}end,
|
score=function(P)return{P.stat.time}end,
|
||||||
scoreDisp=function(D)return toTime(D[1])end,
|
scoreDisp=function(D)return TIMESTR(D[1])end,
|
||||||
comp=function(a,b)return a[1]<b[1]end,
|
comp=function(a,b)return a[1]<b[1]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.result=="WIN"then
|
if P.result=="WIN"then
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ return{
|
|||||||
PLY.newAIPlayer(2,AIBUILDER("CC",7,3,true,50000))
|
PLY.newAIPlayer(2,AIBUILDER("CC",7,3,true,50000))
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.time}end,
|
score=function(P)return{P.stat.time}end,
|
||||||
scoreDisp=function(D)return toTime(D[1])end,
|
scoreDisp=function(D)return TIMESTR(D[1])end,
|
||||||
comp=function(a,b)return a[1]<b[1]end,
|
comp=function(a,b)return a[1]<b[1]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.result=="WIN"then
|
if P.result=="WIN"then
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ return{
|
|||||||
PLY.draw.drawTargetLine(P,r)
|
PLY.draw.drawTargetLine(P,r)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.time,P.stat.piece}end,
|
score=function(P)return{P.stat.time,P.stat.piece}end,
|
||||||
scoreDisp=function(D)return toTime(D[1]).." "..D[2].." Pieces"end,
|
scoreDisp=function(D)return TIMESTR(D[1]).." "..D[2].." Pieces"end,
|
||||||
comp=function(a,b)return a[1]<b[1]or(a[1]==b[1] and a[2]<b[2])end,
|
comp=function(a,b)return a[1]<b[1]or(a[1]==b[1] and a[2]<b[2])end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.stat.row<40 then return end
|
if P.stat.row<40 then return end
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ return{
|
|||||||
PLY.draw.drawTargetLine(P,r)
|
PLY.draw.drawTargetLine(P,r)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.time,P.stat.piece}end,
|
score=function(P)return{P.stat.time,P.stat.piece}end,
|
||||||
scoreDisp=function(D)return toTime(D[1]).." "..D[2].." Pieces"end,
|
scoreDisp=function(D)return TIMESTR(D[1]).." "..D[2].." Pieces"end,
|
||||||
comp=function(a,b)return a[1]<b[1]or(a[1]==b[1] and a[2]<b[2])end,
|
comp=function(a,b)return a[1]<b[1]or(a[1]==b[1] and a[2]<b[2])end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.stat.row<40 then return end
|
if P.stat.row<40 then return end
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ return{
|
|||||||
PLY.draw.drawTargetLine(P,r)
|
PLY.draw.drawTargetLine(P,r)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.time,P.stat.piece}end,
|
score=function(P)return{P.stat.time,P.stat.piece}end,
|
||||||
scoreDisp=function(D)return toTime(D[1]).." "..D[2].." Pieces"end,
|
scoreDisp=function(D)return TIMESTR(D[1]).." "..D[2].." Pieces"end,
|
||||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.stat.row<1000 then return end
|
if P.stat.row<1000 then return end
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ return{
|
|||||||
PLY.draw.drawTargetLine(P,r)
|
PLY.draw.drawTargetLine(P,r)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.time,P.stat.piece}end,
|
score=function(P)return{P.stat.time,P.stat.piece}end,
|
||||||
scoreDisp=function(D)return toTime(D[1]).." "..D[2].." Pieces"end,
|
scoreDisp=function(D)return TIMESTR(D[1]).." "..D[2].." Pieces"end,
|
||||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.stat.row<100 then return end
|
if P.stat.row<100 then return end
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ return{
|
|||||||
PLY.draw.drawTargetLine(P,r)
|
PLY.draw.drawTargetLine(P,r)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.time,P.stat.piece}end,
|
score=function(P)return{P.stat.time,P.stat.piece}end,
|
||||||
scoreDisp=function(D)return toTime(D[1]).." "..D[2].." Pieces"end,
|
scoreDisp=function(D)return TIMESTR(D[1]).." "..D[2].." Pieces"end,
|
||||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.stat.row<10 then return end
|
if P.stat.row<10 then return end
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ return{
|
|||||||
PLY.draw.drawTargetLine(P,r)
|
PLY.draw.drawTargetLine(P,r)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.time,P.stat.piece}end,
|
score=function(P)return{P.stat.time,P.stat.piece}end,
|
||||||
scoreDisp=function(D)return toTime(D[1]).." "..D[2].." Pieces"end,
|
scoreDisp=function(D)return TIMESTR(D[1]).." "..D[2].." Pieces"end,
|
||||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.stat.row<20 then return end
|
if P.stat.row<20 then return end
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ return{
|
|||||||
PLY.draw.drawTargetLine(P,r)
|
PLY.draw.drawTargetLine(P,r)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.time,P.stat.piece}end,
|
score=function(P)return{P.stat.time,P.stat.piece}end,
|
||||||
scoreDisp=function(D)return toTime(D[1]).." "..D[2].." Pieces"end,
|
scoreDisp=function(D)return TIMESTR(D[1]).." "..D[2].." Pieces"end,
|
||||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.stat.row<400 then return end
|
if P.stat.row<400 then return end
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ return{
|
|||||||
PLY.draw.drawTargetLine(P,r)
|
PLY.draw.drawTargetLine(P,r)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.time,P.stat.piece}end,
|
score=function(P)return{P.stat.time,P.stat.piece}end,
|
||||||
scoreDisp=function(D)return toTime(D[1]).." "..D[2].." Pieces"end,
|
scoreDisp=function(D)return TIMESTR(D[1]).." "..D[2].." Pieces"end,
|
||||||
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
if P.stat.row<40 then return end
|
if P.stat.row<40 then return end
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ return{
|
|||||||
mText(drawableText.wave,69,375)
|
mText(drawableText.wave,69,375)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Waves "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local W=P.modeData.event
|
local W=P.modeData.event
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ return{
|
|||||||
mText(drawableText.wave,69,375)
|
mText(drawableText.wave,69,375)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Waves "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local W=P.modeData.event
|
local W=P.modeData.event
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ return{
|
|||||||
mText(drawableText.wave,69,375)
|
mText(drawableText.wave,69,375)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Waves "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local W=P.modeData.event
|
local W=P.modeData.event
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ return{
|
|||||||
mText(drawableText.wave,69,375)
|
mText(drawableText.wave,69,375)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Waves "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local W=P.modeData.event
|
local W=P.modeData.event
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ return{
|
|||||||
mText(drawableText.wave,69,375)
|
mText(drawableText.wave,69,375)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Waves "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local W=P.modeData.event
|
local W=P.modeData.event
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ return{
|
|||||||
mText(drawableText.eff,69,363)
|
mText(drawableText.eff,69,363)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.atk<=200 and int(P.stat.atk)or 200,P.stat.time}end,
|
score=function(P)return{P.stat.atk<=200 and int(P.stat.atk)or 200,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Attack "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Attack "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.atk
|
local L=P.stat.atk
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ return{
|
|||||||
mText(drawableText.eff,69,363)
|
mText(drawableText.eff,69,363)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.atk<=200 and int(P.stat.atk)or 200,P.stat.time}end,
|
score=function(P)return{P.stat.atk<=200 and int(P.stat.atk)or 200,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Attack "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Attack "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.atk
|
local L=P.stat.atk
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ return{
|
|||||||
mText(drawableText.eff,69,363)
|
mText(drawableText.eff,69,363)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.atk<=200 and int(P.stat.atk)or 200,P.stat.time}end,
|
score=function(P)return{P.stat.atk<=200 and int(P.stat.atk)or 200,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Attack "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Attack "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.atk
|
local L=P.stat.atk
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ return{
|
|||||||
mText(drawableText.eff,69,363)
|
mText(drawableText.eff,69,363)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.atk<=200 and int(P.stat.atk)or 200,P.stat.time}end,
|
score=function(P)return{P.stat.atk<=200 and int(P.stat.atk)or 200,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Attack "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Attack "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.atk
|
local L=P.stat.atk
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ return{
|
|||||||
mText(drawableText.eff,69,363)
|
mText(drawableText.eff,69,363)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.atk<=200 and int(P.stat.atk)or 200,P.stat.time}end,
|
score=function(P)return{P.stat.atk<=200 and int(P.stat.atk)or 200,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Attack "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Attack "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.atk
|
local L=P.stat.atk
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ return{
|
|||||||
mText(drawableText.eff,69,363)
|
mText(drawableText.eff,69,363)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.atk<=200 and int(P.stat.atk)or 200,P.stat.time}end,
|
score=function(P)return{P.stat.atk<=200 and int(P.stat.atk)or 200,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Attack "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Attack "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.atk
|
local L=P.stat.atk
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ return{
|
|||||||
mText(drawableText.eff,69,363)
|
mText(drawableText.eff,69,363)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.atk<=200 and int(P.stat.atk)or 200,P.stat.time}end,
|
score=function(P)return{P.stat.atk<=200 and int(P.stat.atk)or 200,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Attack "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Attack "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.atk
|
local L=P.stat.atk
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ return{
|
|||||||
mText(drawableText.eff,69,363)
|
mText(drawableText.eff,69,363)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.stat.atk<=200 and int(P.stat.atk)or 200,P.stat.time}end,
|
score=function(P)return{P.stat.atk<=200 and int(P.stat.atk)or 200,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].." Attack "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].." Attack "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local L=P.stat.atk
|
local L=P.stat.atk
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ return{
|
|||||||
mText(drawableText.tsd,69,315)
|
mText(drawableText.tsd,69,315)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].."TSD "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].."TSD "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local T=P.modeData.event
|
local T=P.modeData.event
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ return{
|
|||||||
mText(drawableText.tsd,69,315)
|
mText(drawableText.tsd,69,315)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].."TSD "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].."TSD "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local T=P.modeData.event
|
local T=P.modeData.event
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ return{
|
|||||||
mText(drawableText.tsd,69,315)
|
mText(drawableText.tsd,69,315)
|
||||||
end,
|
end,
|
||||||
score=function(P)return{P.modeData.event,P.stat.time}end,
|
score=function(P)return{P.modeData.event,P.stat.time}end,
|
||||||
scoreDisp=function(D)return D[1].."TSD "..toTime(D[2])end,
|
scoreDisp=function(D)return D[1].."TSD "..TIMESTR(D[2])end,
|
||||||
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
|
||||||
getRank=function(P)
|
getRank=function(P)
|
||||||
local T=P.modeData.event
|
local T=P.modeData.event
|
||||||
|
|||||||
@@ -223,7 +223,7 @@ end
|
|||||||
local function loadRemoteEnv(P,confStr)--Load gameEnv
|
local function loadRemoteEnv(P,confStr)--Load gameEnv
|
||||||
local _,conf=pcall(love.data.decode,"string","base64",confStr)
|
local _,conf=pcall(love.data.decode,"string","base64",confStr)
|
||||||
if _ then
|
if _ then
|
||||||
conf=json.decode(conf)
|
conf=JSON.decode(conf)
|
||||||
else
|
else
|
||||||
conf={}
|
conf={}
|
||||||
LOG.print("Bad conf from "..P.userName.."#"..P.userID)
|
LOG.print("Bad conf from "..P.userName.."#"..P.userID)
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ function scene.keyDown(key)
|
|||||||
LOG.print(text.exportSuccess,COLOR.green)
|
LOG.print(text.exportSuccess,COLOR.green)
|
||||||
elseif key=="v"and kb.isDown("lctrl","rctrl")or key=="cV"then
|
elseif key=="v"and kb.isDown("lctrl","rctrl")or key=="cV"then
|
||||||
local str=sys.getClipboardText()
|
local str=sys.getClipboardText()
|
||||||
local args=splitStr(str:sub((str:find(":")or 0)+1),"!")
|
local args=SPLITSTR(str:sub((str:find(":")or 0)+1),"!")
|
||||||
if #args<4 then goto fail end
|
if #args<4 then goto fail end
|
||||||
if not(
|
if not(
|
||||||
pasteQuestArgs(args[1])and
|
pasteQuestArgs(args[1])and
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ function scene.sceneInit()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function scene.wheelMoved(_,y)
|
function scene.wheelMoved(_,y)
|
||||||
wheelScroll(y)
|
WHEELMOV(y)
|
||||||
end
|
end
|
||||||
function scene.keyDown(k)
|
function scene.keyDown(k)
|
||||||
if k=="up"then
|
if k=="up"then
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ local loadingThread=coroutine.create(function()
|
|||||||
STAT.run=STAT.run+1
|
STAT.run=STAT.run+1
|
||||||
LOADED=true
|
LOADED=true
|
||||||
--[[TODO
|
--[[TODO
|
||||||
WS.send("user",json.encode{
|
WS.send("user",JSON.encode{
|
||||||
id=USER.id,
|
id=USER.id,
|
||||||
authToken=USER.authToken,
|
authToken=USER.authToken,
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ local function login()
|
|||||||
LOG.print(text.noPassword)return
|
LOG.print(text.noPassword)return
|
||||||
end
|
end
|
||||||
--[[TODO
|
--[[TODO
|
||||||
WS.send("user",json.encode{
|
WS.send("user",JSON.encode{
|
||||||
email=email,
|
email=email,
|
||||||
password=password,
|
password=password,
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -72,13 +72,13 @@ scene.widgetList={
|
|||||||
if LOGIN then
|
if LOGIN then
|
||||||
--[[TODO
|
--[[TODO
|
||||||
if USER.accessToken then
|
if USER.accessToken then
|
||||||
WS.send("app",json.encode{
|
WS.send("app",JSON.encode{
|
||||||
opration="access",
|
opration="access",
|
||||||
email=USER.email,
|
email=USER.email,
|
||||||
accessToken=USER.accessToken,
|
accessToken=USER.accessToken,
|
||||||
})
|
})
|
||||||
else
|
else
|
||||||
WS.send("app",json.encode{
|
WS.send("app",JSON.encode{
|
||||||
opration="access",
|
opration="access",
|
||||||
email=USER.email,
|
email=USER.email,
|
||||||
authToken=USER.authToken,
|
authToken=USER.authToken,
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ function scene.sceneInit()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function scene.wheelMoved(_,y)
|
function scene.wheelMoved(_,y)
|
||||||
wheelScroll(y)
|
WHEELMOV(y)
|
||||||
end
|
end
|
||||||
function scene.keyDown(k)
|
function scene.keyDown(k)
|
||||||
if k=="up"then
|
if k=="up"then
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ function scene.sceneInit()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function scene.wheelMoved(_,y)
|
function scene.wheelMoved(_,y)
|
||||||
wheelScroll(y)
|
WHEELMOV(y)
|
||||||
end
|
end
|
||||||
function scene.keyDown(key)
|
function scene.keyDown(key)
|
||||||
local S=selected
|
local S=selected
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ function scene.sceneBack()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function scene.wheelMoved(_,y)
|
function scene.wheelMoved(_,y)
|
||||||
wheelScroll(y)
|
WHEELMOV(y)
|
||||||
end
|
end
|
||||||
function scene.keyDown(k)
|
function scene.keyDown(k)
|
||||||
if k=="up"then
|
if k=="up"then
|
||||||
@@ -63,7 +63,7 @@ end
|
|||||||
|
|
||||||
function scene.socketRead(mes)
|
function scene.socketRead(mes)
|
||||||
local cmd=mes:sub(1,1)
|
local cmd=mes:sub(1,1)
|
||||||
local args=splitStr(mes:sub(2),";")
|
local args=SPLITSTR(mes:sub(2),";")
|
||||||
if cmd=="J"or cmd=="L"then
|
if cmd=="J"or cmd=="L"then
|
||||||
textBox:push{
|
textBox:push{
|
||||||
COLOR.lR,args[1],
|
COLOR.lR,args[1],
|
||||||
|
|||||||
@@ -151,10 +151,10 @@ end
|
|||||||
|
|
||||||
function scene.socketRead(mes)
|
function scene.socketRead(mes)
|
||||||
local cmd=mes:sub(1,1)
|
local cmd=mes:sub(1,1)
|
||||||
local args=splitStr(mes:sub(2),";")
|
local args=SPLITSTR(mes:sub(2),";")
|
||||||
if cmd=="J"then
|
if cmd=="J"then
|
||||||
if playerInitialized then
|
if playerInitialized then
|
||||||
local L=splitStr(args[1],",")
|
local L=SPLITSTR(args[1],",")
|
||||||
textBox:push{
|
textBox:push{
|
||||||
COLOR.lR,L[1],
|
COLOR.lR,L[1],
|
||||||
COLOR.dY,"#"..L[2].." ",
|
COLOR.dY,"#"..L[2].." ",
|
||||||
@@ -162,7 +162,7 @@ function scene.socketRead(mes)
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
for i=1,#args do
|
for i=1,#args do
|
||||||
local L=splitStr(args[i],",")
|
local L=SPLITSTR(args[i],",")
|
||||||
ins(playerData,{name=L[1],id=L[2],sid=L[3],conf=L[4],ready=L[5]=="1"})
|
ins(playerData,{name=L[1],id=L[2],sid=L[3],conf=L[4],ready=L[5]=="1"})
|
||||||
end
|
end
|
||||||
playerInitialized=true
|
playerInitialized=true
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ local lastCreateRoomTime=0
|
|||||||
|
|
||||||
local function enterRoom(roomID)
|
local function enterRoom(roomID)
|
||||||
--[[TODO
|
--[[TODO
|
||||||
WS.connect("play","/play",json.encode{
|
WS.connect("play","/play",JSON.encode{
|
||||||
email=USER.email,
|
email=USER.email,
|
||||||
token=USER.accessToken,
|
token=USER.accessToken,
|
||||||
id=roomID,
|
id=roomID,
|
||||||
@@ -21,7 +21,7 @@ local function fresh()
|
|||||||
lastfreshTime=TIME()
|
lastfreshTime=TIME()
|
||||||
rooms=nil
|
rooms=nil
|
||||||
--[[TODO
|
--[[TODO
|
||||||
WS.connect("play","/play",json.encode{
|
WS.connect("play","/play",JSON.encode{
|
||||||
email=USER.email,
|
email=USER.email,
|
||||||
accessToken=USER.accessToken,
|
accessToken=USER.accessToken,
|
||||||
})
|
})
|
||||||
@@ -38,7 +38,7 @@ function scene.sceneInit()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function scene.wheelMoved(_,y)
|
function scene.wheelMoved(_,y)
|
||||||
wheelScroll(y)
|
WHEELMOV(y)
|
||||||
end
|
end
|
||||||
function scene.keyDown(k)
|
function scene.keyDown(k)
|
||||||
if k=="r"then
|
if k=="r"then
|
||||||
@@ -48,7 +48,7 @@ function scene.keyDown(k)
|
|||||||
elseif k=="n"then
|
elseif k=="n"then
|
||||||
if TIME()-lastCreateRoomTime>26 then
|
if TIME()-lastCreateRoomTime>26 then
|
||||||
--[[TODO
|
--[[TODO
|
||||||
WS.send("room",json.encode{
|
WS.send("room",JSON.encode{
|
||||||
email=USER.email,
|
email=USER.email,
|
||||||
accessToken=USER.accessToken,
|
accessToken=USER.accessToken,
|
||||||
room_name=(USER.name or"???").."'s room",
|
room_name=(USER.name or"???").."'s room",
|
||||||
|
|||||||
@@ -40,7 +40,7 @@ function scene.sceneInit(org)
|
|||||||
|
|
||||||
local frameLostRate=(S.frame/S.time/60-1)*100
|
local frameLostRate=(S.frame/S.time/60-1)*100
|
||||||
form={
|
form={
|
||||||
{COLOR.white,toTime(S.time),COLOR[frameLostRate>10 and"red"or frameLostRate>3 and"yellow"or"grey"],format(" (%.2f%%)",frameLostRate)},
|
{COLOR.white,TIMESTR(S.time),COLOR[frameLostRate>10 and"red"or frameLostRate>3 and"yellow"or"grey"],format(" (%.2f%%)",frameLostRate)},
|
||||||
format("%d/%d/%d",S.key,S.rotate,S.hold),
|
format("%d/%d/%d",S.key,S.rotate,S.hold),
|
||||||
format("%d %.2fPPS",S.piece,S.piece/S.time),
|
format("%d %.2fPPS",S.piece,S.piece/S.time),
|
||||||
format("%d(%d) %.2fLPM",S.row,S.dig,S.row/S.time*60),
|
format("%d(%d) %.2fLPM",S.row,S.dig,S.row/S.time*60),
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ function scene.keyDown(key)
|
|||||||
LOG.print(text.diffPassword)return
|
LOG.print(text.diffPassword)return
|
||||||
end
|
end
|
||||||
--[[
|
--[[
|
||||||
json.encode{
|
JSON.encode{
|
||||||
username=username,
|
username=username,
|
||||||
email=email,
|
email=email,
|
||||||
password=password,
|
password=password,
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ local function dumpCB(T)
|
|||||||
"string","base64",
|
"string","base64",
|
||||||
love.data.compress(
|
love.data.compress(
|
||||||
"string","zlib",
|
"string","zlib",
|
||||||
dumpTable(T)
|
DUMPTABLE(T)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ function scene.sceneInit()
|
|||||||
item={
|
item={
|
||||||
S.run,
|
S.run,
|
||||||
S.game,
|
S.game,
|
||||||
toTime(S.time),
|
TIMESTR(S.time),
|
||||||
S.key.." "..S.rotate.." "..S.hold,
|
S.key.." "..S.rotate.." "..S.hold,
|
||||||
S.piece.." "..S.row.." "..int(S.atk),
|
S.piece.." "..S.row.." "..int(S.atk),
|
||||||
S.recv.." "..S.off.." "..S.pend,
|
S.recv.." "..S.off.." "..S.pend,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
return splitStr([=[
|
return SPLITSTR([=[
|
||||||
"Patron"(time ordered, may not accurate) Thanks!!!
|
"Patron"(time ordered, may not accurate) Thanks!!!
|
||||||
<<<<<<<<<<rmb1000+>>>>>>>>>>
|
<<<<<<<<<<rmb1000+>>>>>>>>>>
|
||||||
☆★★☆☆☆☆★★☆
|
☆★★☆☆☆☆★★☆
|
||||||
|
|||||||
Reference in New Issue
Block a user