重构next和hold系统,支持多next

This commit is contained in:
MrZ626
2020-11-18 15:16:19 +08:00
parent ccf47c3c2f
commit e3f2a9c803
27 changed files with 386 additions and 302 deletions

View File

@@ -18,7 +18,7 @@ return{
minarr=1,
drop=0,lock=15,
wait=15,fall=6,
next=3,
nextCount=3,
visible="fast",
freshLimit=15,
dropPiece=score,

View File

@@ -5,7 +5,7 @@ return{
color=COLOR.red,
env={
drop=30,lock=60,
next=1,
nextCount=1,
block=false,center=0,ghost=0,
dropFX=0,lockFX=0,
visible="none",

View File

@@ -24,7 +24,7 @@ return{
irs=false,ims=false,
center=0,ghost=0,
drop=3,lock=3,wait=10,fall=25,
next=1,hold=false,
nextCount=1,hold=false,
sequence="rnd",
RS="Classic",
freshLimit=0,

View File

@@ -50,41 +50,41 @@ return{
env={},
load=function()
for k,v in next,CUSTOMENV do
modeEnv[k]=v
MODEENV[k]=v
end
if BAG[1]then
modeEnv.bag=BAG
MODEENV.bag=BAG
else
modeEnv.bag=nil
MODEENV.bag=nil
end
if MISSION[1]then
modeEnv.mission=MISSION
MODEENV.mission=MISSION
else
modeEnv.mission=nil
MODEENV.mission=nil
end
modeEnv.dropPiece=PLY.check_lineReach
MODEENV.dropPiece=PLY.check_lineReach
for y=1,20 do
if notAir(FIELD[1][y])then
--Switch clear mode on
modeEnv.dropPiece=checkClear
MODEENV.dropPiece=checkClear
break
end
end
PLY.newPlayer(1,340,15)
local L=modeEnv.opponent
local L=MODEENV.opponent
if L~=0 then
modeEnv.target=nil
MODEENV.target=nil
if L<6 then
PLY.newAIPlayer(2,965,360,.5,AIBUILDER("9S",2*L))
else
PLY.newAIPlayer(2,965,360,.5,AIBUILDER("CC",2*L-11,int(L*.5-1.5),modeEnv.hold,4000*L))
PLY.newAIPlayer(2,965,360,.5,AIBUILDER("CC",2*L-11,int(L*.5-1.5),MODEENV.hold,4000*L))
end
end
for _,P in next,PLAYERS.alive do
setField(P,1)
end
modeEnv.bg=CUSTOMENV.bg
modeEnv.bgm=CUSTOMENV.bgm
MODEENV.bg=CUSTOMENV.bg
MODEENV.bgm=CUSTOMENV.bgm
end,
mesDisp=function(P)
setFont(55)

View File

@@ -39,30 +39,30 @@ return{
},
load=function()
for k,v in next,CUSTOMENV do
modeEnv[k]=v
MODEENV[k]=v
end
if BAG[1]then
modeEnv.bag=BAG
MODEENV.bag=BAG
else
modeEnv.bag=nil
MODEENV.bag=nil
end
if MISSION[1]then
modeEnv.mission=MISSION
MODEENV.mission=MISSION
else
modeEnv.mission=nil
MODEENV.mission=nil
end
PLY.newPlayer(1,340,15)
local L=modeEnv.opponent
local L=MODEENV.opponent
if L~=0 then
modeEnv.target=nil
MODEENV.target=nil
if L<6 then
PLY.newAIPlayer(2,965,360,.5,AIBUILDER("9S",2*L))
else
PLY.newAIPlayer(2,965,360,.5,AIBUILDER("CC",2*L-11,int(L*.5-1.5),modeEnv.hold,4000*L))
PLY.newAIPlayer(2,965,360,.5,AIBUILDER("CC",2*L-11,int(L*.5-1.5),MODEENV.hold,4000*L))
end
end
modeEnv.bg=CUSTOMENV.bg
modeEnv.bgm=CUSTOMENV.bgm
MODEENV.bg=CUSTOMENV.bg
MODEENV.bgm=CUSTOMENV.bgm
end,
mesDisp=function(P)
local dx,dy=P.fieldOff.x,P.fieldOff.y

View File

@@ -4,7 +4,7 @@ return{
env={
drop=5,lock=60,
fall=6,
next=3,
nextCount=3,
freshLimit=15,
pushSpeed=2,
task=function(P)

View File

@@ -4,7 +4,7 @@ return{
env={
drop=30,lock=60,
fall=10,
next=3,
nextCount=3,
freshLimit=15,
pushSpeed=1,
task=function(P)

View File

@@ -7,7 +7,7 @@ return{
for _=1,3 do P:getNext(7)end
end,
freshMethod=function(P)
if not P.next[1] then
if not P.nextQueue[1] then
local height=FREEROW.get(0)
local max=#P.field
if max>0 then
@@ -92,7 +92,7 @@ return{
end
end,
target=100,dropPiece=PLY.check_lineReach,
next=1,hold=false,
nextCount=1,hold=false,
ospin=false,
freshLimit=15,
bg="glow",bgm="reason",

View File

@@ -6,7 +6,7 @@ return{
sequence="bag",
bag={1,1,2,2,3,3,4,4,5,5,6,6},
target=100,dropPiece=PLY.check_lineReach,
next=3,
nextCount=3,
ospin=false,
freshLimit=15,
bg="glow",bgm="reason",

View File

@@ -20,7 +20,7 @@ local function check_LVup(P)
ENV.target=26
SFX.play("reach")
elseif T==26 then--Stage 3: dig to bottom
if not P.hd then P.life=P.life+1 end--1 up if ban hold
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]
@@ -135,7 +135,7 @@ return{
das=5,arr=1,
drop=0,lock=15,
wait=10,fall=10,
next=2,
nextCount=2,
sequence="his4",
target=12,dropPiece=check_LVup,
mission={4,4,4,64},

View File

@@ -49,7 +49,7 @@ end
return{
color=COLOR.red,
env={
next=4,
nextCount=4,
hold=false,
drop=60,lock=60,
fall=20,

View File

@@ -42,7 +42,7 @@ end
return{
color=COLOR.green,
env={
next=4,
nextCount=4,
hold=false,
drop=120,lock=180,
fall=20,

View File

@@ -2,7 +2,7 @@ return{
color=COLOR.green,
env={
drop=60,lock=60,
next=0,hold=false,
nextCount=0,hold=false,
sequence="rnd",
target=40,dropPiece=PLY.check_lineReach,
bg="aura",bgm="waterfall",