整理几个模式代码,调整马拉松速度曲线
This commit is contained in:
@@ -1,19 +1,5 @@
|
|||||||
local gc=love.graphics
|
local gc=love.graphics
|
||||||
local format=string.format
|
local format=string.format
|
||||||
local function check_LVup(P)
|
|
||||||
if P.stat.row>=P.gameEnv.target then
|
|
||||||
P.gameEnv.target=P.gameEnv.target+10
|
|
||||||
if P.gameEnv.target==110 then
|
|
||||||
P.gameEnv.drop,P.gameEnv.lock=2,2
|
|
||||||
SFX.play("blip_1")
|
|
||||||
elseif P.gameEnv.target==200 then
|
|
||||||
P.gameEnv.drop,P.gameEnv.lock=1,1
|
|
||||||
SFX.play("blip_1")
|
|
||||||
else
|
|
||||||
SFX.play("reach")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return{
|
return{
|
||||||
color=COLOR.lBlue,
|
color=COLOR.lBlue,
|
||||||
@@ -29,7 +15,20 @@ return{
|
|||||||
RS="Classic",
|
RS="Classic",
|
||||||
freshLimit=0,
|
freshLimit=0,
|
||||||
face={0,0,2,2,2,0,0},
|
face={0,0,2,2,2,0,0},
|
||||||
target=10,dropPiece=check_LVup,
|
target=10,dropPiece=function(P)
|
||||||
|
if P.stat.row>=P.gameEnv.target then
|
||||||
|
P.gameEnv.target=P.gameEnv.target+10
|
||||||
|
if P.gameEnv.target==110 then
|
||||||
|
P.gameEnv.drop,P.gameEnv.lock=2,2
|
||||||
|
SFX.play("blip_1")
|
||||||
|
elseif P.gameEnv.target==200 then
|
||||||
|
P.gameEnv.drop,P.gameEnv.lock=1,1
|
||||||
|
SFX.play("blip_1")
|
||||||
|
else
|
||||||
|
SFX.play("reach")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
bg="rgb",bgm="magicblock",
|
bg="rgb",bgm="magicblock",
|
||||||
},
|
},
|
||||||
slowMark=true,
|
slowMark=true,
|
||||||
|
|||||||
@@ -1,31 +1,30 @@
|
|||||||
local gc=love.graphics
|
local gc=love.graphics
|
||||||
local dropSpeed={[0]=60,50,40,30,25,20,15,12,9,7,5,4,3,2,1,1,.5,.5,.25,.25}
|
local dropSpeed={[0]=60,50,40,30,25,20,15,12,9,7,5,4,3,2,1,1,.5,.5,.25,.25}
|
||||||
local function check_LVup(P)
|
|
||||||
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.b2b>0 then P:showText("spin",0,-160,40,"flicker",.3)end
|
|
||||||
if P.lastPiece.row>1 then P:showText("1+",0,-100,40,"flicker",.3)end
|
|
||||||
P:lose()
|
|
||||||
return
|
|
||||||
end
|
|
||||||
local T=P.modeData.point+10
|
|
||||||
if P.stat.row>=T then
|
|
||||||
if T==200 then
|
|
||||||
P:win("finish")
|
|
||||||
else
|
|
||||||
P.gameEnv.drop=dropSpeed[T/10]
|
|
||||||
P.modeData.point=T
|
|
||||||
SFX.play("reach")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return{
|
return{
|
||||||
color=COLOR.yellow,
|
color=COLOR.yellow,
|
||||||
env={
|
env={
|
||||||
noTele=true,
|
noTele=true,
|
||||||
wait=8,fall=20,
|
wait=8,fall=20,
|
||||||
target=10,dropPiece=check_LVup,
|
target=10,dropPiece=function (P)
|
||||||
|
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.b2b>0 then P:showText("spin",0,-160,40,"flicker",.3)end
|
||||||
|
if P.lastPiece.row>1 then P:showText("1+",0,-100,40,"flicker",.3)end
|
||||||
|
P:lose()
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local T=P.modeData.point+10
|
||||||
|
if P.stat.row>=T then
|
||||||
|
if T==200 then
|
||||||
|
P:win("finish")
|
||||||
|
else
|
||||||
|
P.gameEnv.drop=dropSpeed[T/10]
|
||||||
|
P.modeData.point=T
|
||||||
|
SFX.play("reach")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
mindas=7,minarr=1,minsdarr=1,
|
mindas=7,minarr=1,minsdarr=1,
|
||||||
bg="bg2",bgm="sugar fairy",
|
bg="bg2",bgm="sugar fairy",
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,24 +1,23 @@
|
|||||||
local gc=love.graphics
|
local gc=love.graphics
|
||||||
local dropSpeed={[0]=60,50,40,30,25,20,15,12,9,7,5,4,3,2,1,1,.5,.5,.25,.25}
|
local dropSpeed={[0]=60,50,40,30,24,18,14,10,8,6,5,4,3,2,1,1,.5,.5,.25,.25}
|
||||||
local function check_LVup(P)
|
|
||||||
local T=P.modeData.point+10
|
|
||||||
if P.stat.row>=T then
|
|
||||||
if T==200 then
|
|
||||||
P:win("finish")
|
|
||||||
else
|
|
||||||
P.gameEnv.drop=dropSpeed[T/10]
|
|
||||||
P.modeData.point=T
|
|
||||||
SFX.play("reach")
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return{
|
return{
|
||||||
color=COLOR.green,
|
color=COLOR.green,
|
||||||
env={
|
env={
|
||||||
noTele=true,
|
noTele=true,
|
||||||
wait=8,fall=20,
|
wait=8,fall=20,
|
||||||
dropPiece=check_LVup,
|
dropPiece=function(P)
|
||||||
|
local T=P.modeData.point+10
|
||||||
|
if P.stat.row>=T then
|
||||||
|
if T==200 then
|
||||||
|
P:win("finish")
|
||||||
|
else
|
||||||
|
P.gameEnv.drop=dropSpeed[T/10]
|
||||||
|
P.modeData.point=T
|
||||||
|
SFX.play("reach")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
mindas=7,minarr=1,minsdarr=1,
|
mindas=7,minarr=1,minsdarr=1,
|
||||||
bg="bg2",bgm="push",
|
bg="bg2",bgm="push",
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,133 +1,4 @@
|
|||||||
local gc=love.graphics
|
local gc=love.graphics
|
||||||
local function check_LVup(P)
|
|
||||||
local p=P.modeData.point+P.lastPiece.row
|
|
||||||
if p>=P.gameEnv.target then
|
|
||||||
local ENV=P.gameEnv
|
|
||||||
local T=ENV.target
|
|
||||||
--Stage 1: clear 3 techrash
|
|
||||||
if T==12 then--Stage 2: swap color of S/Z & J/L
|
|
||||||
P.waiting=30
|
|
||||||
P.curMission=false
|
|
||||||
|
|
||||||
ENV.skin[1],ENV.skin[2]=ENV.skin[2],ENV.skin[1]
|
|
||||||
ENV.skin[3],ENV.skin[4]=ENV.skin[4],ENV.skin[3]
|
|
||||||
|
|
||||||
ENV.lock=14
|
|
||||||
ENV.wait=7
|
|
||||||
ENV.fall=7
|
|
||||||
P:setNext(4)
|
|
||||||
|
|
||||||
ENV.target=26
|
|
||||||
SFX.play("reach")
|
|
||||||
elseif T==26 then--Stage 3: dig to bottom
|
|
||||||
if not P.holdQueue[1]then P.life=P.life+1 end--1 up if ban hold
|
|
||||||
P.waiting=45
|
|
||||||
ENV.skin[1],ENV.skin[2]=ENV.skin[2],ENV.skin[1]
|
|
||||||
ENV.skin[3],ENV.skin[4]=ENV.skin[4],ENV.skin[3]
|
|
||||||
|
|
||||||
for i=1,10 do
|
|
||||||
if P.field[i]then
|
|
||||||
for j=1,10 do
|
|
||||||
if P.field[i][j]>0 then
|
|
||||||
P.field[i][j]=17
|
|
||||||
P.visTime[i][j]=15
|
|
||||||
end
|
|
||||||
end
|
|
||||||
for _=1,5 do
|
|
||||||
P.field[i][P:RND(10)]=0
|
|
||||||
end
|
|
||||||
else
|
|
||||||
P.field[i]=FREEROW.get(0)
|
|
||||||
P.visTime[i]=FREEROW.get(30)
|
|
||||||
for j=1,10 do
|
|
||||||
if P:RND()>.9 then
|
|
||||||
P.field[i][j]=math.random(16)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
P.field[i][P:RND(10)]=0
|
|
||||||
end
|
|
||||||
P.field[i].garbage=true
|
|
||||||
end
|
|
||||||
P.garbageBeneath=10
|
|
||||||
for i=1,10 do
|
|
||||||
P:createClearingFX(i,1.5)
|
|
||||||
end
|
|
||||||
SYSFX.newShade(2.5,P.absFieldX,P.y+300*P.size,300*P.size,300*P.size)
|
|
||||||
|
|
||||||
ENV.lock=13
|
|
||||||
ENV.wait=6
|
|
||||||
ENV.fall=6
|
|
||||||
P:setNext(5)
|
|
||||||
|
|
||||||
ENV.target=42
|
|
||||||
SFX.play("reach")
|
|
||||||
elseif T==42 then--Stage 4: survive in high speed
|
|
||||||
if P.garbageBeneath==0 then
|
|
||||||
P.waiting=30
|
|
||||||
ENV.lock=11
|
|
||||||
P:setNext(6)
|
|
||||||
P:setHold(false)
|
|
||||||
ENV.bone=true
|
|
||||||
|
|
||||||
ENV.target=62
|
|
||||||
else
|
|
||||||
p=41
|
|
||||||
end
|
|
||||||
elseif T==62 then--Stage 5: survive without easy-fresh rule
|
|
||||||
P.life=1
|
|
||||||
ENV.lock=13
|
|
||||||
ENV.wait=5
|
|
||||||
ENV.fall=5
|
|
||||||
|
|
||||||
ENV.easyFresh=false
|
|
||||||
|
|
||||||
ENV.target=126
|
|
||||||
SFX.play("reach")
|
|
||||||
elseif T==126 then--Stage 6: speed up
|
|
||||||
P.life=P.life+1
|
|
||||||
|
|
||||||
ENV.lock=11
|
|
||||||
ENV.wait=4
|
|
||||||
ENV.fall=4
|
|
||||||
|
|
||||||
ENV.target=162
|
|
||||||
elseif T==162 then--Stage 7: speed up+++
|
|
||||||
P.life=P.life+1
|
|
||||||
|
|
||||||
ENV.lock=10
|
|
||||||
|
|
||||||
P:setHold(true)
|
|
||||||
P:setInvisible(180)
|
|
||||||
|
|
||||||
ENV.target=226
|
|
||||||
SFX.play("reach")
|
|
||||||
elseif T==226 then--Stage 8: final invisible
|
|
||||||
P.life=P.life+2
|
|
||||||
|
|
||||||
ENV.bone=false
|
|
||||||
P:setInvisible(90)
|
|
||||||
|
|
||||||
ENV.target=259
|
|
||||||
SFX.play("reach")
|
|
||||||
elseif T==259 then--Stage 9: ending
|
|
||||||
P.life=P.life+1
|
|
||||||
for i=1,7 do ENV.skin[i]=math.random(16)end
|
|
||||||
|
|
||||||
P:setInvisible(40)
|
|
||||||
ENV.lock=15
|
|
||||||
P.curMission=1
|
|
||||||
ENV.mission={4,4,4,4,4,4,4,4}
|
|
||||||
ENV.missionKill=false
|
|
||||||
|
|
||||||
ENV.target=260
|
|
||||||
p=260
|
|
||||||
SFX.play("blip_2")
|
|
||||||
else
|
|
||||||
p=260
|
|
||||||
end
|
|
||||||
end
|
|
||||||
P.modeData.point=p
|
|
||||||
end
|
|
||||||
|
|
||||||
return{
|
return{
|
||||||
color=COLOR.black,
|
color=COLOR.black,
|
||||||
@@ -138,7 +9,135 @@ return{
|
|||||||
wait=10,fall=10,
|
wait=10,fall=10,
|
||||||
nextCount=2,
|
nextCount=2,
|
||||||
sequence="his4",
|
sequence="his4",
|
||||||
target=12,dropPiece=check_LVup,
|
target=12,dropPiece=function(P)
|
||||||
|
local p=P.modeData.point+P.lastPiece.row
|
||||||
|
if p>=P.gameEnv.target then
|
||||||
|
local ENV=P.gameEnv
|
||||||
|
local T=ENV.target
|
||||||
|
--Stage 1: clear 3 techrash
|
||||||
|
if T==12 then--Stage 2: swap color of S/Z & J/L
|
||||||
|
P.waiting=30
|
||||||
|
P.curMission=false
|
||||||
|
|
||||||
|
ENV.skin[1],ENV.skin[2]=ENV.skin[2],ENV.skin[1]
|
||||||
|
ENV.skin[3],ENV.skin[4]=ENV.skin[4],ENV.skin[3]
|
||||||
|
|
||||||
|
ENV.lock=14
|
||||||
|
ENV.wait=7
|
||||||
|
ENV.fall=7
|
||||||
|
P:setNext(4)
|
||||||
|
|
||||||
|
ENV.target=26
|
||||||
|
SFX.play("reach")
|
||||||
|
elseif T==26 then--Stage 3: dig to bottom
|
||||||
|
if not P.holdQueue[1]then P.life=P.life+1 end--1 up if ban hold
|
||||||
|
P.waiting=45
|
||||||
|
ENV.skin[1],ENV.skin[2]=ENV.skin[2],ENV.skin[1]
|
||||||
|
ENV.skin[3],ENV.skin[4]=ENV.skin[4],ENV.skin[3]
|
||||||
|
|
||||||
|
for i=1,10 do
|
||||||
|
if P.field[i]then
|
||||||
|
for j=1,10 do
|
||||||
|
if P.field[i][j]>0 then
|
||||||
|
P.field[i][j]=17
|
||||||
|
P.visTime[i][j]=15
|
||||||
|
end
|
||||||
|
end
|
||||||
|
for _=1,5 do
|
||||||
|
P.field[i][P:RND(10)]=0
|
||||||
|
end
|
||||||
|
else
|
||||||
|
P.field[i]=FREEROW.get(0)
|
||||||
|
P.visTime[i]=FREEROW.get(30)
|
||||||
|
for j=1,10 do
|
||||||
|
if P:RND()>.9 then
|
||||||
|
P.field[i][j]=math.random(16)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
P.field[i][P:RND(10)]=0
|
||||||
|
end
|
||||||
|
P.field[i].garbage=true
|
||||||
|
end
|
||||||
|
P.garbageBeneath=10
|
||||||
|
for i=1,10 do
|
||||||
|
P:createClearingFX(i,1.5)
|
||||||
|
end
|
||||||
|
SYSFX.newShade(2.5,P.absFieldX,P.y+300*P.size,300*P.size,300*P.size)
|
||||||
|
|
||||||
|
ENV.lock=13
|
||||||
|
ENV.wait=6
|
||||||
|
ENV.fall=6
|
||||||
|
P:setNext(5)
|
||||||
|
|
||||||
|
ENV.target=42
|
||||||
|
SFX.play("reach")
|
||||||
|
elseif T==42 then--Stage 4: survive in high speed
|
||||||
|
if P.garbageBeneath==0 then
|
||||||
|
P.waiting=30
|
||||||
|
ENV.lock=11
|
||||||
|
P:setNext(6)
|
||||||
|
P:setHold(false)
|
||||||
|
ENV.bone=true
|
||||||
|
|
||||||
|
ENV.target=62
|
||||||
|
else
|
||||||
|
p=41
|
||||||
|
end
|
||||||
|
elseif T==62 then--Stage 5: survive without easy-fresh rule
|
||||||
|
P.life=1
|
||||||
|
ENV.lock=13
|
||||||
|
ENV.wait=5
|
||||||
|
ENV.fall=5
|
||||||
|
|
||||||
|
ENV.easyFresh=false
|
||||||
|
|
||||||
|
ENV.target=126
|
||||||
|
SFX.play("reach")
|
||||||
|
elseif T==126 then--Stage 6: speed up
|
||||||
|
P.life=P.life+1
|
||||||
|
|
||||||
|
ENV.lock=11
|
||||||
|
ENV.wait=4
|
||||||
|
ENV.fall=4
|
||||||
|
|
||||||
|
ENV.target=162
|
||||||
|
elseif T==162 then--Stage 7: speed up+++
|
||||||
|
P.life=P.life+1
|
||||||
|
|
||||||
|
ENV.lock=10
|
||||||
|
|
||||||
|
P:setHold(true)
|
||||||
|
P:setInvisible(180)
|
||||||
|
|
||||||
|
ENV.target=226
|
||||||
|
SFX.play("reach")
|
||||||
|
elseif T==226 then--Stage 8: final invisible
|
||||||
|
P.life=P.life+2
|
||||||
|
|
||||||
|
ENV.bone=false
|
||||||
|
P:setInvisible(90)
|
||||||
|
|
||||||
|
ENV.target=259
|
||||||
|
SFX.play("reach")
|
||||||
|
elseif T==259 then--Stage 9: ending
|
||||||
|
P.life=P.life+1
|
||||||
|
for i=1,7 do ENV.skin[i]=math.random(16)end
|
||||||
|
|
||||||
|
P:setInvisible(40)
|
||||||
|
ENV.lock=15
|
||||||
|
P.curMission=1
|
||||||
|
ENV.mission={4,4,4,4,4,4,4,4}
|
||||||
|
ENV.missionKill=false
|
||||||
|
|
||||||
|
ENV.target=260
|
||||||
|
p=260
|
||||||
|
SFX.play("blip_2")
|
||||||
|
else
|
||||||
|
p=260
|
||||||
|
end
|
||||||
|
end
|
||||||
|
P.modeData.point=p
|
||||||
|
end,
|
||||||
mission={4,4,4,64},
|
mission={4,4,4,64},
|
||||||
missionKill=true,
|
missionKill=true,
|
||||||
freshLimit=12,
|
freshLimit=12,
|
||||||
|
|||||||
Reference in New Issue
Block a user