0.8.17:Details Update

This commit is contained in:
MrZ_26
2020-04-30 00:24:47 +08:00
parent 7d63386410
commit 00026bc46b
104 changed files with 2069 additions and 2708 deletions

View File

@@ -12,21 +12,6 @@ local function score(P)
end
return{
name={
"宗师",
"宗师",
"GrandMaster",
},
level={
"GM",
"GM",
"GM",
},
info={
"成为方块大师",
"成为方块大师",
"To be Grand Master",
},
color=color.lightBlue,
env={
noFly=true,

View File

@@ -1,20 +1,5 @@
local int,rnd=math.floor,math.random
return{
name={
"进攻",
"进攻",
"Attacker",
},
level={
"困难",
"困难",
"HARD",
},
info={
"进攻练习",
"进攻练习",
"Attacking better then defending",
},
color=color.magenta,
env={
drop=30,lock=60,

View File

@@ -1,20 +1,5 @@
local int,rnd=math.floor,math.random
return{
name={
"进攻",
"进攻",
"Attacker",
},
level={
"极限",
"极限",
"ULTIMATE",
},
info={
"进攻练习",
"进攻练习",
"Attacking better then defending",
},
color=color.lightYellow,
env={
drop=5,lock=60,

View File

@@ -7,21 +7,6 @@ local function newField(P)
end
return{
name={
"大爆炸",
"大爆炸",
"Big Bang",
},
level={
"简单",
"简单",
"EASY",
},
info={
"All-spin 入门教程\n未制作完成,下块即通",
"All-spin 入门教程\n未制作完成,下块即通",
"All-spin Tutorial!\nUNFINISHED,drop to win",
},
color=color.lightGrey,
env={
drop=1e99,lock=1e99,

View File

@@ -1,20 +1,5 @@
local min=math.min
return{
name={
"隐形",
"隐形",
"Blind",
},
level={
"半隐",
"半隐",
"HALF",
},
info={
"最强大脑",
"最强大脑",
"Invisible board",
},
color=color.cyan,
env={
drop=30,lock=45,

View File

@@ -1,20 +1,5 @@
local min=math.min
return{
name={
"隐形",
"隐形",
"Blind",
},
level={
"瞬隐",
"瞬隐",
"SUDDEN",
},
info={
"最强大脑",
"最强大脑",
"Invisible board",
},
color=color.magenta,
env={
drop=15,lock=45,

View File

@@ -1,25 +1,11 @@
local min=math.min
return{
name={
"隐形",
"隐形",
"Blind",
},
level={
"瞬隐+",
"瞬隐+",
"SUDDEN+",
},
info={
"最强大脑",
"最强大脑",
"Invisible board",
},
color=color.red,
env={
drop=10,lock=60,
fall=5,
center=false,ghost=false,
dropFX=0,lockFX=0,
visible="none",
dropPiece=player.reach_winCheck,
freshLimit=15,

View File

@@ -1,20 +1,5 @@
local min=math.min
return{
name={
"隐形",
"隐形",
"Blind",
},
level={
"全隐",
"全隐",
"ALL",
},
info={
"最强大脑",
"最强大脑",
"Invisible board",
},
color=color.green,
env={
drop=15,lock=45,

View File

@@ -1,26 +1,12 @@
local min=math.min
return{
name={
"隐形",
"隐形",
"Blind",
},
level={
"啥都不剩隐",
"啥都不剩隐",
"NOTHING",
},
info={
"最强大脑",
"最强大脑",
"Invisible board",
},
color=color.red,
env={
drop=30,lock=60,
fall=5,
block=false,
center=false,ghost=false,
dropFX=0,lockFX=0,
visible="none",
dropPiece=player.reach_winCheck,
freshLimit=15,

View File

@@ -18,21 +18,6 @@ local function check_c4w(P)
end
return{
name={
"C4W练习",
"中四宽练习",
"C4W Training",
},
level={
"疯狂",
"疯狂",
"LUNATIC",
},
info={
"无 限 连 击",
"无 限 连 击",
"Infinite combo",
},
color=color.red,
env={
drop=5,lock=30,

View File

@@ -16,21 +16,6 @@ local function check_c4w(P)
end
return{
name={
"C4W练习",
"中四宽练习",
"C4W Training",
},
level={
"普通",
"普通",
"NORMAL",
},
info={
"无 限 连 击",
"无 限 连 击",
"Infinite combo",
},
color=color.green,
env={
drop=30,lock=60,oncehold=false,

View File

@@ -14,21 +14,6 @@ local function check_LVup(P)
end
return{
name={
"高速经典",
"高速经典",
"Classic",
},
level={
"CTWC",
"锦标赛",
"CTWC",
},
info={
"高速经典",
"高速经典",
"Vintage car drag racing",
},
color=color.lightBlue,
env={
noFly=true,

View File

@@ -1,21 +1,6 @@
local gc=love.graphics
local int=math.floor
return{
name={
"自定义",
"自定义",
"Custom",
},
level={
"普通",
"普通",
"NORMAL",
},
info={
"画点什么然后把它消除!",
"画点什么然后把它消除!",
"Draw something then clear it!",
},
color=color.white,
env={
dropPiece=player.reach_winCheck,
@@ -32,9 +17,9 @@ return{
if L~=0 then
modeEnv.target=nil
if L<10 then
newPlayer(2,965,360,.5,AITemplate("9S",2*L))
newAIPlayer(2,965,360,.5,AITemplate("9S",2*L))
else
newPlayer(2,965,360,.5,AITemplate("CC",L-6,2+int((L-11)*.5),modeEnv.hold,15000+5000*(L-10)))
newAIPlayer(2,965,360,.5,AITemplate("CC",L-6,2+int((L-11)*.5),modeEnv.hold,15000+5000*(L-10)))
end
end
preField.h=20

View File

@@ -18,21 +18,6 @@ local function puzzleCheck(P)
end
return{
name={
"自定义",
"自定义",
"Custom",
},
level={
"拼图",
"拼图",
"PUZZLE",
},
info={
"画点什么然后把它拼出来吧!",
"画点什么然后把它拼出来吧!",
"Draw something then stack it!",
},
color=color.white,
env={
puzzle=true,
@@ -52,9 +37,9 @@ return{
if L~=0 then
modeEnv.target=nil
if L<10 then
newPlayer(2,965,360,.5,AITemplate("9S",2*L))
newAIPlayer(2,965,360,.5,AITemplate("9S",2*L))
else
newPlayer(2,965,360,.5,AITemplate("CC",L-6,2+int((L-11)*.5),modeEnv.hold,15000+5000*(L-10)))
newAIPlayer(2,965,360,.5,AITemplate("CC",L-6,2+int((L-11)*.5),modeEnv.hold,15000+5000*(L-10)))
end
end
preField.h=20

View File

@@ -1,20 +1,5 @@
local int,rnd=math.floor,math.random
return{
name={
"防守",
"防守",
"Defender",
},
level={
"疯狂",
"疯狂",
"Lunatic",
},
info={
"防守练习",
"防守练习",
"Hand them!",
},
color=color.red,
env={
drop=5,lock=60,

View File

@@ -1,20 +1,5 @@
local int,rnd=math.floor,math.random
return{
name={
"防守",
"防守",
"Defender",
},
level={
"普通",
"普通",
"NORMAL",
},
info={
"防守练习",
"防守练习",
"Hand them!",
},
color=color.green,
env={
drop=30,lock=60,

View File

@@ -1,20 +1,5 @@
local max,rnd=math.max,math.random
return{
name={
"挖掘",
"挖掘",
"Dig",
},
level={
"困难",
"困难",
"HARD",
},
info={
"挖掘练习",
"挖掘练习",
"Downstack!",
},
color=color.magenta,
env={
drop=60,lock=120,

View File

@@ -1,20 +1,5 @@
local max,rnd=math.max,math.random
return{
name={
"挖掘",
"挖掘",
"Dig",
},
level={
"极限",
"极限",
"ULTIMATE",
},
info={
"挖掘练习",
"挖掘练习",
"Downstack!",
},
color=color.lightYellow,
env={
drop=10,lock=30,

View File

@@ -1,25 +1,89 @@
local min=math.min
local rnd,min,rem=math.random,math.min,table.remove
return{
name={
"干旱",
"干旱",
"Drought",
},
level={
"100L",
"100行",
"100L",
},
info={
"后 妈 发 牌",
"后 妈 发 牌",
"ERRSEQ flood attack",
},
color=color.red,
env={
drop=20,lock=60,
sequence="drought2",
sequence=function(P)
for i=1,3 do P:getNext(7)end
end,
freshMethod=function(P)
if not P.next[1] then
local height=freeRow.get(0)
local max=#P.field
for x=1,10 do
local h=max
while P.field[h][x]==0 and h>1 do
h=h-1
end
height[x]=h
end--get heights
height[11]=999
local res={1,1,2,2,3,4}
local d=0
local A
for i=1,10 do
d=d+height[i]
end
if d<40 or P.stat.row>2*42 then
A=#res+1
for i=A,A+5 do
res[i]=1
res[i+6]=2
end
goto END
end
--give I when no hole
d=-999--height difference
--A=hole mark
for x=2,11 do
local _=height[x]-height[x-1]
if d<-2 and _>2 then
A=true
end
d=_
end
if not A then
A=#res+1
res[A]=7
res[A+1]=7
res[A+2]=7
end
--give O when no Δ=0/give T when no Δ=1
d=0--Δ=0
A=0--Δ=1
for x=2,10 do
local _=height[x]-height[x-1]
if _==0 then
d=d+1
elseif _==1 or _==-1 then
A=A+1
end
end
if d<3 then
A=#res+1
res[A]=6
res[A+1]=6
res[A+2]=6
end
if A<3 then
A=#res+1
res[A]=5
res[A+1]=5
res[A+2]=5
res[A+3]=5
res[A+4]=5
end
::END::
freeRow.discard(height)
P:getNext(res[rnd(#res)])
end
end,
target=100,dropPiece=player.reach_winCheck,
next=1,hold=false,
ospin=false,
freshLimit=15,
bg="glow",bgm="reason",

View File

@@ -1,25 +1,12 @@
local min=math.min
return{
name={
"干旱",
"干旱",
"Drought",
},
level={
"100L",
"100行",
"100L",
},
info={
"你I没了",
"你I没了",
"B a g 6",
},
color=color.green,
env={
drop=20,lock=60,
sequence="drought1",
sequence="bag",
bag={1,1,2,2,3,3,4,4,5,5,6,6},
target=100,dropPiece=player.reach_winCheck,
next=3,
ospin=false,
freshLimit=15,
bg="glow",bgm="reason",

View File

@@ -1,19 +1,4 @@
return{
name={
"本地多人",
"本地多人",
"Multiplayer",
},
level={
"2P",
"2P",
"2P",
},
info={
"不是联网也不是局域网",
"不是联网也不是局域网",
"No network\nlocal game only",
},
color=color.white,
env={
drop=60,lock=60,

View File

@@ -1,19 +1,4 @@
return{
name={
"本地多人",
"本地多人",
"Multiplayer",
},
level={
"3P",
"3P",
"3P",
},
info={
"不是联网也不是局域网",
"不是联网也不是局域网",
"No network\nlocal game only",
},
color=color.white,
env={
drop=60,lock=60,

View File

@@ -1,19 +1,4 @@
return{
name={
"本地多人",
"本地多人",
"Multiplayer",
},
level={
"4P",
"4P",
"4P",
},
info={
"不是联网也不是局域网",
"不是联网也不是局域网",
"No network\nlocal game only",
},
color=color.white,
env={
drop=60,lock=60,

View File

@@ -1,20 +1,5 @@
local format=string.format
return{
name={
"无尽",
"无尽",
"Infinite",
},
level={
"",
"",
"",
},
info={
"沙盒",
"沙盒",
"Sandbox",
},
color=color.lightGrey,
env={
drop=1e99,lock=1e99,

View File

@@ -1,27 +1,13 @@
local format,rnd=string.format,math.random
local function check_rise(P)
while P.garbageBeneath<6 do
P:garbageRise(10,1,rnd(10))
P.modeData.point=P.modeData.point+1
if #P.clearedRow==0 then
for i=1,8-P.garbageBeneath do
P:garbageRise(13,1,rnd(10))
end
end
end
return{
name={
"无尽:挖掘",
"无尽:挖掘",
"Infinite:dig",
},
level={
"",
"",
"",
},
info={
"挖呀挖呀挖",
"挖呀挖呀挖",
"Dig to Nether?",
},
color=color.white,
env={
drop=1e99,lock=1e99,
@@ -32,24 +18,24 @@ return{
},
load=function()
newPlayer(1,340,15)
for _=1,5 do
players[1]:garbageRise(10,1,rnd(10))
for _=1,8 do
players[1]:garbageRise(13,1,rnd(10))
end
end,
mesDisp=function(P,dx,dy)
setFont(45)
mStr(P.modeData.point,-81,190)
mStr(P.stat.dig,-81,190)
mStr(P.stat.atk,-81,310)
mStr(format("%.2f",P.stat.atk/P.stat.row),-81,420)
mText(drawableText.line,-81,243)
mText(drawableText.atk,-81,363)
mText(drawableText.eff,-81,475)
end,
score=function(P)return{P.modeData.point}end,
score=function(P)return{P.stat.dig}end,
scoreDisp=function(D)return D[1].." Lines"end,
comp=function(a,b)return a[1]>b[1]end,
getRank=function(P)
local L=P.modeData.point
local L=P.stat.dig
return
L>=626 and 5 or
L>=400 and 4 or

View File

@@ -15,28 +15,13 @@ local function check(P)
end
return{
name={
"马拉松",
"马拉松",
"Marathon",
},
level={
"困难",
"困难",
"HARD",
},
info={
"200行高速马拉松",
"200行高速马拉松",
"200L marathon in high speed",
},
color=color.magenta,
env={
noFly=true,
mindas=7,minarr=1,minsdarr=1,
drop=.5,wait=8,fall=20,
target=50,dropPiece=check,
bg="strap",bgm="race",
bg="strap",bgm="push",
},
pauseLimit=true,
slowMark=true,

View File

@@ -14,21 +14,6 @@ local function check_LVup(P)
end
return{
name={
"马拉松",
"马拉松",
"Marathon",
},
level={
"普通",
"普通",
"NORMAL",
},
info={
"200行加速马拉松",
"200行加速马拉松",
"200L marathon with acceleration",
},
color=color.green,
env={
noFly=true,
@@ -36,7 +21,7 @@ return{
wait=8,fall=20,
target=10,dropPiece=check_LVup,
mindas=7,minarr=1,minsdarr=1,
bg="strap",bgm="way",
bg="strap",bgm="push",
},
pauseLimit=true,
slowMark=true,

View File

@@ -33,21 +33,6 @@ local function score(P)
end
return{
name={
"大师",
"大师",
"Master",
},
level={
"极限",
"极限",
"ULTIMATE",
},
info={
"20G:上级者的挑战",
"20G:上级者的挑战",
"20G:For Pro",
},
color=color.red,
env={
noFly=true,

View File

@@ -37,21 +37,6 @@ local function score(P)
end
return{
name={
"大师",
"大师",
"Master",
},
level={
"疯狂",
"疯狂",
"LUNATIC",
},
info={
"20G:初心者适用",
"20G:初心者适用",
"20G:Back to beginner",
},
color=color.red,
env={
noFly=true,

View File

@@ -34,21 +34,6 @@ local function score(P)
end
return{
name={
"大师",
"大师",
"Master",
},
level={
"终点",
"终点",
"FINAL",
},
info={
"究极20G:无法触及的终点",
"究极20G:无法触及的终点",
"Extreme 20G:Unreachable destination",
},
color=color.lightGrey,
env={
noFly=true,

View File

@@ -1,20 +1,5 @@
local gc=love.graphics
return{
name={
"全清挑战",
"全清挑战",
"PC Challenge",
},
level={
"困难",
"困难",
"HARD",
},
info={
"100行内刷PC",
"100行内刷全清",
"More PCs in 100L",
},
color=color.magenta,
env={
drop=60,lock=120,
@@ -36,12 +21,6 @@ return{
setFont(75)
mStr(P.stat.pc,-81,350)
mText(drawableText.pc,-81,432)
gc.setColor(.5,.5,.5)
if frame>179 then
local y=72*(7-(P.stat.piece+(P.hd.id>0 and 2 or 1))%7)-36
gc.line(320,y,442,y)
end
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

@@ -1,20 +1,5 @@
local gc=love.graphics
return{
name={
"全清挑战",
"全清挑战",
"PC Challenge",
},
level={
"疯狂",
"疯狂",
"LUNATIC",
},
info={
"100行内刷PC",
"100行内刷全清",
"More PCs in 100L",
},
color=color.red,
env={
drop=20,lock=60,
@@ -36,12 +21,6 @@ return{
setFont(75)
mStr(P.stat.pc,-81,350)
mText(drawableText.pc,-81,432)
gc.setColor(.5,.5,.5)
if frame>179 then
local y=72*(7-(P.stat.piece+(P.hd.id>0 and 2 or 1))%7)-36
gc.line(320,y,442,y)
end
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

@@ -1,20 +1,5 @@
local gc=love.graphics
return{
name={
"全清挑战",
"全清挑战",
"PC Challenge",
},
level={
"普通",
"普通",
"NORMAL",
},
info={
"100行内刷PC",
"100行内刷全清",
"More PCs in 100L",
},
color=color.green,
env={
oncehold=false,
@@ -35,12 +20,6 @@ return{
setFont(75)
mStr(P.stat.pc,-81,350)
mText(drawableText.pc,-81,432)
gc.setColor(.5,.5,.5)
if frame>179 then
local y=72*(7-(P.stat.piece+(P.hd.id>0 and 2 or 1))%7)-36
gc.line(320,y,442,y)
end
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

@@ -66,21 +66,6 @@ local function newPC(P)
end
return{
name={
"全清训练",
"全清训练",
"PC Training",
},
level={
"疯狂",
"疯狂",
"LUNATIC",
},
info={
"简易PC题库,熟悉全清定式的组合",
"简易全清题库,熟悉全清定式的组合",
"Let's learn some PCs",
},
color=color.red,
env={
next=4,

View File

@@ -50,21 +50,6 @@ local function newPC(P)
end
end
return{
name={
"全清训练",
"全清训练",
"PC Training",
},
level={
"普通",
"普通",
"NORMAL",
},
info={
"简易PC题库,熟悉全清定式的组合",
"简易全清题库,熟悉全清定式的组合",
"Let's learn some PCs",
},
color=color.green,
env={
next=4,

View File

@@ -11,21 +11,6 @@ local function update_round(P)
end
return{
name={
"回合制",
"回合制",
"Turn-Based",
},
level={
"简单",
"简单",
"EASY",
},
info={
"下棋模式",
"下棋模式",
"Chess?",
},
color=color.cyan,
env={
drop=1e99,lock=1e99,
@@ -35,7 +20,8 @@ return{
},
load=function()
newPlayer(1,340,15)
newPlayer(2,965,360,.5,AITemplate("9S",10))
newAIPlayer(2,965,360,.5,AITemplate("CC",10,1,true,5000))
garbageSpeed=1e99
end,
mesDisp=function(P,dx,dy)
end,

View File

@@ -11,21 +11,6 @@ local function update_round(P)
end
return{
name={
"回合制",
"回合制",
"Turn-Based",
},
level={
"普通",
"普通",
"NORMAL",
},
info={
"下棋模式",
"下棋模式",
"Chess?",
},
color=color.green,
env={
drop=1e99,lock=1e99,
@@ -35,7 +20,8 @@ return{
},
load=function()
newPlayer(1,340,15)
newPlayer(2,965,360,.5,AITemplate("9S",10))
newAIPlayer(2,965,360,.5,AITemplate("CC",10,1,true,10000))
garbageSpeed=1e99
end,
mesDisp=function(P,dx,dy)
end,

View File

@@ -11,21 +11,6 @@ local function update_round(P)
end
return{
name={
"回合制",
"回合制",
"Turn-Based",
},
level={
"困难",
"困难",
"HARD",
},
info={
"下棋模式",
"下棋模式",
"Chess?",
},
color=color.magenta,
env={
drop=1e99,lock=1e99,
@@ -35,7 +20,8 @@ return{
},
load=function()
newPlayer(1,340,15)
newPlayer(2,965,360,.5,AITemplate("9S",10))
newAIPlayer(2,965,360,.5,AITemplate("CC",10,2,true,12600))
garbageSpeed=1e99
end,
mesDisp=function(P,dx,dy)
end,

View File

@@ -11,21 +11,6 @@ local function update_round(P)
end
return{
name={
"回合制",
"回合制",
"Turn-Based",
},
level={
"疯狂",
"疯狂",
"LUNATIC",
},
info={
"下棋模式",
"下棋模式",
"Chess?",
},
color=color.red,
env={
drop=1e99,lock=1e99,
@@ -35,7 +20,8 @@ return{
},
load=function()
newPlayer(1,340,15)
newPlayer(2,965,360,.5,AITemplate("9S",10))
newAIPlayer(2,965,360,.5,AITemplate("CC",10,3,true,16260))
garbageSpeed=1e99
end,
mesDisp=function(P,dx,dy)
end,

View File

@@ -11,21 +11,6 @@ local function update_round(P)
end
return{
name={
"回合制",
"回合制",
"Turn-Based",
},
level={
"极限",
"极限",
"ULTIMATE",
},
info={
"下棋模式",
"下棋模式",
"Chess?",
},
color=color.lightYellow,
env={
drop=1e99,lock=1e99,
@@ -35,7 +20,8 @@ return{
},
load=function()
newPlayer(1,340,15)
newPlayer(2,965,360,.5,AITemplate("9S",10))
newAIPlayer(2,965,360,.5,AITemplate("CC",10,3,true,26000))
garbageSpeed=1e99
end,
mesDisp=function(P,dx,dy)
end,

View File

@@ -1,19 +1,4 @@
return{
name={
"单挑",
"单挑",
"Battle",
},
level={
"简单",
"简单",
"EASY",
},
info={
"打败AI",
"打败电脑",
"Beat AI",
},
color=color.cyan,
env={
drop=60,lock=60,
@@ -23,7 +8,7 @@ return{
pauseLimit=true,
load=function()
newPlayer(1,340,15)
newPlayer(2,965,360,.5,AITemplate("9S",3))
newAIPlayer(2,965,360,.5,AITemplate("9S",3))
end,
mesDisp=function(P,dx,dy)
end,

View File

@@ -1,19 +1,4 @@
return{
name={
"单挑",
"单挑",
"Battle",
},
level={
"普通",
"普通",
"NORMAL",
},
info={
"打败AI",
"打败AI",
"Beat AI",
},
color=color.green,
env={
drop=60,lock=60,
@@ -23,7 +8,7 @@ return{
pauseLimit=true,
load=function()
newPlayer(1,340,15)
newPlayer(2,965,360,.5,AITemplate("9S",5))
newAIPlayer(2,965,360,.5,AITemplate("9S",5))
end,
mesDisp=function(P,dx,dy)
end,

View File

@@ -1,19 +1,4 @@
return{
name={
"单挑",
"单挑",
"Battle",
},
level={
"困难",
"困难",
"HARD",
},
info={
"打败AI",
"打败AI",
"Beat AI",
},
color=color.magenta,
env={
drop=60,lock=60,
@@ -23,7 +8,7 @@ return{
pauseLimit=true,
load=function()
newPlayer(1,340,15)
newPlayer(2,965,360,.5,AITemplate("9S",7))
newAIPlayer(2,965,360,.5,AITemplate("9S",7))
end,
mesDisp=function(P,dx,dy)
end,

View File

@@ -1,19 +1,4 @@
return{
name={
"单挑",
"单挑",
"Battle",
},
level={
"疯狂",
"疯狂",
"LUNATIC",
},
info={
"打败AI",
"打败AI",
"Beat AI",
},
color=color.red,
env={
drop=60,lock=60,
@@ -23,7 +8,7 @@ return{
pauseLimit=true,
load=function()
newPlayer(1,340,15)
newPlayer(2,965,360,.5,AITemplate("9S",8))
newAIPlayer(2,965,360,.5,AITemplate("CC",9,2,true,26000))
end,
mesDisp=function(P,dx,dy)
end,

View File

@@ -1,19 +1,4 @@
return{
name={
"单挑",
"单挑",
"Battle",
},
level={
"极限",
"极限",
"ULTIMATE",
},
info={
"打败AI",
"打败AI",
"Beat AI",
},
color=color.lightYellow,
env={
drop=60,lock=60,
@@ -23,7 +8,7 @@ return{
pauseLimit=true,
load=function()
newPlayer(1,340,15)
newPlayer(2,965,360,.5,AITemplate("9S",9))
newAIPlayer(2,965,360,.5,AITemplate("CC",10,3,true,50000))
end,
mesDisp=function(P,dx,dy)
end,

View File

@@ -1,21 +1,6 @@
local gc=love.graphics
local rnd=math.random
return{
name={
"竞速",
"竞速",
"Sprint",
},
level={
"10L",
"10行",
"10L",
},
info={
"消除10行",
"消除10行",
"Clear 10 lines",
},
color=color.cyan,
env={
drop=60,lock=60,

View File

@@ -1,21 +1,6 @@
local gc=love.graphics
local rnd=math.random
return{
name={
"竞速",
"竞速",
"Sprint",
},
level={
"100L",
"100行",
"100L",
},
info={
"消除100行",
"消除100行",
"Clear 100 lines",
},
color=color.orange,
env={
drop=60,lock=60,

View File

@@ -1,21 +1,6 @@
local gc=love.graphics
local rnd=math.random
return{
name={
"竞速",
"竞速",
"Sprint",
},
level={
"1000L",
"1000行",
"1000L",
},
info={
"消除1000行",
"消除1000行",
"Clear 1000 lines",
},
color=color.lightGrey,
env={
drop=60,lock=60,

View File

@@ -1,21 +1,6 @@
local gc=love.graphics
local rnd=math.random
return{
name={
"竞速",
"竞速",
"Sprint",
},
level={
"20L",
"20行",
"20L",
},
info={
"消除20行",
"消除20行",
"Clear 20 lines",
},
color=color.lightBlue,
env={
drop=60,lock=60,

View File

@@ -1,21 +1,6 @@
local gc=love.graphics
local rnd=math.random
return{
name={
"竞速",
"竞速",
"Sprint",
},
level={
"40L",
"40行",
"40L",
},
info={
"消除40行",
"消除40行",
"Clear 40 lines",
},
color=color.green,
env={
drop=60,lock=60,

View File

@@ -1,21 +1,6 @@
local gc=love.graphics
local rnd=math.random
return{
name={
"竞速",
"竞速",
"Sprint",
},
level={
"400L",
"400行",
"400L",
},
info={
"消除400行",
"消除400行",
"Clear 400 lines",
},
color=color.red,
env={
drop=60,lock=60,

View File

@@ -1,20 +1,5 @@
local max,rnd=math.max,math.random
return{
name={
"生存",
"生存",
"Survivor",
},
level={
"简单",
"简单",
"EASY",
},
info={
"你能存活多久?",
"你能存活多久?",
"Survive Longer!",
},
color=color.cyan,
env={
drop=30,lock=45,

View File

@@ -1,20 +1,5 @@
local max,rnd=math.max,math.random
return{
name={
"生存",
"生存",
"Survivor",
},
level={
"困难",
"困难",
"HARD",
},
info={
"你能存活多久?",
"你能存活多久?",
"Survive Longer!",
},
color=color.magenta,
env={
drop=30,lock=45,

View File

@@ -1,20 +1,5 @@
local max,rnd=math.max,math.random
return{
name={
"生存",
"生存",
"Survivor",
},
level={
"疯狂",
"疯狂",
"LUNATIC",
},
info={
"你能存活多久?",
"你能存活多久?",
"Survive Longer!",
},
color=color.red,
env={
drop=30,lock=45,

View File

@@ -1,20 +1,5 @@
local max,rnd=math.max,math.random
return{
name={
"生存",
"生存",
"Survivor",
},
level={
"普通",
"普通",
"NORMAL",
},
info={
"你能存活多久?",
"你能存活多久?",
"Survive Longer!",
},
color=color.green,
env={
drop=30,lock=45,

View File

@@ -1,20 +1,5 @@
local max,rnd=math.max,math.random
return{
name={
"生存",
"生存",
"Survivor",
},
level={
"极限",
"极限",
"ULTIMATE",
},
info={
"你能存活多久?",
"你能存活多久?",
"Survive Longer!",
},
color=color.lightYellow,
env={
drop=5,lock=60,

View File

@@ -6,21 +6,6 @@ local function tech_check_ultimate(P)
end
return{
name={
"科研",
"科研",
"Tech",
},
level={
"困难+",
"困难+",
"HARD+",
},
info={
"仅允许spin与PC",
"仅允许spin与全清",
"Spin&PC only",
},
color=color.darkMagenta,
env={
drop=30,lock=60,

View File

@@ -6,21 +6,6 @@ local function tech_check_easy(P)
end
return{
name={
"科研",
"科研",
"Tech",
},
level={
"困难",
"困难",
"HARD",
},
info={
"禁止断B2B",
"禁止断满贯",
"Keep B2B",
},
color=color.magenta,
env={
drop=20,lock=60,

View File

@@ -6,21 +6,6 @@ local function tech_check_ultimate(P)
end
return{
name={
"科研",
"科研",
"Tech",
},
level={
"疯狂+",
"疯狂+",
"LUNATIC+",
},
info={
"仅允许spin与PC",
"仅允许spin与全清",
"Spin&PC only",
},
color=color.darkRed,
env={
_20G=true,lock=60,

View File

@@ -6,21 +6,6 @@ local function tech_check_hard(P)
end
return{
name={
"科研",
"科研",
"Tech",
},
level={
"疯狂",
"疯狂",
"LUNATIC",
},
info={
"禁止普通消除",
"禁止普通消除",
"No normal clear",
},
color=color.red,
env={
_20G=true,lock=60,

View File

@@ -6,21 +6,6 @@ local function tech_check_ultimate(P)
end
return{
name={
"科研",
"科研",
"Tech",
},
level={
"普通+",
"普通+",
"NORMAL+",
},
info={
"仅允许spin与PC",
"仅允许spin与全清",
"Spin&PC only",
},
color=color.darkGreen,
env={
oncehold=false,

View File

@@ -6,21 +6,6 @@ local function tech_check_easy(P)
end
return{
name={
"科研",
"科研",
"Tech",
},
level={
"普通",
"普通",
"NORMAL",
},
info={
"禁止断B2B",
"禁止断B2B",
"Keep B2B",
},
color=color.green,
env={
oncehold=false,

View File

@@ -6,21 +6,6 @@ local function tech_check_ultimate(P)
end
return{
name={
"科研",
"科研",
"Tech",
},
level={
"极限+",
"极限+",
"ULTIMATE+",
},
info={
"仅允许spin与PC,强制最简操作",
"仅允许spin与全清,强制最简操作",
"Spin&PC only,no finesse error",
},
color=color.grey,
env={
arr=0,

View File

@@ -6,21 +6,6 @@ local function tech_check_hard(P)
end
return{
name={
"科研",
"科研",
"Tech",
},
level={
"极限",
"极限",
"ULTIMATE",
},
info={
"禁止普通消除,强制最简操作",
"禁止普通消除,强制最简操作",
"No normal clear,no finesse error",
},
color=color.lightYellow,
env={
arr=0,

View File

@@ -16,21 +16,6 @@ local function selectTarget(P)
end
return{
name={
"49人混战",
"49人混战",
"Techmino49",
},
level={
"简单",
"简单",
"EASY",
},
info={
"49人混战,活到最后",
"49人混战,活到最后",
"49P melee fight",
},
color=color.cyan,
env={
drop=60,lock=60,
@@ -56,17 +41,17 @@ return{
local n=2
for i=1,4 do for j=1,6 do
if L[n]then
newPlayer(n,78*i-54,115*j-98,.09,AITemplate("9S",rnd(2,5)))
newAIPlayer(n,78*i-54,115*j-98,.09,AITemplate("9S",rnd(2,5)))
else
newPlayer(n,78*i-54,115*j-98,.09,AITemplate("CC",rnd(2,5)-1,2,true,10000))
newAIPlayer(n,78*i-54,115*j-98,.09,AITemplate("CC",rnd(2,5)-1,2,true,10000))
end
n=n+1
end end
for i=9,12 do for j=1,6 do
if L[n]then
newPlayer(n,78*i+267,115*j-98,.09,AITemplate("9S",rnd(2,5)))
newAIPlayer(n,78*i+267,115*j-98,.09,AITemplate("9S",rnd(2,5)))
else
newPlayer(n,78*i+267,115*j-98,.09,AITemplate("CC",rnd(2,5)-1,2,true,10000))
newAIPlayer(n,78*i+267,115*j-98,.09,AITemplate("CC",rnd(2,5)-1,2,true,10000))
end
n=n+1
end end

View File

@@ -16,21 +16,6 @@ local function selectTarget(P)
end
return{
name={
"49人混战",
"49人混战",
"Techmino49",
},
level={
"困难",
"困难",
"HARD",
},
info={
"49人混战,活到最后",
"49人混战,活到最后",
"49P melee fight",
},
color=color.magenta,
env={
drop=60,lock=60,
@@ -56,17 +41,17 @@ return{
local n=2
for i=1,4 do for j=1,6 do
if L[n]then
newPlayer(n,78*i-54,115*j-98,.09,AITemplate("9S",rnd(4,7)))
newAIPlayer(n,78*i-54,115*j-98,.09,AITemplate("9S",rnd(4,7)))
else
newPlayer(n,78*i-54,115*j-98,.09,AITemplate("CC",rnd(4,7)-1,3,true,20000))
newAIPlayer(n,78*i-54,115*j-98,.09,AITemplate("CC",rnd(4,7)-1,3,true,20000))
end
n=n+1
end end
for i=9,12 do for j=1,6 do
if L[n]then
newPlayer(n,78*i+267,115*j-98,.09,AITemplate("9S",rnd(4,7)))
newAIPlayer(n,78*i+267,115*j-98,.09,AITemplate("9S",rnd(4,7)))
else
newPlayer(n,78*i+267,115*j-98,.09,AITemplate("CC",rnd(4,7)-1,3,true,20000))
newAIPlayer(n,78*i+267,115*j-98,.09,AITemplate("CC",rnd(4,7)-1,3,true,20000))
end
n=n+1
end end

View File

@@ -16,21 +16,6 @@ local function selectTarget(P)
end
return{
name={
"49人混战",
"49人混战",
"Techmino49",
},
level={
"极限",
"极限",
"ULTIMATE",
},
info={
"49人混战,活到最后",
"49人混战,活到最后",
"49P melee fight",
},
color=color.lightYellow,
env={
drop=15,lock=60,
@@ -56,17 +41,17 @@ return{
local n=2
for i=1,4 do for j=1,6 do
if L[n]then
newPlayer(n,78*i-54,115*j-98,.09,AITemplate("9S",rnd(8,10)))
newAIPlayer(n,78*i-54,115*j-98,.09,AITemplate("9S",rnd(8,10)))
else
newPlayer(n,78*i-54,115*j-98,.09,AITemplate("CC",rnd(8,10)-1,4,true,30000))
newAIPlayer(n,78*i-54,115*j-98,.09,AITemplate("CC",rnd(8,10)-1,4,true,30000))
end
n=n+1
end end
for i=9,12 do for j=1,6 do
if L[n]then
newPlayer(n,78*i+267,115*j-98,.09,AITemplate("9S",rnd(8,10)))
newAIPlayer(n,78*i+267,115*j-98,.09,AITemplate("9S",rnd(8,10)))
else
newPlayer(n,78*i+267,115*j-98,.09,AITemplate("CC",rnd(8,10)-1,4,true,30000))
newAIPlayer(n,78*i+267,115*j-98,.09,AITemplate("CC",rnd(8,10)-1,4,true,30000))
end
n=n+1
end end

View File

@@ -16,21 +16,6 @@ local function selectTarget(P)
end
return{
name={
"99人混战",
"99人混战",
"Techmino99",
},
level={
"简单",
"简单",
"EASY",
},
info={
"99人混战,活到最后",
"99人混战,活到最后",
"99P melee fight",
},
color=color.cyan,
env={
drop=60,lock=60,
@@ -56,17 +41,17 @@ return{
local n=2
for i=1,7 do for j=1,7 do
if L[n]then
newPlayer(n,46*i-36,97*j-72,.068,AITemplate("9S",rnd(2,5)))
newAIPlayer(n,46*i-36,97*j-72,.068,AITemplate("9S",rnd(2,5)))
else
newPlayer(n,46*i-36,97*j-72,.068,AITemplate("CC",rnd(2,5)-1,2,true,10000))
newAIPlayer(n,46*i-36,97*j-72,.068,AITemplate("CC",rnd(2,5)-1,2,true,10000))
end
n=n+1
end end
for i=15,21 do for j=1,7 do
if L[n]then
newPlayer(n,46*i+264,97*j-72,.068,AITemplate("9S",rnd(2,5)))
newAIPlayer(n,46*i+264,97*j-72,.068,AITemplate("9S",rnd(2,5)))
else
newPlayer(n,46*i+264,97*j-72,.068,AITemplate("CC",rnd(2,5)-1,2,true,10000))
newAIPlayer(n,46*i+264,97*j-72,.068,AITemplate("CC",rnd(2,5)-1,2,true,10000))
end
n=n+1
end end

View File

@@ -16,21 +16,6 @@ local function selectTarget(P)
end
return{
name={
"99人混战",
"99人混战",
"Techmino99",
},
level={
"困难",
"困难",
"HARD",
},
info={
"99人混战,活到最后",
"99人混战,活到最后",
"99P melee fight",
},
color=color.magenta,
env={
drop=60,lock=60,
@@ -56,17 +41,17 @@ return{
local n=2
for i=1,7 do for j=1,7 do
if L[n]then
newPlayer(n,46*i-36,97*j-72,.068,AITemplate("9S",rnd(4,7)))
newAIPlayer(n,46*i-36,97*j-72,.068,AITemplate("9S",rnd(4,7)))
else
newPlayer(n,46*i-36,97*j-72,.068,AITemplate("CC",rnd(4,7)-1,3,true,20000))
newAIPlayer(n,46*i-36,97*j-72,.068,AITemplate("CC",rnd(4,7)-1,3,true,20000))
end
n=n+1
end end
for i=15,21 do for j=1,7 do
if L[n]then
newPlayer(n,46*i+264,97*j-72,.068,AITemplate("9S",rnd(4,7)))
newAIPlayer(n,46*i+264,97*j-72,.068,AITemplate("9S",rnd(4,7)))
else
newPlayer(n,46*i+264,97*j-72,.068,AITemplate("CC",rnd(4,7)-1,3,true,20000))
newAIPlayer(n,46*i+264,97*j-72,.068,AITemplate("CC",rnd(4,7)-1,3,true,20000))
end
n=n+1
end end

View File

@@ -16,21 +16,6 @@ local function selectTarget(P)
end
return{
name={
"99人混战",
"99人混战",
"Techmino99",
},
level={
"极限",
"极限",
"ULTIMATE",
},
info={
"99人混战,活到最后",
"99人混战,活到最后",
"99P melee fight",
},
color=color.lightYellow,
env={
drop=15,lock=60,
@@ -56,17 +41,17 @@ return{
local n=2
for i=1,7 do for j=1,7 do
if L[n]then
newPlayer(n,46*i-36,97*j-72,.068,AITemplate("9S",rnd(8,10)))
newAIPlayer(n,46*i-36,97*j-72,.068,AITemplate("9S",rnd(8,10)))
else
newPlayer(n,46*i-36,97*j-72,.068,AITemplate("CC",rnd(8,10)-1,4,true,30000))
newAIPlayer(n,46*i-36,97*j-72,.068,AITemplate("CC",rnd(8,10)-1,4,true,30000))
end
n=n+1
end end
for i=15,21 do for j=1,7 do
if L[n]then
newPlayer(n,46*i+264,97*j-72,.068,AITemplate("9S",rnd(8,10)))
newAIPlayer(n,46*i+264,97*j-72,.068,AITemplate("9S",rnd(8,10)))
else
newPlayer(n,46*i+264,97*j-72,.068,AITemplate("CC",rnd(8,10)-1,4,true,30000))
newAIPlayer(n,46*i+264,97*j-72,.068,AITemplate("CC",rnd(8,10)-1,4,true,30000))
end
n=n+1
end end

View File

@@ -4,26 +4,14 @@ local function check_tsd(P)
P:lose()
elseif #P.clearedRow>0 then
P.modeData.event=P.modeData.event+1
if P.modeData.event==20 then
P:win()
end
end
end
end
return{
name={
"TSD挑战",
"T旋双清挑战",
"TSD Challenge",
},
level={
"简单",
"简单",
"EASY",
},
info={
"你能连续做几个TSD?",
"你能连续做几个T旋双清?",
"T-spin-doubles only",
},
color=color.green,
env={
drop=1e99,lock=1e99,
@@ -46,11 +34,11 @@ return{
getRank=function(P)
local T=P.modeData.event
return
T>=23 and 5 or
T>=20 and 4 or
T>=20 and 5 or
T>=18 and 4 or
T>=15 and 3 or
T>=10 and 2 or
T>=6 and 1 or
T>=4 and 1 or
T>=1 and 0
end,
}

View File

@@ -9,21 +9,6 @@ local function check_tsd(P)
end
return{
name={
"TSD挑战",
"T旋双清挑战",
"TSD Challenge",
},
level={
"困难",
"困难",
"HARD",
},
info={
"你能连续做几个TSD?",
"你能连续做几个T旋双清?",
"T-spin-doubles only",
},
color=color.magenta,
env={
drop=60,lock=60,

View File

@@ -9,21 +9,6 @@ local function check_tsd(P)
end
return{
name={
"TSD挑战",
"T旋双清挑战",
"TSD Challenge",
},
level={
"极限",
"极限",
"ULTIMATE",
},
info={
"你能连续做几个TSD?",
"你能连续做几个T旋双清?",
"T-spin-doubles only",
},
color=color.lightYellow,
env={
drop=60,lock=60,

View File

@@ -1,21 +1,6 @@
local gc=love.graphics
local warnTime={60,90,105,115,116,117,118,119,120}
return{
name={
"限时打分",
"限时打分",
"Ultra",
},
level={
"挑战",
"挑战",
"EXTRA",
},
info={
"在两分钟内尽可能拿到最多的分数",
"在两分钟内尽可能拿到最多的分数",
"Score attack in 120s",
},
color=color.lightGrey,
env={
noFly=true,

View File

@@ -1,19 +1,4 @@
return{
name={
"",
"",
"Zen",
},
level={
"",
"",
"",
},
info={
"不限时200行",
"不限时200行",
"200 lines without any limits",
},
color=color.lightGrey,
env={
drop=120,lock=120,