修改堆叠模式玩法(自动清除之前记录)

修改更新历史和build号
This commit is contained in:
MrZ626
2021-11-02 03:38:43 +08:00
parent 172101ed55
commit 684cb90a7d
8 changed files with 103 additions and 82 deletions

View File

@@ -443,6 +443,14 @@ do
fs.remove('record/round_l.rec')
fs.remove('record/round_u.rec')
end
if STAT.version<1604 then
RANKS.stack_e=nil
RANKS.stack_h=nil
RANKS.stack_u=nil
fs.remove('record/stack_e.rec')
fs.remove('record/stack_h.rec')
fs.remove('record/stack_u.rec')
end
if RANKS.stack_20l then
RANKS.stack_20l=nil
RANKS.stack_40l=nil

View File

@@ -0,0 +1,21 @@
return{
fillClear=false,
dropPiece=function(P)
if #P.field>P.gameEnv.fieldH then
local cc=P:checkClear(P.field,P.garbageBeneath+1,#P.field-P.garbageBeneath)
if cc>0 then
SFX.play('clear_'..math.min(cc,6))
P:showText(text.clear[cc]or cc.."-crash",0,0,60,'beat',.4)
P:removeClearedLines()
P.falling=P.gameEnv.fall
P.stat.row=P.stat.row+cc
end
if P.gameEnv.fieldH-cc-P.garbageBeneath>0 then
P:garbageRise(21,P.gameEnv.fieldH-cc-P.garbageBeneath,2e10-1)
if P.garbageBeneath>=P.gameEnv.fieldH then
P:lose()
end
end
end
end,
}

View File

@@ -0,0 +1,22 @@
return{
fillClear=false,
dropPiece=function(P)
if #P.field>P.gameEnv.fieldH then
local cc=P:checkClear(P.field,P.garbageBeneath+1,#P.field-P.garbageBeneath)
if cc>0 then
SFX.play('clear_'..math.min(cc,6))
P:showText(text.clear[cc]or cc.."-crash",0,0,60,'beat',.4)
P:removeClearedLines()
P.falling=P.gameEnv.fall
P.stat.row=P.stat.row+cc
end
local h=math.ceil((P.gameEnv.fieldH-cc-P.garbageBeneath)/2)
if h>0 then
P:garbageRise(21,h,2e10-1)
if P.garbageBeneath>=P.gameEnv.fieldH then
P:lose()
end
end
end
end,
}

View File

@@ -1,36 +1,25 @@
local function getHoleCount(P)
local hole=0
for x=1,10 do
for y=1,100 do
if not P:solid(x,y)then
hole=hole+1
end
end
end
return hole
end
return{
color=COLOR.cyan,
env={
drop=60,lock=60,
fieldH=100,
highCam=true,
fillClear=false,
wait=0,fall=50,
garbageSpeed=30,
highCam=false,
seqData={1,2,3,4,5,6,7},
mesDisp=function(P)PLY.draw.drawTargetLine(P,100)end,
eventSet='stack_100',
bg='blockrain',bgm='there',
},
score=function(P)return{getHoleCount(P),P.stat.time}end,
scoreDisp=function(D)return D[1].." Holes".." "..STRING.time(D[2])end,
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
score=function(P)return{P.stat.row,P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines".." "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
getRank=function(P)
local H=getHoleCount(P)
local L=P.stat.row
return
H==0 and 5 or
H<=1 and 4 or
H<=2 and 3 or
H<=5 and 2 or
H<=10 and 1 or
H<=26 and 0
L>=200 and 5 or
L>=180 and 4 or
L>=160 and 3 or
L>=130 and 2 or
L>=100 and 1 or
L>=70 and 0
end,
}

View File

@@ -1,36 +1,26 @@
local function getHoleCount(P)
local hole=0
for x=1,10 do
for y=1,98 do
if not P:solid(x,y)then
hole=hole+1
end
end
end
return hole
end
return{
color=COLOR.magenta,
env={
drop=60,lock=60,
fieldH=100,
highCam=true,
fillClear=false,
wait=0,fall=50,
fieldH=21,
highCam=false,
garbageSpeed=30,
seqData={1,2,3,4,5,6,7,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25},
mesDisp=function(P)PLY.draw.drawTargetLine(P,98)end,
eventSet='stack_50',
bg='blockrain',bgm='there',
},
score=function(P)return{getHoleCount(P),P.stat.time}end,
scoreDisp=function(D)return D[1].." Holes".." "..STRING.time(D[2])end,
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
score=function(P)return{P.stat.row,P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines".." "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
getRank=function(P)
local H=getHoleCount(P)
local L=P.stat.row
return
H==0 and 5 or
H<=2 and 4 or
H<=4 and 3 or
H<=10 and 2 or
H<=26 and 1 or
H<=62 and 0
L>=80 and 5 or
L>=70 and 4 or
L>=60 and 3 or
L>=50 and 2 or
L>=40 and 1 or
L>=20 and 0
end,
}
}

View File

@@ -1,36 +1,26 @@
local function getHoleCount(P)
local hole=0
for x=1,10 do
for y=1,97 do
if not P:solid(x,y)then
hole=hole+1
end
end
end
return hole
end
return{
color=COLOR.yellow,
env={
drop=60,lock=60,
fieldH=100,
highCam=true,
fillClear=false,
wait=0,fall=50,
fieldH=21,
highCam=false,
garbageSpeed=30,
seqData={8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25},
mesDisp=function(P)PLY.draw.drawTargetLine(P,97)end,
eventSet='stack_50',
bg='blockrain',bgm='there',
},
score=function(P)return{getHoleCount(P),P.stat.time}end,
scoreDisp=function(D)return D[1].." Holes".." "..STRING.time(D[2])end,
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,
score=function(P)return{P.stat.row,P.stat.time}end,
scoreDisp=function(D)return D[1].." Lines".." "..STRING.time(D[2])end,
comp=function(a,b)return a[1]>b[1]or a[1]==b[1]and a[2]<b[2]end,
getRank=function(P)
local H=getHoleCount(P)
local L=P.stat.row
return
H<=2 and 5 or
H<=5 and 4 or
H<=10 and 3 or
H<=26 and 2 or
H<=62 and 1 or
H<=126 and 0
L>=60 and 5 or
L>=50 and 4 or
L>=45 and 3 or
L>=30 and 2 or
L>=20 and 1 or
L>=10 and 0
end,
}
}

View File

@@ -7,12 +7,12 @@ return[=[
其他未来内容:
组队战; 实时统计数据可视化; 教学关; 从录像继续
重做模式选择UI; 重做模组UI; 加速下落; spike相关统计数据
更好的手柄支持; 场地格边缘线; 模式数据分析; 高级自定义序列
支持更多手柄; 场地格边缘线; 模式数据分析; 高级自定义序列
等级系统; 成就系统; Domain状态; 手势操作; C2连击; 特殊控件(虚拟摇杆等)
可调场地宽度; 可调攻击系统; 更多消除方式(隔断/架空/混合/彩色/穿墙)
方块位移/旋转动画; 更细节的DAS选项; 拓展主题系统; 复杂的攻击系统
方块位移/旋转动画; 更细节的DAS选项; 拓展主题系统; 无用货币
可调攻击系统; 更多消除方式; 可调场地宽度
工程编译到字节码; task-Z(新AI)
无用货币; 收集向抽奖; 自适应UI; 多方块
收集向抽奖; 自适应UI; 多方块
0.16.4: 虫洞 Wormhole
新增:
@@ -21,6 +21,7 @@ return[=[
Next槽上方显示序列模式标记
等级图标(暂时不能升级)
词典支持复制词条方便发给别人
修改堆叠模式玩法(自动清除之前记录)
改动:
移除组合键切换攻击模式功能,固定为单点切换
iOS设备支持三档振动(原来只有一档)

View File

@@ -1,5 +1,5 @@
return{
["apkCode"]=388,
["apkCode"]=389,
["code"]=1604,
["string"]="V0.16.4",
["room"]="ver A-0",