From da3ef1c2a6376741504eeae01159595255e93ad7 Mon Sep 17 00:00:00 2001 From: MrZ626 <1046101471@qq.com> Date: Wed, 17 Nov 2021 15:21:27 +0800 Subject: [PATCH] =?UTF-8?q?pc=E8=AE=AD=E7=BB=83=E4=BB=A3=E7=A0=81=E6=95=B4?= =?UTF-8?q?=E7=90=86=EF=BC=8C=E5=BC=80=E5=B1=80=E5=B0=B1=E8=83=BD=E7=9C=8B?= =?UTF-8?q?=E5=88=B0=E5=85=B3=E5=8D=A1=E5=B9=B6=E4=B8=94=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E6=8F=90=E5=89=8D=E7=A1=AC=E9=99=8D=E4=B8=8D=E4=BC=9A=E6=AD=BB?= =?UTF-8?q?=E7=9A=84bug=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- parts/eventsets/pctrain_l.lua | 36 +++++++++++++++++------------------ parts/eventsets/pctrain_n.lua | 24 +++++++++++------------ 2 files changed, 29 insertions(+), 31 deletions(-) diff --git a/parts/eventsets/pctrain_l.lua b/parts/eventsets/pctrain_l.lua index ff157602..cc6e9b0d 100644 --- a/parts/eventsets/pctrain_l.lua +++ b/parts/eventsets/pctrain_l.lua @@ -1,35 +1,33 @@ local pc_drop={50,45,40,35,30,26,22,18,15,12} -local pc_lock={55,50,46,42,39,36,33,31,29,27} +local pc_lock={55,50,46,42,40,38,36,34,32,30} local pc_fall={18,16,14,12,10,9,8,7,6,5} local PCbase=require"parts.modes.PCbase" local PClist=require"parts.modes.PClist" local function task_PC(P) - if P.frameRun>180 then - P.control=false - for _=1,26 do YIELD()end - P.control=true - end - local base=PCbase[P.modeData.type] - P:pushLineList(base[P.holeRND:random(#base)],P.modeData.symmetry) + local difficulty=P.stat.pc<10 and 4 or 5 + local L=PClist[difficulty][P.holeRND:random(#PClist[difficulty])] + local symmetry=P.holeRND:random()>.5 + P:pushNextList(L,symmetry) + + P.control=false + if P.frameRun>180 then for _=1,26 do YIELD()end end + P.control=true + + local base=PCbase[difficulty] + P:pushLineList(base[P.holeRND:random(#base)],symmetry) end local function _check(P) - local f=P.field - if #f>0 then - if #f+P.stat.row%4>4 then + if #P.field>0 then + if #P.field+P.stat.row%4>4 then P:lose() end else - local type=P.stat.pc<10 and 4 or 5 - local L=PClist[type][P.holeRND:random(#PClist[type])] - local symmetry=P.holeRND:random()>.5 - P.modeData.type=type - P.modeData.symmetry=symmetry - P:pushNextList(L,symmetry) P:newTask(task_PC) + if P.frameRun<180 then P.fieldBeneath=0 end - local s=P.stat.pc*.25 - if math.floor(s)==s and s>0 then + if P.stat.pc%4==0 and P.stat.pc>0 then + local s=P.stat.pc/4 P.gameEnv.drop=pc_drop[s]or 10 P.gameEnv.lock=pc_lock[s]or 25 P.gameEnv.fall=pc_fall[s]or 4 diff --git a/parts/eventsets/pctrain_n.lua b/parts/eventsets/pctrain_n.lua index 3ef73037..ad4a0c5f 100644 --- a/parts/eventsets/pctrain_n.lua +++ b/parts/eventsets/pctrain_n.lua @@ -8,26 +8,26 @@ local PCtype={ 1,2,3, } local function task_PC(P) + local difficulty=PCtype[P.stat.pc+1]or 3 + local L=PClist[difficulty][P.holeRND:random(#PClist[difficulty])] + local symmetry=P.holeRND:random()>.5 + P:pushNextList(L,symmetry) + P.control=false - for _=1,26 do YIELD()end + if P.frameRun>180 then for _=1,26 do YIELD()end end P.control=true - local base=PCbase[P.modeData.type] - P:pushLineList(base[P.holeRND:random(#base)],P.modeData.symmetry) + + local base=PCbase[difficulty] + P:pushLineList(base[P.holeRND:random(#base)],symmetry) end local function _check(P) - local r=P.field - if #r>0 then - if #r+P.stat.row%4>4 then + if #P.field>0 then + if #P.field+P.stat.row%4>4 then P:lose() end else - local type=PCtype[P.stat.pc+1]or 3 - local L=PClist[type][P.holeRND:random(#PClist[type])] - local symmetry=P.holeRND:random()>.5 - P.modeData.type=type - P.modeData.symmetry=symmetry - P:pushNextList(L,symmetry) P:newTask(task_PC) + if P.frameRun<180 then P.fieldBeneath=0 end end end return{