diff --git a/assets/dict_base.lua b/assets/dict_base.lua index 6da49037..13e9b5db 100644 --- a/assets/dict_base.lua +++ b/assets/dict_base.lua @@ -4,42 +4,30 @@ local baseDict={ {'guide: noobGuide'}, {'guide: keybinding'}, {'guide: handling'}, - {'term: piece_appearance'}, - {'term: next'}, - {'term: hold'}, - {'term: clear'}, - {'term: clear_big',hidden=function() return false end}, - {'term: clear_huge',hidden=function() return false end}, - {'term: charge'}, - {'term: all_clear'}, - {'term: rotation_system'}, - {'term: spin'}, - {'term: all_spin'}, - {'term: combo'}, - {'term: combo_setup'}, - {'term: spike'}, - {'term: key_speed'}, - {'term: drop_speed'}, - {'term: attack_power'}, - {'term: control'}, - {'term: init_control'}, - {'term: misaction'}, - {'term: gravity'}, - {'term: 20g'}, - {'term: lock_delay'}, - {'term: spwan_delay'}, - {'term: clear_delay'}, - {'term: death_delay'}, - {'term: death_condition'}, - {'term: his_sequence'}, - {'term: bag7_sequence'}, - {'term: invisible'}, - {'term: deepdrop'}, - {'term: cascade'}, - {'term: mph'}, - {'tech: multi_rotaion'}, - {'tech: finesse'}, - {'tech: hypertap'}, + {'term1: field'}, + {'term1: piece'}, + {'term1: clear'}, + {'term1: clear_big',hidden=function() return false end}, + {'term1: clear_huge',hidden=function() return false end}, + {'term1: next'}, + {'term1: hold'}, + {'term2: combo'}, + {'term2: rotation_system'}, + {'term2: spin'}, + {'term2: all_clear'}, + {'term2: charge'}, + {'term2: sequence'}, + {'term2: tuning'}, + {'term2: buffered_input'}, + {'term2: gravity'}, + {'term2: delays'}, + {'term2: death_condition'}, + {'term3: invisible'}, + {'term3: cascade'}, + {'term3: spike'}, + {'term3: speeds'}, + {'term3: misaction'}, + {'term3: finesse'}, {'other: 26f_studio'}, } diff --git a/assets/language/dict_en.lua b/assets/language/dict_en.lua index 8e04e464..d0b6bdb5 100644 --- a/assets/language/dict_en.lua +++ b/assets/language/dict_en.lua @@ -59,15 +59,6 @@ Set C is more flexible, and you can adjust the difficulties based on your own co When you finish all the tasks in set C, keep practicing A1. This is the fundamental skill in any stacker game, and you can master practically any mode when you can just scan through the Next sequence easily. -# 20g -@ title 20G -The fastest falling speed of modern stacker. In 20G modes, pieces appear instantly on the bottom of the field without the actual process of falling. This sometimes also limits a piece’s sideways movements, as it is not always possible to make a piece climb over a bump or out of a well in 20G. You can learn more at the unit “G” at the “falling speed” entry. - -# hypertap -@ title Hypertap -Refers to the technique of vibrating your finger on the controller to achieve faster sideways movement speed than holding it. -It is most commonly used on classic stacker where ASD is relatively slow. In most cases, you do not need to hypertap in modern stacker games because their ASD is usually fast enough. - # 26f_studio @ title 26F Studio @ contentSize 26 diff --git a/assets/language/dict_zh.lua b/assets/language/dict_zh.lua index 7e370a73..c339e65a 100644 --- a/assets/language/dict_zh.lua +++ b/assets/language/dict_zh.lua @@ -11,7 +11,7 @@ ……(行数任意) 任何一行的行末可以添加“--注释文本”,如果整行都是注释,该行将不会被显示 -如果开头是~~,那么这行是分割线,至少两个~都可以,后面可以带一个数字代表分割线的粗细,不写默认1 +如果开头是~~,那么这行是分割线,至少两个~都可以,后面可以带一个数字代表分割线的粗细,不写默认1,最大10 有格式错误时启动游戏打开词典会在左上角弹出错误信息,注意显示的行数不包括这段说明的行数 翻译说明: @@ -37,26 +37,26 @@ return [[ @ title 欢迎新人 @ contentSize 25 以下给出几个新手时期的主要学习路线,前期主要就应练习以下内容,学定式和T-Spin什么的对实力帮助很小(此处不认为靠定式对战秒其他对手是有效的通用实力):(注意,三段应当同时进行,不是A→B→C) -~~11 +~~5 A.堆叠能力练习方法 A1.手上的块可以放的时候先别急着放,看看下一块有没有地方,如果放不下去就看看手上的能不能换个地方 A2.尝试把地形尽量控制得平整,因为大多数情况比较平的地形来啥块都比较容易放得下去 A3.允许暂存的时候可以多想想手里和暂存的块和后续几块应该怎么安排顺序,使地形能持续平整 -~~ +~~2 B.操作效率与速度练习方法 B1.不要每一块都拿影子去对形状对位置,尽量自己脑中想象方块旋转后是什么方向,想好了再开始动手 B2.学习双旋,能逆时针转一次就不要顺时针转三次 B3.学习极简,刚开始先不管速度,保证正确率几乎100%,熟悉后再去提速 -~~ +~~2 C.堆叠能力考核 C1.允许暂存,稳定完成40行不死 C2.禁用暂存,稳定完成40行不死 C3.允许暂存,稳定全部消四完成40行 C4.禁用暂存,稳定全部消四完成40行 -~~ +~~2 以上都是根据社区和个人经验总结的模糊方法与目标,故C的考核可以根据自身情况调整严格程度(例如“稳定”的具体成功率)。 注:完成C部分的考核后,需要在未来一直注意没有上限的A1,这是方块的根本元素之一,有了强大的读next能力可以快速上手任何变种规则。 @@ -74,11 +74,15 @@ C4.禁用暂存,稳定全部消四完成40行 2.程序稳定性不好,时不时卡顿,可以尝试把设置画面效果拉低; 3.规则设计有意为之; 4.参数设置设置不当; -5.姿势不当,不便用力; -6.换新键位/新设备后不适应操作习惯; -7.肌肉疲劳反应和协调能力下降,需进行睡眠或体育运动。 +A.姿势不当,不便用力; +B.换新键位/新设备后不适应操作习惯; +C.肌肉疲劳反应和协调能力下降,需进行睡眠或体育运动。 -# piece_appearance +# field +@ title 场地 +放置方块的区域,尺寸一般为10*20。 + +# piece @ title 形状、颜色、朝向 在标准规则下: 所有的方块都是“四连块”,即四个正方形共用边连接成的形状。 @@ -87,14 +91,6 @@ C4.禁用暂存,稳定全部消四完成40行 同种方块的生成朝向是固定的,同时部分旋转系统中踢墙表的选择也由方块从哪个朝向转到哪个朝向决定。 当我们需要描述方块的状态时,使用 0 R 2 L 四个字符来描述方块的朝向,其中0为生成时的朝向,R(Right)是从0朝向开始顺时针旋转90°后的,L(Left)是逆时针90°后的,2(任意方向旋转两次)是旋转180°后的。 -# next -@ title 预览队列(Next) -即将生成的方块队列。提前思考未来的块可以怎么摆有助于优化当前控制块的选择。 - -# hold -@ title 暂存(Hold) -将当前控制块放入暂存槽位,把暂存槽位中的方块取出来作为控制块。用于调整块序,优化摆放策略。 - # clear @ title 消1/2/3/4 落下一块后消除的行数。 @@ -128,18 +124,18 @@ C4.禁用暂存,稳定全部消四完成40行 20行:Ultracrash 21行:Impossicrash -# charge -@ title 充能(CHG / B2B) -进行特殊消除(消四或卡块消)中间没有间隔普通消行时可以获得充能,为后续的攻击提供加成。 -CHG:Charge -B2B:Back to Back, 连续 +# next +@ title 预览队列(Next) +即将生成的方块队列。提前思考未来的块可以怎么摆有助于优化当前控制块的选择。 -# all_clear -@ title 全消(AC) -All Clear, 消除场地内所有方格。 -另有两个变种: -Half Clear:“下方有剩余方格”的全消 -Color Clear:消除了非垃圾行的所有方格 +# hold +@ title 暂存(Hold) +将当前控制块放入暂存槽位,把暂存槽位中的方块取出来作为控制块。用于调整块序,优化摆放策略。 + +# combo +@ title 连击(Combo) +连续落下几个方块都产生了消除。 +为了打出连击,通常使用的办法是堆一个“连击楼”,也就是在一侧空出1~4列,填满其他的几列,然后将方块连续丢入空列进行消除。 # rotation_system @ title 旋转系统 @@ -151,43 +147,43 @@ Color Clear:消除了非垃圾行的所有方格 @ title 卡块消(Spin) 在规则允许的情况下,使用旋转操作将方块卡进不能直接移到的位置称为卡块,操作会根据使用的具体方块被称为Z-Spin、J-Spin等。 如果卡块的同时产生了消除,则该消除为卡块消。 +~~ +如果只有T块进行此判定,只能做出T-spin时,称为T-Only规则。 +如果所有的块都被允许进行此判定的检测,称为All-Spin规则。 -# all_spin -@ title 所有块可旋(All-Spin) -规则名,指使用所有方块进行卡块消都会得到奖励,作用为强调规则不是另一个常见规则T-Only,该规则只有T方块的回旋操作能获得奖励。 - -# combo -@ title 连击(Combo) -连续落下几个方块都产生了消除。 - -# combo_setup -@ title 连击楼 -为了打出连击,通常使用的办法是堆一个连击楼,也就是在一侧空出1~4列,填满其他的几列,然后将方块连续丢入空列进行消除。 - -# spike -@ title 爆发(Spike) -指短时间内打出大量的攻击,因为这会在攻击-时间的曲线图表上显示为尖刺(Spike的本义)。 - -# key_speed -@ title 按键速度(KPS / KPM) -表示按键速度的常用标准有KPS和KPM。 -KPS:Key per Second, 按键每秒 -KPM:Key per Minute, 按键每分 +# all_clear +@ title 全消(AC) +All Clear, 消除场地内所有方格。 +另有两个变种: +Half Clear:“下方有剩余方格”的全消 +Color Clear:消除了非垃圾行的所有方格 -# drop_speed -@ title 落块速度(LPM / BPM / PPS) -表示落块速度的常用标准有PPS和BPM和LPM。 -PPS:Piece per Second, 块每秒 -BPM:Block per Minute, 块每分,也有写作PPM的,第一个P同PPS, 意思相同 -LPM:Line per Minute, 行每分,其中行的计算方式有两种,一是字面意义上的消了几行,二是只用落下的方块数来换算,去掉垃圾行等外部因素的影响 +# charge +@ title 充能(CHG / B2B) +进行多次特殊消除(消四或卡块消)之间没有间隔普通消行时可以获得充能,为后续的攻击提供加成。 +CHG:Charge +B2B:Back to Back, 连续 -# attack_power -@ title 攻击强度(APM / APL) -表示攻击强度的常用标准有APM和APL。 -APM:Attack per Minute, 攻击每分 -APL:Attack per Line, 攻击每行(行的定义有两种,详见LPM词条),也叫效率 +# sequence +@ title 序列生成器 +不同的规则会使用不同的序列生成算法。 +~~ +纯随机(Random) +独立随机生成每一个新的方块,有保证不连续出两个相同块的变种。 +缺点是可能连续生成太多SZ(洪水)或者很久没有I(干旱)的情况。 +~~ +历史(History) +一类序列生成方式的统称,具体的类型例如His4 Roll6(h4r6)。 +效果是在随机生成新的方块时,先在七个块中直接随机,然后对比前4个生成的方块,如果有相同的就重新随机,直到和最近四个都不同或者重试了6次,大大减少了洪水和干旱的情况。 +~~ +历史池(HisPool) +介于History和Bag7之间的一种生成方式。 +~~ +包循环(7-Bag) +从开局起,每七个块包含七种形状各一个,只随机打乱顺序。 +这种序列生成方式彻底避免了很久不出某种块和某种块来得特别多的情况。 -# control +# tuning @ title 控制系统(ASD & ASP & ADP) @ contentSize 25 ASD:Auto Shift Delay, 重复移动延迟,别名DAS(Delayed Auto Shift) @@ -202,91 +198,89 @@ ADP含义同ASP,只是把水平移动换成软降。 ~~ 最佳调节方法:ASD越小越好,但小到依然能准确区分单点和长按两种动作为止;ASP能多小就多小,尽可能接近0;ADP通常都为0。 -# init_control +# buffered_input @ title 预输入(Buffered Input) 指在新的方块出现之前就进行的旋转、暂存、移动等指令的输入,能减少吃键现象,增加完美输入的窗口时间,优化手感,甚至避开死亡判定。 - -# misaction -@ title 误操作(mis-action) -误操作通常有误放(mis-drop)和误暂存(mis-hold)。误放指因为操作问题无意中将方块锁定在了错误的地方,误暂存指本来不用暂存的时候按了暂存,导致需要的块进暂存拿不出来了(通常不允许连续暂存)。 +别名IRS/IHS。 # gravity -@ title 重力(下落速度) +@ title 重力(Gravity) 指在不操作的情况下,方块自然下落的速度。 -下落比较慢的时候一般用“x秒一格”和“一秒x格”,很快的时候一般以G为单位表示方块的下落速度,意思是每一帧方块往下移动多少格,默认60FPS的情况下1G就是每秒下落60格,半秒之内就能触底。另见“无限重力(20G)”词条。 - -# 20g -@ title 无限重力(20G) -通常的场地为20格高,故有意义的最大值就是20G,继续增大数字并没有区别,故20G的含义演变为了无限重力,不再是字面上的一帧下落20格了。 -20G下方块永远瞬间到底,看不到中间的下落过程,落入深坑的方块无法再移出。 +下落比较慢的时候一般用“x秒一格”和“一秒x格”,很快的时候一般以G为单位表示方块的下落速度,意思是每一帧方块往下移动多少格,默认60FPS的情况下1G就是每秒下落60格,半秒之内就能触底。 +特别地,方块的下落速度可以为无穷大,方块将不再能悬空或飞跃深坑。 -# lock_delay -@ title 锁定延迟(LD) +# delays +@ title 动画延迟 +锁定延迟(Lock Delay) 指在不操作的情况下,“方块自然下落至触地”到“方块锁定不能再移动”之间的时间。 -一般规则下该延迟可以被操作刷新,故在高重力规则下即使方块瞬间落地,依然有很多操作的机会。 - -# spwan_delay -@ title 出块延迟(ED) -Entry Delay, 进场延迟,指“当前方块锁定”到“下一个方块出现”之间的时间。 -有时也被称为ARE - -# clear_delay -@ title 消行延迟(LCD) -Line Clear Delay, 指消行动画持续的时间。 - -# death_delay -@ title 窒息死亡延迟(SDD) -Suffocating Death Delay, 如果方块出生后和场地有重叠,将进入窒息状态,倒计时结束后方块强制锁定,本局结束。 +一般规则下该延迟可以被操作刷新,故哪怕在无穷大重力时方块瞬间落地,依然有大量操作的空间。 +~~ +进场延迟(Entry Delay) +进场延迟,指“当前方块锁定”到“下一个方块出现”之间的时间。 +别名ARE。 +~~ +消行延迟(Line Clear Delay) +指消行动画持续的时间。 +~~ +窒息延迟(Suffocating Delay) +方块出生后和场地有重叠时进入窒息状态持续的时间。时间结束后方块强制锁定,本局结束。 # death_condition @ title 死亡判定 -不同规则的死亡判定不同,通常包含其中的一条或若干条: +死亡判定通常包含其中的一条或若干条: 1. 窒息(Block Out),生成位置被阻挡 -2. 场外锁定(Lock Out),方块锁定时完全在场地之外 +2. 超界(Lock Out),方块锁定时完全在场地之外 3. 超高(Top Out),场地总高度大于一定值 -# his_sequence -@ title His出块 -History(历史记录),一类序列生成方式,具体的类型例如His4 Roll6(h4r6),效果是在随机生成新的方块时,先在七个块中直接随机,然后对比前4个生成的方块,如果有相同的就重新随机,直到和最近四个都不同或者重试了6次。 -His出块是相比纯随机出块的一大改进,大大减小了连续出太多SZ(洪水)和很久没有I(干旱)的概率。 - -# bag7_sequence -@ title Bag7出块 -包循环,一种常见的序列生成方式。从开局起,每七个块包含七种形状各一个,只随机打乱顺序。这种序列生成方式彻底避免了很久不出某种块和某种块来得特别多的情况。 - # invisible @ title 隐形 半隐:方块在锁定一段时间后(几秒钟左右)会变为隐形状态的规则。 全隐:方块在锁定后立刻开始进入隐形状态的规则。 -# deepdrop -@ title 深降(Deepdrop) -允许方块向下穿墙瞬移到正下方的空位里。 -该功能通常用于技术研究,开启后可以完全不用再考虑旋转系统,只要形状能容得下的地方就一定能到达。 - # cascade -@ title 级联 -此规则下方块的每个小格之间会有连接关系,消除后导致部分悬空时悬空的部分会往下落。在这个规则下可以构造非常复杂的连锁消除。 +@ title 连锁(Cascade) +在特定规则下,消除可能会导致悬空的结构下落,此下落进一步导致的消除称为连锁消除。 -# mph -@ title MPH -Memoryless,Previewless,Holdless -一个规则组合:纯随机块序+无预览+无暂存。 +# spike +@ title 爆发(Spike) +指短时间内打出大量的攻击,得名于其在攻击-时间的曲线图表上的视觉外观为尖刺(Spike的本义)。 -# multi_rotaion -@ title 双旋 / 三旋 -双旋指能够使用顺时针+逆时针两个旋转键的技术,原来要单方向转三下的情况可以改成只反着转一下,减少烦琐操作。 -双旋也是学习Finesse的必要前提。 -三旋则是基于双旋再加上180°旋转,让转两下的情况也可以一键完成,但对效率提升效果不大,一些规则下也不允许该操作。 +# speeds +@ title 速度和攻击 +表示按键速度的常用标准有KPS、KPM。 +KPS:Key per Second, 按键每秒 +KPM:Key per Minute, 按键每分 +~~3 +表示落块速度的常用标准有PPS、BPM、LPM。 +PPS:Piece per Second, 块每秒 +BPM:Block per Minute, 块每分,也有写作PPM的,意思相同 +LPM:Line per Minute, 行每分,其中“行数”有两种计算方式,一是字面的消了几行,二是只用落下的方块数乘以4/10来换算,排除了垃圾行等因素影响 +~~3 +表示攻击强度的常用标准有APM、APL。 +APM:Attack per Minute, 攻击每分 +APL:Attack per Line, 攻击每行(行的定义有两种,详见LPM词条),也叫效率 + +# misaction +@ title 误操作(Mis-action) +误操作通常有误放(Mis-Drop)和误暂存(Mis-hold)。误放指因为操作问题无意中将方块锁定在了错误的地方,误暂存指本来不用暂存的时候按了暂存,导致需要的块进暂存拿不出来了(通常不允许连续暂存)。 # finesse @ title 极简(Finesse) 用最少的按键数将方块移到想去的位置的技术,节约时间和减少误操作。 通常只考虑从空中直接落下并锁定,不考虑需要软降后再移动、旋转等的落点。 - -# hypertap -@ title 超连点(Hypertap) -在ASD很慢或其他不适合使用长按移动的情况下,快速震动手指以实现比长按更快速+灵活的高速单点移动。 +以下是极简的前置技术: +~~ +双旋: +指能够使用顺时针+逆时针两个旋转键的技术,原来要单方向转三下的情况可以改成只反着转一下,减少烦琐操作。 +~~ +三旋: +基于双旋再加上非通用的180°旋转,让需要转两下的情况可以一键完成,不过对效率提升效果不大。 +~~ +折返: +长按移动键将方块移动到靠墙的位置,然后再轻按反方向往回移动,减少在场地两侧摆块所需的按方向键的次数。 +~~ +撞墙转: +长按移动键将方块移动到靠墙的位置,然后再朝远离墙的方向旋转,可以让方块直接到达竖着离墙一格的位置,减少按键次数。 # 26f_studio @ title 26F Studio diff --git a/assets/scene/dictionary.lua b/assets/scene/dictionary.lua index a2f1af67..b910ef54 100644 --- a/assets/scene/dictionary.lua +++ b/assets/scene/dictionary.lua @@ -11,8 +11,9 @@ local scene={} local categoryColor={ intro= {index=COLOR.F, content=COLOR.lF}, -- Instruction for current scene guide= {index=COLOR.Y, content=COLOR.lY}, -- Practice methods - term= {index=COLOR.lB,content=COLOR.LB}, -- Concept in game - tech= {index=COLOR.G, content=COLOR.lG}, -- General technics + term1= {index=COLOR.lC,content=COLOR.LC}, -- Basic concepts in game + term2= {index=COLOR.lS,content=COLOR.LS}, -- Secondary concepts + term3= {index=COLOR.lB,content=COLOR.LB}, -- Popular concepts other= {index=COLOR.M, content=COLOR.lM}, -- Other } local mainW,mainH=900,700 @@ -85,7 +86,7 @@ local function selectItem(item) contents.texts[i]=line end contents.maxScroll=math.max(contents.maxScroll,0) - table.insert(contents.texts,1,{divider=4,height=10}) + table.insert(contents.texts,1,{divider=3,height=10}) copyButton:setVisible(true) else contents.title="x"