This commit is contained in:
MrZ_26
2020-03-13 01:31:28 +08:00
parent 57857ceb67
commit 15df07ae3f
118 changed files with 2162 additions and 1898 deletions

View File

@@ -3,7 +3,7 @@ local sectionName={"M7","M8","M9","M","MK","MV","MO","MM","GM"}
local function score(P)
local F=false
if P.modeData.point<70 then--if Less then MM
local R=#P.cleared
local R=#P.clearedRow
if R==0 then return end
if R==4 then R=10 end
P.modeData.point=P.modeData.point+R
@@ -29,6 +29,8 @@ return{
},
color=color.lightBlue,
env={
noFly=true,
minarr=1,
_20G=true,
drop=0,lock=15,
wait=15,fall=6,
@@ -40,10 +42,9 @@ return{
if P.stat.time>=53.5 then
P.modeData.point=min(P.modeData.point+16,80)
P.modeData.event=sectionName[int(P.modeData.point*.1)+1]
Event.win(P,"finish")
P:win("finish")
end
end,
minarr=1,
bg="game3",bgm="shining terminal",
},
slowMark=true,
@@ -52,14 +53,14 @@ return{
players[1].modeData.event="M7"
end,
mesDisp=function(P,dx,dy)
mDraw(drawableText.line,-82,300)
mDraw(drawableText.techrash,-82,420)
mDraw(drawableText.grade,-82,170)
mDraw(drawableText.line,-81,300)
mDraw(drawableText.techrash,-81,420)
mDraw(drawableText.grade,-81,170)
setFont(55)
mStr(P.modeData.event,-82,110)
mStr(P.modeData.event,-81,110)
setFont(75)
mStr(P.stat.row,-82,220)
mStr(P.stat.clear_4,-82,340)
mStr(P.stat.row,-81,220)
mStr(P.stat.clear_4,-81,340)
end,
score=function(P)return{P.modeData.point,P.stat.score}end,
scoreDisp=function(D)return sectionName[int(D[1]*.1)+1].." "..D[2]end,

View File

@@ -58,10 +58,10 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(55)
mStr(P.modeData.event,-82,200)
mStr("24",-82,320)
mDraw(drawableText.wave,-82,260)
mDraw(drawableText.nextWave,-82,380)
mStr(P.modeData.event,-81,200)
mStr("24",-81,320)
mDraw(drawableText.wave,-81,260)
mDraw(drawableText.nextWave,-81,380)
end,
score=function(P)return{P.modeData.event,P.stat.time}end,
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,

View File

@@ -67,14 +67,14 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(55)
mStr(P.modeData.event,-82,200)
mStr(P.modeData.event,-81,200)
mStr(
P.modeData.event<10 and 22
or P.modeData.event<20 and 25
or 28
,-82,320)
mDraw(drawableText.wave,-82,260)
mDraw(drawableText.nextWave,-82,380)
,-81,320)
mDraw(drawableText.wave,-81,260)
mDraw(drawableText.nextWave,-81,380)
end,
score=function(P)return{P.modeData.event,P.stat.time}end,
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,

View File

@@ -20,13 +20,13 @@ return{
info={
"All-spin 入门教程\n未制作完成,下块即通",
"All-spin 入门教程\n未制作完成,下块即通",
"All-spin Tutorial!\nUNFINISHED drop to win",
"All-spin Tutorial!\nUNFINISHED,drop to win",
},
color=color.lightGrey,
env={
drop=1e99,lock=1e99,
hold=false,
dropPiece=Event.lose,
dropPiece=player.lose,
task=nil,
bg="game1",bgm="newera",
},

View File

@@ -19,7 +19,7 @@ return{
env={
drop=30,lock=45,
visible="time",
dropPiece=Event.reach_winCheck,
dropPiece=player.reach_winCheck,
freshLimit=10,
target=200,
bg="glow",bgm="newera",
@@ -29,11 +29,11 @@ return{
newPlayer(1,340,15)
end,
mesDisp=function(P,dx,dy)
mDraw(drawableText.line,-82,300)
mDraw(drawableText.techrash,-82,420)
mDraw(drawableText.line,-81,300)
mDraw(drawableText.techrash,-81,420)
setFont(75)
mStr(P.stat.row,-82,220)
mStr(P.stat.clear_4,-82,340)
mStr(P.stat.row,-81,220)
mStr(P.stat.clear_4,-81,340)
end,
score=function(P)return{min(P.stat.row or 200),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,

View File

@@ -21,7 +21,7 @@ return{
fall=10,lock=60,
center=false,
visible="none",
dropPiece=Event.reach_winCheck,
dropPiece=player.reach_winCheck,
freshLimit=15,
target=200,
bg="rgb",bgm="secret7th",
@@ -31,11 +31,11 @@ return{
newPlayer(1,340,15)
end,
mesDisp=function(P,dx,dy)
mDraw(drawableText.line,-82,300)
mDraw(drawableText.techrash,-82,420)
mDraw(drawableText.line,-81,300)
mDraw(drawableText.techrash,-81,420)
setFont(75)
mStr(P.stat.row,-82,220)
mStr(P.stat.clear_4,-82,340)
mStr(P.stat.row,-81,220)
mStr(P.stat.clear_4,-81,340)
end,
score=function(P)return{min(P.stat.row or 200),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,

View File

@@ -21,7 +21,7 @@ return{
fall=5,
center=false,ghost=false,
visible="none",
dropPiece=Event.reach_winCheck,
dropPiece=player.reach_winCheck,
freshLimit=15,
target=200,
bg="rgb",bgm="secret8th",
@@ -31,11 +31,11 @@ return{
newPlayer(1,340,15)
end,
mesDisp=function(P,dx,dy)
mDraw(drawableText.line,-82,300)
mDraw(drawableText.techrash,-82,420)
mDraw(drawableText.line,-81,300)
mDraw(drawableText.techrash,-81,420)
setFont(75)
mStr(P.stat.row,-82,220)
mStr(P.stat.clear_4,-82,340)
mStr(P.stat.row,-81,220)
mStr(P.stat.clear_4,-81,340)
end,
score=function(P)return{min(P.stat.row or 200),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,

View File

@@ -20,7 +20,7 @@ return{
drop=15,lock=45,
freshLimit=10,
visible="fast",
dropPiece=Event.reach_winCheck,
dropPiece=player.reach_winCheck,
freshLimit=10,
target=200,
bg="glow",bgm="reason",
@@ -30,11 +30,11 @@ return{
newPlayer(1,340,15)
end,
mesDisp=function(P,dx,dy)
mDraw(drawableText.line,-82,300)
mDraw(drawableText.techrash,-82,420)
mDraw(drawableText.line,-81,300)
mDraw(drawableText.techrash,-81,420)
setFont(75)
mStr(P.stat.row,-82,220)
mStr(P.stat.clear_4,-82,340)
mStr(P.stat.row,-81,220)
mStr(P.stat.clear_4,-81,340)
end,
score=function(P)return{min(P.stat.row or 200),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,

View File

@@ -22,7 +22,7 @@ return{
block=false,
center=false,ghost=false,
visible="none",
dropPiece=Event.reach_winCheck,
dropPiece=player.reach_winCheck,
freshLimit=15,
target=200,
bg="rgb",bgm="secret7th",
@@ -32,11 +32,11 @@ return{
newPlayer(1,340,15)
end,
mesDisp=function(P,dx,dy)
mDraw(drawableText.line,-82,300)
mDraw(drawableText.techrash,-82,420)
mDraw(drawableText.line,-81,300)
mDraw(drawableText.techrash,-81,420)
setFont(75)
mStr(P.stat.row,-82,220)
mStr(P.stat.clear_4,-82,340)
mStr(P.stat.row,-81,220)
mStr(P.stat.clear_4,-81,340)
end,
score=function(P)return{min(P.stat.row or 200),P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,

View File

@@ -1,18 +1,18 @@
local rnd,min=math.random,math.min
local function check_c4w(P)
for i=1,#P.cleared do
P.field[#P.field+1]=getNewRow(10)
P.visTime[#P.visTime+1]=getNewRow(20)
for i=1,#P.clearedRow do
P.field[#P.field+1]=freeRow.get(10)
P.visTime[#P.visTime+1]=freeRow.get(20)
for i=4,7 do P.field[#P.field][i]=0 end
end
if #P.cleared==0 then
Event.lose(P)
if #P.clearedRow==0 then
P:lose()
else
if P.combo>P.modeData.point then
P.modeData.point=P.combo
end
if P.stat.row>=100 then
Event.win(P,"finish")
P:win("finish")
end
end
end
@@ -21,7 +21,7 @@ return{
name={
"C4W练习",
"中四宽练习",
"C4W Train",
"C4W Training",
},
level={
"疯狂",
@@ -46,8 +46,8 @@ return{
local P=players[1]
local F=P.field
for i=1,24 do
F[i]=getNewRow(10)
P.visTime[i]=getNewRow(20)
F[i]=freeRow.get(10)
P.visTime[i]=freeRow.get(20)
for x=4,7 do F[i][x]=0 end
end
local r=rnd(6)
@@ -61,10 +61,10 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(45)
mStr(P.combo,-82,310)
mStr(P.modeData.point,-82,400)
mDraw(drawableText.combo,-82,358)
mDraw(drawableText.mxcmb,-82,450)
mStr(P.combo,-81,310)
mStr(P.modeData.point,-81,400)
mDraw(drawableText.combo,-81,358)
mDraw(drawableText.mxcmb,-81,450)
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,

View File

@@ -1,16 +1,16 @@
local rnd,min=math.random,math.min
local function check_c4w(P)
for i=1,#P.cleared do
P.field[#P.field+1]=getNewRow(10)
P.visTime[#P.visTime+1]=getNewRow(20)
for i=1,#P.clearedRow do
P.field[#P.field+1]=freeRow.get(10)
P.visTime[#P.visTime+1]=freeRow.get(20)
for i=4,7 do P.field[#P.field][i]=0 end
end
if #P.cleared>0 then
if #P.clearedRow>0 then
if P.combo>P.modeData.point then
P.modeData.point=P.combo
end
if P.stat.row>=100 then
Event.win(P,"finish")
P:win("finish")
end
end
end
@@ -19,7 +19,7 @@ return{
name={
"C4W练习",
"中四宽练习",
"C4W Train",
"C4W Training",
},
level={
"普通",
@@ -44,8 +44,8 @@ return{
local P=players[1]
local F=P.field
for i=1,24 do
F[i]=getNewRow(10)
P.visTime[i]=getNewRow(20)
F[i]=freeRow.get(10)
P.visTime[i]=freeRow.get(20)
for x=4,7 do F[i][x]=0 end
end
local r=rnd(6)
@@ -59,10 +59,10 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(45)
mStr(P.combo,-82,310)
mStr(P.modeData.point,-82,400)
mDraw(drawableText.combo,-82,358)
mDraw(drawableText.mxcmb,-82,450)
mStr(P.combo,-81,310)
mStr(P.modeData.point,-81,400)
mDraw(drawableText.combo,-81,358)
mDraw(drawableText.mxcmb,-81,450)
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,

View File

@@ -31,6 +31,7 @@ return{
},
color=color.lightBlue,
env={
noFly=true,
das=16,arr=6,sddas=2,sdarr=2,
ghost=false,center=false,
drop=3,lock=3,wait=10,fall=25,
@@ -47,11 +48,11 @@ return{
mesDisp=function(P,dx,dy)
setFont(75)
local r=P.gameEnv.target*.1
mStr(r<11 and 18 or r<22 and r+8 or r==22 and"00"or r==23 and"0a"or format("%x",r*10-220),-82,210)
mDraw(drawableText.speedLV,-82,290)
mStr(r<11 and 18 or r<22 and r+8 or r==22 and"00"or r==23 and"0a"or format("%x",r*10-220),-81,210)
mDraw(drawableText.speedLV,-81,290)
setFont(45)
mStr(P.stat.row,-82,320)
mStr(P.gameEnv.target,-82,370)
mStr(P.stat.row,-81,320)
mStr(P.gameEnv.target,-81,370)
gc.rectangle("fill",-125,375,90,4)
end,
score=function(P)return{P.stat.score,P.stat.row}end,

View File

@@ -18,7 +18,7 @@ return{
},
color=color.white,
env={
dropPiece=Event.reach_winCheck,
dropPiece=player.reach_winCheck,
},
load=function()
for i=1,#customID do
@@ -50,8 +50,8 @@ return{
for _,P in next,players.alive do
local t=P.showTime*3
for y=1,preField.h do
P.field[y]=getNewRow(0)
P.visTime[y]=getNewRow(t)
P.field[y]=freeRow.get(0)
P.visTime[y]=freeRow.get(t)
for x=1,10 do P.field[y][x]=preField[y][x]end
end
end
@@ -61,11 +61,11 @@ return{
mesDisp=function(P,dx,dy)
setFont(55)
if P.gameEnv.puzzle or P.gameEnv.target>1e10 then
mStr(P.stat.row,-82,225)
mDraw(drawableText.line,-82,290)
mStr(P.stat.row,-81,225)
mDraw(drawableText.line,-81,290)
else
local R=P.gameEnv.target-P.stat.row
mStr(R>=0 and R or 0,-82,240)
mStr(R>=0 and R or 0,-81,240)
end
if P.gameEnv.puzzle and P.modeData.event==0 then
local m=puzzleMark

View File

@@ -14,7 +14,7 @@ local function puzzleCheck(P)
end
end
P.modeData.event=1
Event.win(P,"finish")
P:win("finish")
end
return{
@@ -73,8 +73,8 @@ return{
mesDisp=function(P)
local dx,dy=P.fieldOff.x,P.fieldOff.y
setFont(55)
mStr(P.stat.row,-82,225)
mDraw(drawableText.line,-82,290)
mStr(P.stat.row,-81,225)
mDraw(drawableText.line,-81,290)
if P.gameEnv.puzzle and P.modeData.event==0 then
local m=puzzleMark
for y=1,preField.h do for x=1,10 do

View File

@@ -59,10 +59,10 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(55)
mStr(P.modeData.event,-82,200)
mStr(P.modeData.point,-82,320)
mDraw(drawableText.wave,-82,260)
mDraw(drawableText.rpm,-82,380)
mStr(P.modeData.event,-81,200)
mStr(P.modeData.point,-81,320)
mDraw(drawableText.wave,-81,260)
mDraw(drawableText.rpm,-81,380)
end,
score=function(P)return{P.modeData.event,P.stat.time}end,
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
@@ -75,6 +75,6 @@ return{
W>=55 and 3 or
W>=30 and 2 or
W>=20 and 1 or
L>=5 and 0
W>=5 and 0
end,
}

View File

@@ -59,10 +59,10 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(55)
mStr(P.modeData.event,-82,200)
mStr(P.modeData.point,-82,320)
mDraw(drawableText.wave,-82,260)
mDraw(drawableText.rpm,-82,380)
mStr(P.modeData.event,-81,200)
mStr(P.modeData.point,-81,320)
mDraw(drawableText.wave,-81,260)
mDraw(drawableText.rpm,-81,380)
end,
score=function(P)return{P.modeData.event,P.stat.time}end,
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,
@@ -75,6 +75,6 @@ return{
W>=70 and 3 or
W>=40 and 2 or
W>=10 and 1 or
L>=3 and 0
W>=3 and 0
end,
}

View File

@@ -38,8 +38,8 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(65)
mStr(P.modeData.event,-82,310)
mDraw(drawableText.wave,-82,375)
mStr(P.modeData.event,-81,310)
mDraw(drawableText.wave,-81,375)
end,
score=function(P)return{P.modeData.event,P.stat.row}end,
scoreDisp=function(D)return D[1].." Waves "..D[2].." Lines"end,

View File

@@ -37,8 +37,8 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(65)
mStr(P.modeData.event,-82,310)
mDraw(drawableText.wave,-82,375)
mStr(P.modeData.event,-81,310)
mDraw(drawableText.wave,-81,375)
end,
score=function(P)return{P.modeData.event,P.stat.row}end,
scoreDisp=function(D)return D[1].." Waves "..D[2].." Lines"end,

View File

@@ -19,7 +19,7 @@ return{
env={
drop=20,lock=60,
sequence="drought2",
target=100,dropPiece=Event.reach_winCheck,
target=100,dropPiece=player.reach_winCheck,
ospin=false,
freshLimit=15,
bg="glow",bgm="reason",
@@ -31,7 +31,7 @@ return{
mesDisp=function(P,dx,dy)
setFont(70)
local R=100-P.stat.row
mStr(R>=0 and R or 0,-82,280)
mStr(R>=0 and R or 0,-81,280)
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,

View File

@@ -19,7 +19,7 @@ return{
env={
drop=20,lock=60,
sequence="drought1",
target=100,dropPiece=Event.reach_winCheck,
target=100,dropPiece=player.reach_winCheck,
ospin=false,
freshLimit=15,
bg="glow",bgm="reason",
@@ -31,7 +31,7 @@ return{
mesDisp=function(P,dx,dy)
setFont(70)
local R=100-P.stat.row
mStr(R>=0 and R or 0,-82,280)
mStr(R>=0 and R or 0,-81,280)
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,

View File

@@ -6,9 +6,9 @@ return{
"Infinite",
},
level={
"时间杀手 II",
"时间杀手 II",
"Time Killer II",
"",
"",
"",
},
info={
"沙盒",
@@ -26,10 +26,10 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(45)
mStr(P.stat.atk,-82,260)
mStr(format("%.2f",P.stat.atk/P.stat.row),-82,370)
mDraw(drawableText.atk,-82,313)
mDraw(drawableText.eff,-82,425)
mStr(P.stat.atk,-81,260)
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,370)
mDraw(drawableText.atk,-81,313)
mDraw(drawableText.eff,-81,425)
end,
score=function(P)return{P.stat.score}end,
scoreDisp=function(D)return tostring(D[1])end,

View File

@@ -1,6 +1,6 @@
local format,rnd=string.format,math.random
local function check_rise(P)
local L=P.cleared
local L=P.clearedRow
for i=1,#L do
if L[i]<6 then
P:garbageRise(10,1,rnd(10))
@@ -16,9 +16,9 @@ return{
"Infinite:dig",
},
level={
"时间杀手 III",
"时间杀手 III",
"Time Killer III",
"",
"",
"",
},
info={
"挖呀挖呀挖",
@@ -41,12 +41,12 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(45)
mStr(P.modeData.point,-82,190)
mStr(P.stat.atk,-82,310)
mStr(format("%.2f",P.stat.atk/P.stat.row),-82,420)
mDraw(drawableText.line,-82,243)
mDraw(drawableText.atk,-82,363)
mDraw(drawableText.eff,-82,475)
mStr(P.modeData.point,-81,190)
mStr(P.stat.atk,-81,310)
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,420)
mDraw(drawableText.line,-81,243)
mDraw(drawableText.atk,-81,363)
mDraw(drawableText.eff,-81,475)
end,
score=function(P)return{P.modeData.point}end,
scoreDisp=function(D)return D[1].." Lines"end,

View File

@@ -9,7 +9,7 @@ local function check(P)
P.gameEnv._20G=true
P.gameEnv.target=200
else
Event.win(P,"finish")
P:win("finish")
end
end
end
@@ -26,15 +26,16 @@ return{
"HARD",
},
info={
"200行20G马拉松",
"200行20G马拉松",
"200L marathon in 20G",
"200行高速马拉松",
"200行高速马拉松",
"200L marathon in high speed",
},
color=color.magenta,
env={
noFly=true,
mindas=7,minarr=1,minsdarr=1,
drop=.5,fall=30,
target=50,dropPiece=check,
mindas=7,minarr=1,minsdarr=1,
bg="strap",bgm="race",
},
pauseLimit=true,
@@ -44,8 +45,8 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(45)
mStr(P.stat.row,-82,320)
mStr(P.gameEnv.target,-82,370)
mStr(P.stat.row,-81,320)
mStr(P.gameEnv.target,-81,370)
gc.rectangle("fill",-125,375,90,4)
end,
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,

View File

@@ -4,7 +4,7 @@ local function check_LVup(P)
local T=P.modeData.point+10
if P.stat.row>=T then
if T==200 then
Event.win(P,"finish")
P:win("finish")
else
P.gameEnv.drop=dropSpeed[T/10]
P.modeData.point=T
@@ -25,16 +25,17 @@ return{
"NORMAL",
},
info={
"200行速马拉松",
"200行速马拉松",
"200行速马拉松",
"200行速马拉松",
"200L marathon with acceleration",
},
color=color.green,
env={
noFly=true,
minsdarr=1,
fall=30,
target=10,dropPiece=check_LVup,
mindas=7,minarr=1,minsdarr=1,
minsdarr=1,
bg="strap",bgm="way",
},
pauseLimit=true,
@@ -44,8 +45,8 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(45)
mStr(P.stat.row,-82,320)
mStr(P.modeData.point+10,-82,370)
mStr(P.stat.row,-81,320)
mStr(P.modeData.point+10,-81,370)
gc.rectangle("fill",-125,375,90,4)
end,
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,

View File

@@ -4,7 +4,7 @@ local death_lock={12,11,10,9,8}
local death_wait={10,9,8,7,6}
local death_fall={10,9,8,7,6}
local function score(P)
local c=#P.cleared
local c=#P.clearedRow
if c==0 and P.modeData.point%100==99 then return end
local s=c<3 and c+1 or c==3 and 5 or 7
if P.combo>7 then s=s+2
@@ -24,7 +24,7 @@ local function score(P)
if s==3 then P.gameEnv.bone=true end
if s==5 then
P.modeData.point,P.modeData.event=500,4
Event.win(P,"finish")
P:win("finish")
else
P:showText(text.stage(s),0,-120,80,"fly")
end
@@ -50,12 +50,13 @@ return{
},
color=color.red,
env={
noFly=true,
mindas=6,minarr=1,
_20G=true,
lock=death_lock[1],
wait=death_wait[1],
fall=death_fall[1],
dropPiece=score,
mindas=6,minarr=1,
freshLimit=15,
bg="game2",bgm="secret7th",
},
@@ -65,8 +66,8 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(45)
mStr(P.modeData.point,-82,320)
mStr((P.modeData.event+1)*100,-82,370)
mStr(P.modeData.point,-81,320)
mStr((P.modeData.event+1)*100,-81,370)
gc.rectangle("fill",-125,375,90,4)
end,
score=function(P)return{P.modeData.point,P.stat.row,P.stat.time}end,

View File

@@ -3,7 +3,7 @@ local rush_lock={20,18,16,15,14}
local rush_wait={12,10,9,8,7}
local rush_fall={18,16,14,13,12}
local function score(P)
local c=#P.cleared
local c=#P.clearedRow
if c==0 and P.modeData.point%100==99 then return end
local s=c<3 and c+1 or c==3 and 5 or 7
if P.combo>7 then s=s+2
@@ -28,7 +28,7 @@ local function score(P)
if s==5 then
P.modeData.point,P.modeData.event=500,4
Event.win(P,"finish")
P:win("finish")
else
P:showText(text.stage(s),0,-120,80,"fly")
end
@@ -50,16 +50,17 @@ return{
info={
"20G:初心者适用",
"20G:初心者适用",
"20G:Proper to beginner",
"20G:Back to beginner",
},
color=color.red,
env={
noFly=true,
das=9,arr=3,
_20G=true,
lock=rush_lock[1],
wait=rush_wait[1],
fall=rush_fall[1],
dropPiece=score,
das=9,arr=3,
freshLimit=15,
bg="strap",bgm="secret8th",
},
@@ -69,8 +70,8 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(45)
mStr(P.modeData.point,-82,320)
mStr((P.modeData.event+1)*100,-82,370)
mStr(P.modeData.point,-81,320)
mStr((P.modeData.event+1)*100,-81,370)
gc.rectangle("fill",-125,375,90,4)
end,
score=function(P)return{P.modeData.point,P.stat.row,P.stat.time}end,

View File

@@ -1,7 +1,7 @@
local gc=love.graphics
local int=math.floor
local function score(P)
local c=#P.cleared
local c=#P.clearedRow
if c==0 and P.modeData.point%100==99 then return end
local s=c<3 and c+1 or c==3 and 5 or 7
if P.combo>7 then s=s+2
@@ -27,7 +27,7 @@ local function score(P)
end
else
MD.point,MD.event=1000,9
Event.win(P,"finish")
P:win("finish")
end
SFX.play("reach")
end
@@ -51,10 +51,11 @@ return{
},
color=color.lightGrey,
env={
noFly=true,
mindas=5,minarr=1,
_20G=true,lock=12,
wait=10,fall=10,
dropPiece=score,
mindas=5,minarr=1,
freshLimit=15,
easyFresh=false,bone=true,
bg="none",bgm="distortion",
@@ -66,8 +67,8 @@ return{
mesDisp=function(P,dx,dy)
setFont(45)
local MD=P.modeData
mStr(MD.point,-82,320)
mStr((MD.event+1)*100,-82,370)
mStr(MD.point,-81,320)
mStr((MD.event+1)*100,-81,370)
gc.rectangle("fill",-125,375,90,4)
end,
score=function(P)return{P.modeData.point,P.stat.time}end,

View File

@@ -19,7 +19,7 @@ return{
env={
drop=60,lock=120,
fall=10,
target=100,dropPiece=Event.reach_winCheck,
target=100,dropPiece=player.reach_winCheck,
freshLimit=15,
ospin=false,
bg="rgb",bgm="infinite",
@@ -31,11 +31,11 @@ return{
mesDisp=function(P,dx,dy)
setFont(45)
local R=100-P.stat.row
mStr(R>=0 and R or 0,-82,250)
mStr(R>=0 and R or 0,-81,250)
setFont(75)
mStr(P.stat.pc,-82,350)
mDraw(drawableText.pc,-82,432)
mStr(P.stat.pc,-81,350)
mDraw(drawableText.pc,-81,432)
gc.setColor(.5,.5,.5)
if frame>179 then

View File

@@ -19,7 +19,7 @@ return{
env={
drop=20,lock=60,
fall=20,
target=100,dropPiece=Event.reach_winCheck,
target=100,dropPiece=player.reach_winCheck,
freshLimit=15,
ospin=false,
bg="rgb",bgm="infinite",
@@ -31,11 +31,11 @@ return{
mesDisp=function(P,dx,dy)
setFont(45)
local R=100-P.stat.row
mStr(R>=0 and R or 0,-82,250)
mStr(R>=0 and R or 0,-81,250)
setFont(75)
mStr(P.stat.pc,-82,350)
mDraw(drawableText.pc,-82,432)
mStr(P.stat.pc,-81,350)
mDraw(drawableText.pc,-81,432)
gc.setColor(.5,.5,.5)
if frame>179 then

View File

@@ -19,7 +19,7 @@ return{
env={
oncehold=false,
drop=300,lock=1e99,
target=100,dropPiece=Event.reach_winCheck,
target=100,dropPiece=player.reach_winCheck,
ospin=false,
bg="rgb",bgm="newera",
},
@@ -30,11 +30,11 @@ return{
mesDisp=function(P,dx,dy)
setFont(45)
local R=100-P.stat.row
mStr(R>=0 and R or 0,-82,250)
mStr(R>=0 and R or 0,-81,250)
setFont(75)
mStr(P.stat.pc,-82,350)
mDraw(drawableText.pc,-82,432)
mStr(P.stat.pc,-81,350)
mDraw(drawableText.pc,-81,432)
gc.setColor(.5,.5,.5)
if frame>179 then

View File

@@ -10,12 +10,12 @@ local function task_PC(P)
if P.modeData.counter==21 then
local t=P.stat.pc%2
for i=1,4 do
local r=getNewRow(0)
local r=freeRow.get(0)
for j=1,10 do
r[j]=PCbase[4*t+i][j]
end
ins(P.field,1,r)
ins(P.visTime,1,getNewRow(20))
ins(P.visTime,1,freeRow.get(20))
end
P.fieldBeneath=P.fieldBeneath+120
P.curY=P.curY+4
@@ -30,7 +30,7 @@ local function newPC(P)
local c=0
for i=1,10 do if r[i]>0 then c=c+1 end end
if c<5 then
Event.lose(P)
P:lose()
end
end
if P.stat.piece%4==0 and #P.field==0 then
@@ -66,7 +66,7 @@ return{
name={
"全清训练",
"全清训练",
"PC Train",
"PC Training",
},
level={
"疯狂",
@@ -97,8 +97,8 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(75)
mStr(P.stat.pc,-82,330)
mDraw(drawableText.pc,-82,412)
mStr(P.stat.pc,-81,330)
mDraw(drawableText.pc,-81,412)
end,
score=function(P)return{P.stat.pc,P.stat.time}end,
scoreDisp=function(D)return D[1].." PCs "..toTime(D[2])end,

View File

@@ -7,12 +7,12 @@ local function task_PC(P)
if P.modeData.counter==21 then
local t=P.stat.pc%2
for i=1,4 do
local r=getNewRow(0)
local r=freeRow.get(0)
for j=1,10 do
r[j]=PCbase[4*t+i][j]
end
ins(P.field,1,r)
ins(P.visTime,1,getNewRow(20))
ins(P.visTime,1,freeRow.get(20))
end
P.fieldBeneath=P.fieldBeneath+120
P.curY=P.curY+4
@@ -26,7 +26,7 @@ local function newPC(P)
local c=0
for i=1,10 do if r[i]>0 then c=c+1 end end
if c<5 then
Event.lose(P)
P:lose()
end
end
if P.stat.piece%4==0 and #P.field==0 then
@@ -50,7 +50,7 @@ return{
name={
"全清训练",
"全清训练",
"PC Train",
"PC Training",
},
level={
"普通",
@@ -80,8 +80,8 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(75)
mStr(P.stat.pc,-82,330)
mDraw(drawableText.pc,-82,412)
mStr(P.stat.pc,-81,330)
mDraw(drawableText.pc,-81,412)
end,
score=function(P)return{P.stat.pc,P.stat.time}end,
scoreDisp=function(D)return D[1].." PCs "..toTime(D[2])end,

View File

@@ -14,7 +14,7 @@ return{
name={
"回合制",
"回合制",
"Turn-Base",
"Turn-Based",
},
level={
"简单",

View File

@@ -14,7 +14,7 @@ return{
name={
"回合制",
"回合制",
"Turn-Base",
"Turn-Based",
},
level={
"普通",

View File

@@ -14,7 +14,7 @@ return{
name={
"回合制",
"回合制",
"Turn-Base",
"Turn-Based",
},
level={
"困难",

View File

@@ -14,7 +14,7 @@ return{
name={
"回合制",
"回合制",
"Turn-Base",
"Turn-Based",
},
level={
"疯狂",

View File

@@ -14,7 +14,7 @@ return{
name={
"回合制",
"回合制",
"Turn-Base",
"Turn-Based",
},
level={
"极限",

View File

@@ -19,7 +19,7 @@ return{
color=color.cyan,
env={
drop=60,lock=60,
target=10,dropPiece=Event.reach_winCheck,
target=10,dropPiece=player.reach_winCheck,
bg="strap",bgm="race",
},
load=function()
@@ -30,7 +30,7 @@ return{
setFont(55)
local r=10-P.stat.row
if r<0 then r=0 end
mStr(r,-82,265)
mStr(r,-81,265)
if r<21 and r>0 then
gc.setLineWidth(4)
gc.setColor(1,r>10 and 0 or rnd(),.5)

View File

@@ -19,7 +19,7 @@ return{
color=color.orange,
env={
drop=60,lock=60,
target=100,dropPiece=Event.reach_winCheck,
target=100,dropPiece=player.reach_winCheck,
bg="strap",bgm="race",
},
load=function()
@@ -30,7 +30,7 @@ return{
setFont(55)
local r=100-P.stat.row
if r<0 then r=0 end
mStr(r,-82,265)
mStr(r,-81,265)
if r<21 and r>0 then
gc.setLineWidth(4)
gc.setColor(1,r>10 and 0 or rnd(),.5)
@@ -44,7 +44,7 @@ return{
if P.stat.row<100 then return end
local T=P.stat.time
return
T<=60 and 5 or
T<=62 and 5 or
T<=90 and 4 or
T<=130 and 3 or
T<=200 and 2 or

View File

@@ -19,7 +19,7 @@ return{
color=color.lightGrey,
env={
drop=60,lock=60,
target=1000,dropPiece=Event.reach_winCheck,
target=1000,dropPiece=player.reach_winCheck,
bg="strap",bgm="push",
},
load=function()
@@ -30,7 +30,7 @@ return{
setFont(55)
local r=1000-P.stat.row
if r<0 then r=0 end
mStr(r,-82,265)
mStr(r,-81,265)
if r<21 and r>0 then
gc.setLineWidth(4)
gc.setColor(1,r>10 and 0 or rnd(),.5)

View File

@@ -19,7 +19,7 @@ return{
color=color.lightBlue,
env={
drop=60,lock=60,
target=20,dropPiece=Event.reach_winCheck,
target=20,dropPiece=player.reach_winCheck,
bg="strap",bgm="race",
},
load=function()
@@ -30,7 +30,7 @@ return{
setFont(55)
local r=20-P.stat.row
if r<0 then r=0 end
mStr(r,-82,265)
mStr(r,-81,265)
if r<21 and r>0 then
gc.setLineWidth(4)
gc.setColor(1,r>10 and 0 or rnd(),.5)

View File

@@ -19,7 +19,7 @@ return{
color=color.green,
env={
drop=60,lock=60,
target=40,dropPiece=Event.reach_winCheck,
target=40,dropPiece=player.reach_winCheck,
bg="strap",bgm="race",
},
load=function()
@@ -30,7 +30,7 @@ return{
setFont(55)
local r=40-P.stat.row
if r<0 then r=0 end
mStr(r,-82,265)
mStr(r,-81,265)
if r<21 and r>0 then
gc.setLineWidth(4)
gc.setColor(1,r>10 and 0 or rnd(),.5)

View File

@@ -19,7 +19,7 @@ return{
color=color.red,
env={
drop=60,lock=60,
target=400,dropPiece=Event.reach_winCheck,
target=400,dropPiece=player.reach_winCheck,
bg="strap",bgm="push",
},
load=function()
@@ -30,7 +30,7 @@ return{
setFont(55)
local r=400-P.stat.row
if r<0 then r=0 end
mStr(r,-82,265)
mStr(r,-81,265)
if r<21 and r>0 then
gc.setLineWidth(4)
gc.setColor(1,r>10 and 0 or rnd(),.5)

View File

@@ -39,8 +39,8 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(65)
mStr(P.modeData.event,-82,310)
mDraw(drawableText.wave,-82,375)
mStr(P.modeData.event,-81,310)
mDraw(drawableText.wave,-81,375)
end,
score=function(P)return{P.modeData.event,P.stat.time}end,
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,

View File

@@ -44,8 +44,8 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(65)
mStr(P.modeData.event,-82,310)
mDraw(drawableText.wave,-82,375)
mStr(P.modeData.event,-81,310)
mDraw(drawableText.wave,-81,375)
end,
score=function(P)return{P.modeData.event,P.stat.time}end,
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,

View File

@@ -40,8 +40,8 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(65)
mStr(P.modeData.event,-82,310)
mDraw(drawableText.wave,-82,375)
mStr(P.modeData.event,-81,310)
mDraw(drawableText.wave,-81,375)
end,
score=function(P)return{P.modeData.event,P.stat.time}end,
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,

View File

@@ -44,8 +44,8 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(65)
mStr(P.modeData.event,-82,310)
mDraw(drawableText.wave,-82,375)
mStr(P.modeData.event,-81,310)
mDraw(drawableText.wave,-81,375)
end,
score=function(P)return{P.modeData.event,P.stat.time}end,
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,

View File

@@ -46,8 +46,8 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(65)
mStr(P.modeData.event,-82,310)
mDraw(drawableText.wave,-82,375)
mStr(P.modeData.event,-81,310)
mDraw(drawableText.wave,-81,375)
end,
score=function(P)return{P.modeData.event,P.stat.time}end,
scoreDisp=function(D)return D[1].." Waves "..toTime(D[2])end,

View File

@@ -1,7 +1,7 @@
local format=string.format
local function tech_check_ultimate(P)
if #P.cleared>0 and P.lastClear<10 or P.lastClear==74 then
Event.lose(P)
if #P.clearedRow>0 and P.lastClear<10 or P.lastClear==74 then
P:lose()
end
end
@@ -26,7 +26,7 @@ return{
drop=30,lock=60,
freshLimit=15,
target=200,
dropPiece=tech_reach_ultimate,
dropPiece=tech_check_ultimate,
bg="matrix",bgm="secret8th",
},
load=function()
@@ -34,10 +34,10 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(45)
mStr(P.stat.atk,-82,310)
mStr(format("%.2f",P.stat.atk/P.stat.row),-82,420)
mDraw(drawableText.atk,-82,363)
mDraw(drawableText.eff,-82,475)
mStr(P.stat.atk,-81,310)
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,420)
mDraw(drawableText.atk,-81,363)
mDraw(drawableText.eff,-81,475)
end,
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,

View File

@@ -1,7 +1,7 @@
local format=string.format
local function tech_check_easy(P)
if #P.cleared>0 and P.b2b<40 then
Event.lose(P)
if #P.clearedRow>0 and P.b2b<40 then
P:lose()
end
end
@@ -26,7 +26,7 @@ return{
drop=20,lock=60,
freshLimit=15,
target=200,
dropPiece=tech_reach_easy,
dropPiece=tech_check_easy,
bg="matrix",bgm="secret8th",
},
load=function()
@@ -34,10 +34,10 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(45)
mStr(P.stat.atk,-82,310)
mStr(format("%.2f",P.stat.atk/P.stat.row),-82,420)
mDraw(drawableText.atk,-82,363)
mDraw(drawableText.eff,-82,475)
mStr(P.stat.atk,-81,310)
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,420)
mDraw(drawableText.atk,-81,363)
mDraw(drawableText.eff,-81,475)
end,
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,

View File

@@ -1,7 +1,7 @@
local format=string.format
local function tech_check_ultimate(P)
if #P.cleared>0 and P.lastClear<10 or P.lastClear==74 then
Event.lose(P)
if #P.clearedRow>0 and P.lastClear<10 or P.lastClear==74 then
P:lose()
end
end
@@ -26,7 +26,7 @@ return{
_20G=true,lock=60,
freshLimit=15,
target=200,
dropPiece=tech_reach_ultimate,
dropPiece=tech_check_ultimate,
bg="matrix",bgm="secret7th",
},
load=function()
@@ -34,10 +34,10 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(45)
mStr(P.stat.atk,-82,310)
mStr(format("%.2f",P.stat.atk/P.stat.row),-82,420)
mDraw(drawableText.atk,-82,363)
mDraw(drawableText.eff,-82,475)
mStr(P.stat.atk,-81,310)
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,420)
mDraw(drawableText.atk,-81,363)
mDraw(drawableText.eff,-81,475)
end,
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,

View File

@@ -1,7 +1,7 @@
local format=string.format
local function tech_check_hard(P)
if #P.cleared>0 and P.lastClear<10 then
Event.lose(P)
if #P.clearedRow>0 and P.lastClear<10 then
P:lose()
end
end
@@ -17,16 +17,16 @@ return{
"LUNATIC",
},
info={
"禁止断B2B",
"禁止断满贯",
"Keep B2B",
"禁止普通消除",
"禁止普通消除",
"No normal clear",
},
color=color.red,
env={
_20G=true,lock=60,
freshLimit=15,
target=200,
dropPiece=tech_reach_hard,
dropPiece=tech_check_hard,
bg="matrix",bgm="secret7th",
},
load=function()
@@ -34,10 +34,10 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(45)
mStr(P.stat.atk,-82,310)
mStr(format("%.2f",P.stat.atk/P.stat.row),-82,420)
mDraw(drawableText.atk,-82,363)
mDraw(drawableText.eff,-82,475)
mStr(P.stat.atk,-81,310)
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,420)
mDraw(drawableText.atk,-81,363)
mDraw(drawableText.eff,-81,475)
end,
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,

View File

@@ -1,7 +1,7 @@
local format=string.format
local function tech_check_ultimate(P)
if #P.cleared>0 and P.lastClear<10 or P.lastClear==74 then
Event.lose(P)
if #P.clearedRow>0 and P.lastClear<10 or P.lastClear==74 then
P:lose()
end
end
@@ -26,7 +26,7 @@ return{
oncehold=false,
drop=1e99,lock=1e99,
target=200,
dropPiece=tech_reach_ultimate,
dropPiece=tech_check_ultimate,
bg="matrix",bgm="newera",
},
load=function()
@@ -34,10 +34,10 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(45)
mStr(P.stat.atk,-82,310)
mStr(format("%.2f",P.stat.atk/P.stat.row),-82,420)
mDraw(drawableText.atk,-82,363)
mDraw(drawableText.eff,-82,475)
mStr(P.stat.atk,-81,310)
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,420)
mDraw(drawableText.atk,-81,363)
mDraw(drawableText.eff,-81,475)
end,
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,

View File

@@ -1,7 +1,7 @@
local format=string.format
local function tech_check_easy(P)
if #P.cleared>0 and P.b2b<40 then
Event.lose(P)
if #P.clearedRow>0 and P.b2b<40 then
P:lose()
end
end
@@ -34,10 +34,10 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(45)
mStr(P.stat.atk,-82,310)
mStr(format("%.2f",P.stat.atk/P.stat.row),-82,420)
mDraw(drawableText.atk,-82,363)
mDraw(drawableText.eff,-82,475)
mStr(P.stat.atk,-81,310)
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,420)
mDraw(drawableText.atk,-81,363)
mDraw(drawableText.eff,-81,475)
end,
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,

View File

@@ -1,7 +1,7 @@
local format=string.format
local function tech_check_ultimate(P)
if #P.cleared>0 and P.lastClear<10 or P.lastClear==74 then
Event.lose(P)
if #P.clearedRow>0 and P.lastClear<10 or P.lastClear==74 then
P:lose()
end
end
@@ -17,28 +17,30 @@ return{
"ULTIMATE+",
},
info={
"禁止普通消除,强制最简操作",
"禁止普通消除,强制最简操作",
"Don't do normal clear,no finesse error",
"仅允许spin与PC,强制最简操作",
"仅允许spin与全清,强制最简操作",
"Spin&PC only,no finesse error",
},
color=color.grey,
env={
arr=0,
drop=1e99,lock=60,
freshLimit=15,
target=200,
fineKill=true,
dropPiece=tech_reach_ultimate,
dropPiece=tech_check_ultimate,
bg="flink",bgm="infinite",
},
slowMark=true,
load=function()
newPlayer(1,340,15)
end,
mesDisp=function(P,dx,dy)
setFont(45)
mStr(P.stat.atk,-82,310)
mStr(format("%.2f",P.stat.atk/P.stat.row),-82,420)
mDraw(drawableText.atk,-82,363)
mDraw(drawableText.eff,-82,475)
mStr(P.stat.atk,-81,310)
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,420)
mDraw(drawableText.atk,-81,363)
mDraw(drawableText.eff,-81,475)
end,
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,

View File

@@ -1,7 +1,7 @@
local format=string.format
local function tech_check_hard(P)
if #P.cleared>0 and P.lastClear<10 then
Event.lose(P)
if #P.clearedRow>0 and P.lastClear<10 then
P:lose()
end
end
@@ -17,28 +17,30 @@ return{
"ULTIMATE",
},
info={
"仅允许spin与PC,强制最简操作",
"仅允许spin与全清,强制最简操作",
"Don't do normal clear,no finesse error",
"禁止普通消除,强制最简操作",
"禁止普通消除,强制最简操作",
"No normal clear,no finesse error",
},
color=color.lightYellow,
env={
arr=0,
drop=1e99,lock=60,
freshLimit=15,
target=200,
fineKill=true,
dropPiece=tech_reach_hard,
dropPiece=tech_check_hard,
bg="flink",bgm="infinite",
},
slowMark=true,
load=function()
newPlayer(1,340,15)
end,
mesDisp=function(P,dx,dy)
setFont(45)
mStr(P.stat.atk,-82,310)
mStr(format("%.2f",P.stat.atk/P.stat.row),-82,420)
mDraw(drawableText.atk,-82,363)
mDraw(drawableText.eff,-82,475)
mStr(P.stat.atk,-81,310)
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,420)
mDraw(drawableText.atk,-81,363)
mDraw(drawableText.eff,-81,475)
end,
score=function(P)return{P.stat.row<=200 and P.stat.row or 200,P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines "..toTime(D[2])end,

View File

@@ -73,7 +73,7 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(35)
mStr(#players.alive.."/49",-82,175)
mStr(#players.alive.."/49",-81,175)
mStr(P.modeData.point,-70,215)
gc.draw(drawableText.ko,-127,225)
setFont(20)

View File

@@ -73,7 +73,7 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(35)
mStr(#players.alive.."/49",-82,175)
mStr(#players.alive.."/49",-81,175)
mStr(P.modeData.point,-70,215)
gc.draw(drawableText.ko,-127,225)
setFont(20)

View File

@@ -73,7 +73,7 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(35)
mStr(#players.alive.."/49",-82,175)
mStr(#players.alive.."/49",-81,175)
mStr(P.modeData.point,-70,215)
gc.draw(drawableText.ko,-127,225)
setFont(20)

View File

@@ -73,7 +73,7 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(35)
mStr(#players.alive.."/99",-82,175)
mStr(#players.alive.."/99",-81,175)
mStr(P.modeData.point,-70,215)
gc.draw(drawableText.ko,-127,225)
setFont(20)

View File

@@ -73,7 +73,7 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(35)
mStr(#players.alive.."/99",-82,175)
mStr(#players.alive.."/99",-81,175)
mStr(P.modeData.point,-70,215)
gc.draw(drawableText.ko,-127,225)
setFont(20)

View File

@@ -73,7 +73,7 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(35)
mStr(#players.alive.."/99",-82,175)
mStr(#players.alive.."/99",-81,175)
mStr(P.modeData.point,-70,215)
gc.draw(drawableText.ko,-127,225)
setFont(20)

View File

@@ -1,8 +1,8 @@
local function check_tsd(P)
if #P.cleared>0 then
if #P.clearedRow>0 then
if P.lastClear~=52 then
Event.lose(P)
elseif #P.cleared>0 then
P:lose()
elseif #P.clearedRow>0 then
P.modeData.event=P.modeData.event+1
end
end
@@ -37,8 +37,8 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(75)
mStr(P.modeData.event,-82,330)
mDraw(drawableText.tsd,-82,407)
mStr(P.modeData.event,-81,330)
mDraw(drawableText.tsd,-81,407)
end,
score=function(P)return{P.modeData.event,P.stat.time}end,
scoreDisp=function(D)return D[1].."TSD "..toTime(D[2])end,

View File

@@ -1,8 +1,8 @@
local function check_tsd(P)
if #P.cleared>0 then
if #P.clearedRow>0 then
if P.lastClear~=52 then
Event.lose(P)
elseif #P.cleared>0 then
P:lose()
elseif #P.clearedRow>0 then
P.modeData.event=P.modeData.event+1
end
end
@@ -38,8 +38,8 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(75)
mStr(P.modeData.event,-82,330)
mDraw(drawableText.tsd,-82,407)
mStr(P.modeData.event,-81,330)
mDraw(drawableText.tsd,-81,407)
end,
score=function(P)return{P.modeData.event,P.stat.time}end,
scoreDisp=function(D)return D[1].."TSD "..toTime(D[2])end,

View File

@@ -1,8 +1,8 @@
local function check_tsd(P)
if #P.cleared>0 then
if #P.clearedRow>0 then
if P.lastClear~=52 then
Event.lose(P)
elseif #P.cleared>0 then
P:lose()
elseif #P.clearedRow>0 then
P.modeData.event=P.modeData.event+1
end
end
@@ -38,8 +38,8 @@ return{
end,
mesDisp=function(P,dx,dy)
setFont(75)
mStr(P.modeData.event,-82,330)
mDraw(drawableText.tsd,-82,407)
mStr(P.modeData.event,-81,330)
mDraw(drawableText.tsd,-81,407)
end,
score=function(P)return{P.modeData.event,P.stat.time}end,
scoreDisp=function(D)return D[1].."TSD "..toTime(D[2])end,

View File

@@ -18,9 +18,10 @@ return{
},
color=color.lightGrey,
env={
noFly=true,
minarr=1,minsdarr=1,
drop=60,lock=60,
fall=20,
minarr=1,minsdarr=1,
task=function(P)
local _=P.modeData.counter+1
if P.stat.time>=warnTime[_]then
@@ -29,7 +30,7 @@ return{
SFX.play("ready",.7+_*.03)
else
SFX.play("start")
Event.win(P,"finish")
P:win("finish")
return true
end
end

View File

@@ -5,9 +5,9 @@ return{
"Zen",
},
level={
"时间杀手 I",
"时间杀手 I",
"Time Killer I",
"",
"",
"",
},
info={
"不限时200行",
@@ -18,7 +18,7 @@ return{
env={
drop=120,lock=120,
oncehold=false,target=200,
dropPiece=Event.reach_winCheck,
dropPiece=player.reach_winCheck,
bg="strap",bgm="infinite",
},
load=function()
@@ -27,7 +27,7 @@ return{
mesDisp=function(P,dx,dy)
setFont(70)
local R=200-P.stat.row
mStr(R>=0 and R or 0,-82,280)
mStr(R>=0 and R or 0,-81,280)
end,
score=function(P)return{P.stat.score}end,
scoreDisp=function(D)return tostring(D[1])end,