代码规范:把所有的tab换成空格

This commit is contained in:
MrZ626
2021-08-25 04:28:52 +08:00
parent 8f910f95f4
commit 295e79984f
271 changed files with 35384 additions and 35379 deletions

View File

@@ -1,158 +1,158 @@
模式文件应当是一个合(语)法的lua程序文件其必须返回一个table里面的内容包括
color:
必选
模式的颜色,用于点击地图图标后显示的提示文本
env:
必选
模式环境变量,决定了关卡的各项属性
*属性名* *默认值* *说明*
drop 60 下落延迟(帧支持自然数和2的整数次幂)
lock 60 锁定延迟(帧)
wait 0 出块延迟(帧)
fall 0 消行延迟(帧)
bone false 是否开启骨块模式
fieldH 20 场地高度
heightLimit 1e99 允许的最大场地高度
nextCount 6 显示next个数
nextStartPos 1 next从第几个开始显示
holdCount 1 hold个数
infHold false 是否能无限hold
phyHold false 是否开启物理hold
ospin true 是否能O-spin
deepDrop false 是否开启深降
RS 'TRS' 旋转系统名
color:
必选
模式的颜色,用于点击地图图标后显示的提示文本
env:
必选
模式环境变量,决定了关卡的各项属性
*属性名* *默认值* *说明*
drop 60 下落延迟(帧支持自然数和2的整数次幂)
lock 60 锁定延迟(帧)
wait 0 出块延迟(帧)
fall 0 消行延迟(帧)
bone false 是否开启骨块模式
fieldH 20 场地高度
heightLimit 1e99 允许的最大场地高度
nextCount 6 显示next个数
nextStartPos 1 next从第几个开始显示
holdCount 1 hold个数
infHold false 是否能无限hold
phyHold false 是否开启物理hold
ospin true 是否能O-spin
deepDrop false 是否开启深降
RS 'TRS' 旋转系统名
das 10 DAS
arr 2 ARR
sddas 2 软降DAS
sdarr 2 软降ARR
mindas 0 允许的最小DAS
minarr 0 允许的最小ARR
minsdarr 0 允许的最小软降ARR
ihs true 提前Hold
irs true 提前旋转
ims true 提前移动
das 10 DAS
arr 2 ARR
sddas 2 软降DAS
sdarr 2 软降ARR
mindas 0 允许的最小DAS
minarr 0 允许的最小ARR
minsdarr 0 允许的最小软降ARR
ihs true 提前Hold
irs true 提前旋转
ims true 提前移动
skinSet [设置] 方块贴图,只能填写内置皮肤的名字
skin [设置] 方块颜色包含25个整数(1~16)的table
face [设置] 方块朝向包含25个整数(0~3)的table
skinSet [设置] 方块贴图,只能填写内置皮肤的名字
skin [设置] 方块颜色包含25个整数(1~16)的table
face [设置] 方块朝向包含25个整数(0~3)的table
block true 是否显示方块
ghost 0.3 影子透明度(0~1)
center 1 旋转中心透明度(0~1)
smooth false 是否平滑下落
grid 0.16 网格透明度(0~1)
bagLine true 是否显示包分界线(如果存在)
lockFX 2 锁定特效等级(0~5整数)
dropFX 2 瞬间下落特效等级(0~5整数)
moveFX 2 移动特效等级(0~5整数)
clearFX 2 消除特效等级(0~5整数)
splashFX 2 溅射特效等级(0~5整数)
shakeFX 2 晃动特效等级(0~5整数)
atkFX 2 攻击特效等级(0~5整数)
block true 是否显示方块
ghost 0.3 影子透明度(0~1)
center 1 旋转中心透明度(0~1)
smooth false 是否平滑下落
grid 0.16 网格透明度(0~1)
bagLine true 是否显示包分界线(如果存在)
lockFX 2 锁定特效等级(0~5整数)
dropFX 2 瞬间下落特效等级(0~5整数)
moveFX 2 移动特效等级(0~5整数)
clearFX 2 消除特效等级(0~5整数)
splashFX 2 溅射特效等级(0~5整数)
shakeFX 2 晃动特效等级(0~5整数)
atkFX 2 攻击特效等级(0~5整数)
text true 是否显示消行文本
score true 是否显示落块分数
highCam false 是否开启超屏视野
nextPos false 是否开启生成预览
showSpike false 是否开启spike计数器
text true 是否显示消行文本
score true 是否显示落块分数
highCam false 是否开启超屏视野
nextPos false 是否开启生成预览
showSpike false 是否开启spike计数器
hideBoard false 场地隐藏模式("down"|"up"|"all")
flipBoard false 场地翻转模式("U-D"|"L-R"|"180")
hideBoard false 场地隐藏模式("down"|"up"|"all")
flipBoard false 场地翻转模式("U-D"|"L-R"|"180")
sequence 'bag' 序列模式是放一块后对next序列的刷新函数可以使用默认的几个函数用字符串表示。也可以自己写一个注意使用协程技术
seqData {1,2,3,4,5,6,7}序列模式使用的"包"数据(本质是生成序列用的数据会作为参数传进上面那个叫sequence的序列生成函数不一定是包)
mission false 包含任务的table说明暂时略
sequence bag' 序列模式是放一块后对next序列的刷新函数可以使用默认的几个函数用字符串表示。也可以自己写一个注意使用协程技术
seqData {1,2,3,4,5,6,7}序列模式使用的"包"数据(本质是生成序列用的数据会作为参数传进上面那个叫sequence的序列生成函数不一定是包)
mission false 包含任务的table说明暂时略
life 0 生命数(复活次数)
garbageSpeed 1 垃圾行释放速度
pushSpeed 3 垃圾行上涨速度
noTele false 是否禁止10个高级按键
visible 'show' 方块可见性,填写固定的几个字符串
freshLimit 1e99 锁延刷新次数限制
easyFresh true 是否使用简单锁延刷新规则
bufferLimit 1e99 攻击缓冲行数上限
life 0 生命数(复活次数)
garbageSpeed 1 垃圾行释放速度
pushSpeed 3 垃圾行上涨速度
noTele false 是否禁止10个高级按键
visible 'show' 方块可见性,填写固定的几个字符串
freshLimit 1e99 锁延刷新次数限制
easyFresh true 是否使用简单锁延刷新规则
bufferLimit 1e99 攻击缓冲行数上限
fkey1 false 按下功能键1后执行的函数
fkey2 false 按下功能键2后执行的函数
keyCancel {} 包含禁止使用的按键的id例如{1,2}就是禁止左移和右移
fine [设置] 是否开启非极简提示音
fineKill false 是否开启非极简即死
b2bKill false 是否开启断b2b即死
missionKill false 是否开启强制任务
dropPiece NULL 放一块后要执行的函数,输入玩家对象
task NULL 每帧会*继续执行*的函数,输入玩家对象,注意:使用协程技术
noInitSZO false 是否禁止SZO块开局如果禁止开局序列会自动跳过最多连续五个SZO
fkey1 false 按下功能键1后执行的函数
fkey2 false 按下功能键2后执行的函数
keyCancel {} 包含禁止使用的按键的id例如{1,2}就是禁止左移和右移
fine [设置] 是否开启非极简提示音
fineKill false 是否开启非极简即死
b2bKill false 是否开启断b2b即死
missionKill false 是否开启强制任务
dropPiece NULL 放一块后要执行的函数,输入玩家对象
task NULL 每帧会*继续执行*的函数,输入玩家对象,注意:使用协程技术
noInitSZO false 是否禁止SZO块开局如果禁止开局序列会自动跳过最多连续五个SZO
bg 'none' 背景,只能填写内置背景的名字
bgm 'race' 背景音乐名(或者列表随机,例如{'race','push'}),只能用内置音乐库的音乐名
allowMod true 是否允许mod
load:
必选
模式初始化函数,一般创建一个玩家即可
无输入
无输出
mesDisp:
必选
模式显示信息,是一个绘图函数,坐标系原点是玩家对象最左上角
输入玩家对象
无输出
bg 'none' 背景,只能填写内置背景的名字
bgm 'race' 背景音乐名(或者列表随机,例如{'race','push'}),只能用内置音乐库的音乐名
allowMod true 是否允许mod
load:
必选
模式初始化函数,一般创建一个玩家即可
无输入
无输出
mesDisp:
必选
模式显示信息,是一个绘图函数,坐标系原点是玩家对象最左上角
输入玩家对象
无输出
score:
可选(不填就没有分数保存和计算)
一局打完后要存储的数据
输入玩家对象
输出游戏结束瞬间返回一个包含直接决定该模式成绩的数据table(会被强制加上date标签)
score:
可选(不填就没有分数保存和计算)
一局打完后要存储的数据
输入玩家对象
输出游戏结束瞬间返回一个包含直接决定该模式成绩的数据table(会被强制加上date标签)
scoreDisp:
可选(模式不出现在地图上的时候不用写)
是把score()存起来的table转换为字符串显示出来的函数
输入一个成绩table
输出一个字符串
scoreDisp:
可选(模式不出现在地图上的时候不用写)
是把score()存起来的table转换为字符串显示出来的函数
输入一个成绩table
输出一个字符串
comp:
可选(没有score函数的时候不用写)
是成绩table之间对比并排序的规则
输入两个成绩table
输出[第一个是不是排在第二个前面]的布尔值(可以类比"小于"运算)
comp:
可选(没有score函数的时候不用写)
是成绩table之间对比并排序的规则
输入两个成绩table
输出[第一个是不是排在第二个前面]的布尔值(可以类比"小于"运算)
getRank:
可选,模式评级函数
是用于评价玩家表现的函数
输入玩家对象
输出0~50表示除了记录到排行榜外什么都不做1/2/3/4/5表示D/C/B/A/S级能解锁连接的模式还会让模式图标在地图上显示不同的颜色
getRank:
可选,模式评级函数
是用于评价玩家表现的函数
输入玩家对象
输出0~50表示除了记录到排行榜外什么都不做1/2/3/4/5表示D/C/B/A/S级能解锁连接的模式还会让模式图标在地图上显示不同的颜色
以下是40行的模式文件内容:
//sprint_40l.lua
return{--返回一个table你也可以在之前定义一些常量或者函数什么的
color=COLOR.green,--颜色
env={--模式环境变量
drop=60,lock=60,
dropPiece=function(P)if P.stat.row>=40 then P win('finish')end end,
bg='bg2',bgm='race',
},
load=function()--模式加载函数,这里只生成了一个玩家,常用的单人模式可以不写,默认使用这个函数
PLY.newPlayer(1)--1是玩家编号默认用户控制1号玩家
end,
mesDisp=function(P)--40行模式需要显示的信息
setFont(55)
local r=40-P.stat.row
if r<0 then r=0 end
mStr(r,63,265)--把计算出来的剩余行数r显示出来
PLY.draw.drawTargetLine(P,r)--使用自带的境界高度线绘制函数
end,
score=function(P)return{P.stat.time,P.stat.piece}end,--游戏结束时需要保存的本局关键信息
scoreDisp=function(D)return STRING.time(D[1]).." "..D[2].." Pieces"end,--把score返回的数据显示出来的方法
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,--按照时间排序,时间一样就看块数
getRank=function(P)--计算评级
if P.stat.row<40 then return end--你总得打完40行对吧否则直接return空掉成绩都不记录
local T=P.stat.time
return
T<=26 and 5 or--时间小于等于26秒就是S级要求
T<=32.6 and 4 or--A级要求
T<=52.6 and 3 or--B级要求
T<=92.9 and 2 or--C级要求
T<=183 and 1 or--D级要求解锁别的模式的最低标准
0--记录成绩的最低标准
end,
color=COLOR.green,--颜色
env={--模式环境变量
drop=60,lock=60,
dropPiece=function(P)if P.stat.row>=40 then P:win('finish')end end,
bg='bg2',bgm='race',
},
load=function()--模式加载函数,这里只生成了一个玩家,常用的单人模式可以不写,默认使用这个函数
PLY.newPlayer(1)--1是玩家编号默认用户控制1号玩家
end,
mesDisp=function(P)--40行模式需要显示的信息
setFont(55)
local r=40-P.stat.row
if r<0 then r=0 end
mStr(r,63,265)--把计算出来的剩余行数r显示出来
PLY.draw.drawTargetLine(P,r)--使用自带的境界高度线绘制函数
end,
score=function(P)return{P.stat.time,P.stat.piece}end,--游戏结束时需要保存的本局关键信息
scoreDisp=function(D)return STRING.time(D[1]).." "..D[2].." Pieces"end,--把score返回的数据显示出来的方法
comp=function(a,b)return a[1]<b[1]or a[1]==b[1]and a[2]<b[2]end,--按照时间排序,时间一样就看块数
getRank=function(P)--计算评级
if P.stat.row<40 then return end--你总得打完40行对吧否则直接return空掉成绩都不记录
local T=P.stat.time
return
T<=26 and 5 or--时间小于等于26秒就是S级要求
T<=32.6 and 4 or--A级要求
T<=52.6 and 3 or--B级要求
T<=92.9 and 2 or--C级要求
T<=183 and 1 or--D级要求解锁别的模式的最低标准
0--记录成绩的最低标准
end,
}

View File

@@ -8,43 +8,43 @@
如果打算自己导入游戏的话需要降噪+裁剪+调整音量后再转为ogg格式 (不支持别的, 因为ogg音质好体积小)
目前游戏内正在使用, 必须录制的音频文件名们:
single, double, triple, techrash (读作\'tekrʌʃ\)
以上直接念就可以,用于普通直接消行
single, double, triple, techrash (读作\'tekrʌʃ\)
以上直接念就可以,用于普通直接消行
mini, b2b, b2b2b
以上直接念就可以,用于组合进spin消除
注: b2b读作back to back
mini, b2b, b2b2b
以上直接念就可以,用于组合进spin消除
注: b2b读作back to back
[各种spin消除]
以上的每一个都要衍生出数条语音,例如zpin的是这五条:
z-spin (用于不消行)
z-spin single
z-spin double
z-spin triple
(z-spin techrash)
(z-spin pentacrash)
(z-spin hexacrash)
对于 S L J T O I 每一个都是这样至少四条语音
加括号一般不用所以可以不录(消5和消6),
对于P, Q, F, E, U, V, W, X, R, Y, N, H
这些方块也可以有上面那些语音,但由于仅在五连块使用还会显著增加语音包体积, 所以不录也可以
[各种spin消除]
以上的每一个都要衍生出数条语音,例如zpin的是这五条:
z-spin (用于不消行)
z-spin single
z-spin double
z-spin triple
(z-spin techrash)
(z-spin pentacrash)
(z-spin hexacrash)
对于 S L J T O I 每一个都是这样至少四条语音
加括号一般不用所以可以不录(消5和消6),
对于P, Q, F, E, U, V, W, X, R, Y, N, H
这些方块也可以有上面那些语音,但由于仅在五连块使用还会显著增加语音包体积, 所以不录也可以
perfect_clear, half_clear
这俩可以直接念也可以略做修改
perfect_clear, half_clear
这俩可以直接念也可以略做修改
win, lose, bye
这几个可以自由发挥, 能用在三个场合就行,尽量不要太长
win, lose, bye
这几个可以自由发挥, 能用在三个场合就行,尽量不要太长
test, happy, doubt, sad, egg
这几个是特殊音效,具体使用情况不定
第一个是测试音量用的音效,尽量短一点,长度在半秒内
其他是彩蛋音效(不录也行, 反正一般不会触发)
test, happy, doubt, sad, egg
这几个是特殊音效,具体使用情况不定
第一个是测试音量用的音效,尽量短一点,长度在半秒内
其他是彩蛋音效(不录也行, 反正一般不会触发)
welcome_voc
进入游戏播放的欢迎语音(类似osu)
welcome_voc
进入游戏播放的欢迎语音(类似osu)
目前没有用到但是将要加入的:
split
split
未来可能加入的:
暂无
暂无