From b9cf46ec0121084781cc6af694acb6f2d49db8ed Mon Sep 17 00:00:00 2001 From: MrZ_26 <1046101471@qq.com> Date: Sat, 24 Aug 2024 06:48:25 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=96=B0=E5=8A=A0=E5=9B=9E=E8=BD=AF?= =?UTF-8?q?=E9=99=8D=E9=80=9F=E7=8E=87=E7=9A=84=E8=AE=BE=E7=BD=AE=E5=8F=82?= =?UTF-8?q?=E6=95=B0=EF=BC=88adp=EF=BC=89=20=E4=BF=AE=E6=94=B9asd/asp/adp/?= =?UTF-8?q?ash=E7=9A=84=E4=B8=AD=E6=96=87=E8=AF=91=E5=90=8D=20=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E8=AF=8D=E5=85=B8=E7=9B=B8=E5=85=B3=EF=BC=8C=E9=A1=BA?= =?UTF-8?q?=E4=BE=BF=E6=95=B4=E7=90=86=E4=B8=80=E4=BA=9B=E8=AF=8D=E6=9D=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/dict_base.lua | 6 ++---- assets/game/brikPlayer.lua | 7 ++++--- assets/game/gelaPlayer.lua | 7 ++++--- assets/language/dict_zh.lua | 39 +++++++++++++++++------------------- assets/language/lang_en.lua | 1 + assets/language/lang_zh.lua | 7 ++++--- assets/scene/setting_in.lua | 11 ++++++++-- assets/scene/setting_out.lua | 26 +++++++++++++++++------- assets/settings.lua | 2 ++ 9 files changed, 63 insertions(+), 43 deletions(-) diff --git a/assets/dict_base.lua b/assets/dict_base.lua index 29e810f4..6da49037 100644 --- a/assets/dict_base.lua +++ b/assets/dict_base.lua @@ -8,11 +8,10 @@ local baseDict={ {'term: next'}, {'term: hold'}, {'term: clear'}, - {'term: clear_big'}, + {'term: clear_big',hidden=function() return false end}, {'term: clear_huge',hidden=function() return false end}, {'term: charge'}, {'term: all_clear'}, - {'term: half_clear'}, {'term: rotation_system'}, {'term: spin'}, {'term: all_spin'}, @@ -22,8 +21,7 @@ local baseDict={ {'term: key_speed'}, {'term: drop_speed'}, {'term: attack_power'}, - {'term: asd_asp'}, - {'term: ash'}, + {'term: control'}, {'term: init_control'}, {'term: misaction'}, {'term: gravity'}, diff --git a/assets/game/brikPlayer.lua b/assets/game/brikPlayer.lua index 002fbe94..373f982c 100644 --- a/assets/game/brikPlayer.lua +++ b/assets/game/brikPlayer.lua @@ -1473,13 +1473,13 @@ function BP:updateFrame() -- Auto drop if self.downCharge and self.keyState.softDrop then - local dropASD=SET.softdropSkipAsd and SET.asp or SET.asd + local dropASD=SET.softdropSkipAsd and SET.adp or SET.asd if self.hand and not self:ifoverlap(self.hand.matrix,self.handX,self.handY-1) then local dist=0 if self.downCharge>=dropASD then - if SET.asp==0 then + if SET.adp==0 then dist=1e99 - elseif (self.downCharge-dropASD)%SET.asp==0 then + elseif (self.downCharge-dropASD)%SET.adp==0 then dist=1 end end @@ -1996,6 +1996,7 @@ local baseEnv={ -- Control asd=122, -- *Auto shift delay asp=26, -- *Auto shift period + adp=26, -- *Auto drop period ash=26, -- *Auto Shift Halt, discharge asd when piece spawn softdropSkipAsd=true, -- *Skip asd when softdrop entryChrg='on', -- on/off/full/break charge when move before spawn diff --git a/assets/game/gelaPlayer.lua b/assets/game/gelaPlayer.lua index 85cc9a40..a5d0e64c 100644 --- a/assets/game/gelaPlayer.lua +++ b/assets/game/gelaPlayer.lua @@ -1022,13 +1022,13 @@ function GP:updateFrame() -- Auto drop if self.downCharge and self.keyState.softDrop then - local dropASD=SET.softdropSkipAsd and SET.asp or SET.asd + local dropASD=SET.softdropSkipAsd and SET.adp or SET.asd if self.hand and not self:ifoverlap(self.hand.matrix,self.handX,self.handY-1) then local dist=0 if self.downCharge>=dropASD then - if SET.asp==0 then + if SET.adp==0 then dist=1e99 - elseif (self.downCharge-dropASD)%SET.asp==0 then + elseif (self.downCharge-dropASD)%SET.adp==0 then dist=1 end end @@ -1434,6 +1434,7 @@ local baseEnv={ -- Control asd=122, asp=26, + adp=26, ash=26, softdropSkipAsd=true, entryChrg='on', diff --git a/assets/language/dict_zh.lua b/assets/language/dict_zh.lua index e368beaf..b7f7292d 100644 --- a/assets/language/dict_zh.lua +++ b/assets/language/dict_zh.lua @@ -76,7 +76,7 @@ C4.禁用暂存,稳定全部消四完成40行 4.参数设置设置不当; 5.姿势不当,不便用力; 6.换新键位/新设备后不适应操作习惯; -7.肌肉疲劳反应和协调能力下降,可以进行睡眠或体育运动。 +7.肌肉疲劳反应和协调能力下降,需进行睡眠或体育运动。 # piece_appearance @ title 形状、颜色、朝向 @@ -136,24 +136,21 @@ B2B:Back to Back,连续 # all_clear @ title 全消(AC) -All Clear,消除场地内所有方块。 - -# half_clear -@ title 半全消(HC) -Half Clear,AC(全消)的外延,指“下方有剩余方块”的全消。 -特别地,如果只消1行则必须不剩余主动放置的方块。 +All Clear,消除场地内所有方格。 +另有两个变种: +Half Clear:“下方有剩余方格”的全消 +Color Clear:消除了非垃圾行的所有方格 # rotation_system @ title 旋转系统 -方块进行“旋转”操作的时候,如果旋转后的原定目标位置和场地或墙壁有重合,会进行一些偏移测试,把方块平移到附近的空位来使旋转操作能顺利完成,更不容易卡住。 -上文中的偏移过程称为“踢墙”。通常偏移坐标会被用表格的方式存储,根据方块的种类和旋转的方向来选择,该表被称为“踢墙表”。 +方块进行“旋转”操作的时候,如果旋转后的原定目标位置被遮挡,则会尝试将方块平移到附近的空位来使旋转能顺利执行而不是卡住。 +上述执行的偏移动作称为“踢墙”。通常尝试的偏移坐标以表格的方式存储,根据方块的种类和旋转的方向来选择其中一行,该表被称为“踢墙表”。 旋转系统决定了上述过程如何进行。 # spin @ title 卡块消(Spin) -在规则允许的情况下,使用旋转操作将方块卡进不能直接移到的位置称为Spin,根据使用的具体方块,操作会被称为例如Z-Spin、J-Spin等。 -如果Spin的同时产生了消除,则该消除为Spin消除。 -Mini-Spin:不满足一些条件的卡块消可能会被附加Mini的前缀,获得的奖励会减少。 +在规则允许的情况下,使用旋转操作将方块卡进不能直接移到的位置称为卡块,操作会根据使用的具体方块被称为Z-Spin、J-Spin等。 +如果卡块的同时产生了消除,则该消除为卡块消。 # all_spin @ title 所有块可旋(All-Spin) @@ -190,21 +187,21 @@ LPM:Line per Minute,行每分,其中行的计算方式有两种,一是 APM:Attack per Minute,攻击每分 APL:Attack per Line,攻击每行(行的定义有两种,详见LPM词条),也叫效率 -# asd_asp -@ title 移动延迟(ASD & ASP & ADP) +# control +@ title 控制系统(ASD & ASP & ADP) @ contentSize 25 -ASD:Auto Shift Delay,自动移动延迟,旧称DAS(Delayed Auto Shift) -ASP:Auto Shift Period,自动重复周期,旧称ARR(Auto Repeat Rate) +ASD:Auto Shift Delay,重复移动延迟,别名DAS(Delayed Auto Shift) +ASP:Auto Shift Period,重复移动周期,别名ARR(Auto Repeat Rate) +ADP:Auto Drop Period,重复下落周期 +ASH:Auto Shift Halt,重复移动阻止 ~~ -在使用键盘输入文本时按住一个键,会连续输入了一大串字符。注意字符出现的时机:第一个字按下后立刻出现,停了一小会后开始快速连续自动输入,其中“停了一小会”就是ASD长度,“连续自动输入”的间隔就是ASP长度。 +使用键盘输入文本时按住一个键,会出现一大串字符。注意字符出现的时机:第一个字符在按键时立刻出现,停了一小会后开始快速自动输入。 +其中“停了一小会”就是ASD长度,“快速自动输入”的间隔就是ASP长度。 ADP含义同ASP,只是把水平移动换成软降。 +新的方块出现后即使ASD已充满,方块也会额外等待ASH的时长后再开始移动,优化手感。 ~~ 最佳调节方法:ASD越小越好,但小到依然能准确区分单点和长按两种动作为止;ASP能多小就多小,尽可能接近0;ADP通常都为0。 -# ash -@ title 自动移动阻止(ASH) -ASH:Auto Shift Halt,新的方块出现后即使ASD已充满,方块也会等ASH的时长后再开始移动,优化手感。 - # init_control @ title 预输入 指在新的方块出现之前就进行的旋转、暂存、移动等指令的输入,能减少吃键现象,增加完美输入的窗口时间,优化手感, diff --git a/assets/language/lang_en.lua b/assets/language/lang_en.lua index 1381a972..0bde600b 100644 --- a/assets/language/lang_en.lua +++ b/assets/language/lang_en.lua @@ -84,6 +84,7 @@ local L={ setting_asd="ASD", setting_asp="ASP", + setting_adp="ADP", setting_ash="AS Halt", setting_softdropSkipAsd="Skip Drop Delay", setting_shakeness="Shakiness", diff --git a/assets/language/lang_zh.lua b/assets/language/lang_zh.lua index e914dedb..973eb5b8 100644 --- a/assets/language/lang_zh.lua +++ b/assets/language/lang_zh.lua @@ -82,9 +82,10 @@ local L={ graph_brik_title="M-图谱", -- 翻译注意:取自“知识图谱”(人工智能领域) settings_title="设置", - setting_asd="自动移动延迟", - setting_asp="自动重复周期", - setting_ash="自动移动阻止", + setting_asd="重复移动延迟", + setting_asp="重复移动周期", + setting_adp="重复下落周期", + setting_ash="重复移动阻止", setting_softdropSkipAsd="跳过软降延迟", setting_shakeness="场地晃动", setting_hitWavePower="冲击波强度", diff --git a/assets/scene/setting_in.lua b/assets/scene/setting_in.lua index 46893c96..90cd3eff 100644 --- a/assets/scene/setting_in.lua +++ b/assets/scene/setting_in.lua @@ -6,6 +6,7 @@ local scene={} local function updateSlidercolor() scene.widgetList.asd.fillColor={COLOR.HSL(0,1,.5+.5*MATH.icLerp(20,100,SETTINGS.game_brik.asd))} scene.widgetList.asp.fillColor={COLOR.HSL(0,1,.5+.5*MATH.icLerp(-10,5,SETTINGS.game_brik.asp))} + scene.widgetList.asd.fillColor={COLOR.HSL(0,1,.5+.5*MATH.icLerp(-10,5,SETTINGS.game_brik.asd))} end function scene.load() @@ -53,15 +54,21 @@ scene.widgetList={ {type='slider', pos={1,.5},x=-550, y=-210,w=400,fontSize=40,text=LANG'setting_sfx', widthLimit=260,disp=TABLE.func_getVal(SETTINGS.system,'sfxVol'), code=TABLE.func_setVal(SETTINGS.system,'sfxVol')}, {type='slider', pos={1,.5},x=-550, y=-130,w=400,fontSize=40,text=LANG'setting_vib', widthLimit=260,disp=TABLE.func_getVal(SETTINGS.system,'vibVol'), code=TABLE.func_setVal(SETTINGS.system,'vibVol')}, - {type='slider', name='asd', pos={1,.5},x=-852.3,y=250,w=702.3,text=LANG'setting_asd', widthLimit=260,axis={20,260,10},disp=TABLE.func_getVal(SETTINGS.game_brik,'asd'), valueShow=sliderShow_time, code=function(v) + {type='slider', name='asd', pos={1,.5},x=-852.3,y=150,w=702.3,text=LANG'setting_asd', widthLimit=260,axis={20,260,10},disp=TABLE.func_getVal(SETTINGS.game_brik,'asd'), valueShow=sliderShow_time, code=function(v) SETTINGS.game_brik.asd=v SETTINGS.game_brik.asp=math.min(SETTINGS.game_brik.asp,SETTINGS.game_brik.asd) + SETTINGS.game_brik.adp=math.min(SETTINGS.game_brik.adp,SETTINGS.game_brik.asd) updateSlidercolor() end}, - {type='slider', name='asp', pos={1,.5},x=-852.3,y=350,w=702.3,text=LANG'setting_asp', widthLimit=260,axis={0,120,10}, disp=TABLE.func_getVal(SETTINGS.game_brik,'asp'), valueShow=sliderShow_time, code=function(v) + {type='slider', name='asp', pos={1,.5},x=-852.3,y=250,w=702.3,text=LANG'setting_asp', widthLimit=260,axis={0,120,10}, disp=TABLE.func_getVal(SETTINGS.game_brik,'asp'), valueShow=sliderShow_time, code=function(v) SETTINGS.game_brik.asp=v SETTINGS.game_brik.asd=math.max(SETTINGS.game_brik.asd,SETTINGS.game_brik.asp) updateSlidercolor() end}, + {type='slider', name='adp', pos={1,.5},x=-852.3,y=350,w=702.3,text=LANG'setting_adp', widthLimit=260,axis={0,120,10}, disp=TABLE.func_getVal(SETTINGS.game_brik,'adp'), valueShow=sliderShow_time, code=function(v) + SETTINGS.game_brik.adp=v + SETTINGS.game_brik.asd=math.max(SETTINGS.game_brik.asd,SETTINGS.game_brik.adp) + updateSlidercolor() + end}, } return scene diff --git a/assets/scene/setting_out.lua b/assets/scene/setting_out.lua index 4b752701..652a2d4d 100644 --- a/assets/scene/setting_out.lua +++ b/assets/scene/setting_out.lua @@ -66,13 +66,25 @@ scene.widgetList={ {name='S4',type='button_invis',pos={1,0},x=-200,y=60,w=150,h=100,cornerR=20,fontSize=70,text=CHAR.icon.controller,sound_trigger='button_soft',code=function() if page~='4' then SCN.swapTo('setting_out','none',4) end end}, -- Controls - {name='1',type='slider', pos={0,0},x=340, y=220,w=650, fontSize=35,text=LANG'setting_asd', widthLimit=260,axis={0,260,1},smooth=true,disp=TABLE.func_getVal(SETTINGS.game_brik,'asd'), valueShow=sliderShow_time, code=function(v) SETTINGS.game_brik.asd=v; SETTINGS.game_brik.asp=math.min(SETTINGS.game_brik.asp,SETTINGS.game_brik.asd); SETTINGS.game_brik.ash=math.min(SETTINGS.game_brik.ash,SETTINGS.game_brik.asd) end}, - {name='1',type='slider', pos={0,0},x=340, y=300,w=300, fontSize=35,text=LANG'setting_asp', widthLimit=260,axis={0,120,1},smooth=true,disp=TABLE.func_getVal(SETTINGS.game_brik,'asp'), valueShow=sliderShow_time, code=function(v) SETTINGS.game_brik.asp=v; SETTINGS.game_brik.asd=math.max(SETTINGS.game_brik.asd,SETTINGS.game_brik.asp) end}, - {name='1',type='switch', pos={0,0},x=750, y=300,h=40, labelPos='right',fontSize=35,text=LANG'setting_softdropSkipAsd',disp=TABLE.func_getVal(SETTINGS.game_brik,'softdropSkipAsd'),code=TABLE.func_revVal(SETTINGS.game_brik,'softdropSkipAsd')}, -- visibleTick=function() return page=='1' and SETTINGS.game_brik.asp>0 end - {name='1',type='slider', pos={0,0},x=340, y=380,w=650, fontSize=35,text=LANG'setting_ash', widthLimit=260,axis={0,260,1},smooth=true,disp=TABLE.func_getVal(SETTINGS.game_brik,'ash'), valueShow=sliderShow_time, code=function(v) SETTINGS.game_brik.ash=v; SETTINGS.game_brik.asd=math.max(SETTINGS.game_brik.asd,SETTINGS.game_brik.ash) end}, - {name='1',type='button', pos={0,0},x=500, y=480,w=360, h=80,cornerR=10, fontSize=40,text=LANG'setting_keymapping', code=WIDGET.c_goScn('keyset_out','fadeHeader')}, - {name='1',type='switch', pos={0,0},x=360, y=620,h=40, labelPos='right',fontSize=40,text=LANG'setting_enableTouching', disp=TABLE.func_getVal(SETTINGS.system,'touchControl'),code=TABLE.func_revVal(SETTINGS.system,'touchControl')}, - {name='1',type='button', pos={0,0},x=500, y=700,w=360, h=80,cornerR=10, fontSize=40,text=LANG'setting_touching', code=WIDGET.c_goScn'keyset_touch_out',visibleTick=function() return page=='1' and SETTINGS.system.touchControl end}, + {name='1',type='slider', pos={0,0},x=340, y=220,w=650, fontSize=35,text=LANG'setting_asd', widthLimit=260,axis={0,260,1},smooth=true,disp=TABLE.func_getVal(SETTINGS.game_brik,'asd'), valueShow=sliderShow_time, code=function(v) + SETTINGS.game_brik.asd=v + SETTINGS.game_brik.asp=math.min(SETTINGS.game_brik.asp,SETTINGS.game_brik.asd) + SETTINGS.game_brik.adp=math.min(SETTINGS.game_brik.adp,SETTINGS.game_brik.asd) + SETTINGS.game_brik.ash=math.min(SETTINGS.game_brik.ash,SETTINGS.game_brik.asd) + end}, + {name='1',type='slider', pos={0,0},x=340, y=300,w=300, fontSize=35,text=LANG'setting_asp', widthLimit=260,axis={0,120,1},smooth=true,disp=TABLE.func_getVal(SETTINGS.game_brik,'asp'), valueShow=sliderShow_time, code=function(v) + SETTINGS.game_brik.asp=v + SETTINGS.game_brik.asd=math.max(SETTINGS.game_brik.asd,SETTINGS.game_brik.asp) + end}, + {name='1',type='slider', pos={0,0},x=340, y=380,w=300, fontSize=35,text=LANG'setting_adp', widthLimit=260,axis={0,120,1},smooth=true,disp=TABLE.func_getVal(SETTINGS.game_brik,'adp'), valueShow=sliderShow_time, code=function(v) + SETTINGS.game_brik.adp=v + SETTINGS.game_brik.asd=math.max(SETTINGS.game_brik.asd,SETTINGS.game_brik.adp) + end}, + {name='1',type='switch', pos={0,0},x=750, y=380,h=40, labelPos='right',fontSize=35,text=LANG'setting_softdropSkipAsd',disp=TABLE.func_getVal(SETTINGS.game_brik,'softdropSkipAsd'),code=TABLE.func_revVal(SETTINGS.game_brik,'softdropSkipAsd')}, -- visibleTick=function() return page=='1' and SETTINGS.game_brik.asp>0 end + {name='1',type='slider', pos={0,0},x=340, y=460,w=650, fontSize=35,text=LANG'setting_ash', widthLimit=260,axis={0,260,1},smooth=true,disp=TABLE.func_getVal(SETTINGS.game_brik,'ash'), valueShow=sliderShow_time, code=function(v) SETTINGS.game_brik.ash=v; SETTINGS.game_brik.asd=math.max(SETTINGS.game_brik.asd,SETTINGS.game_brik.ash) end}, + {name='1',type='button', pos={0,0},x=500, y=560,w=360, h=80,cornerR=10, fontSize=40,text=LANG'setting_keymapping', code=WIDGET.c_goScn('keyset_out','fadeHeader')}, + {name='1',type='switch', pos={0,0},x=360, y=700,h=40, labelPos='right',fontSize=40,text=LANG'setting_enableTouching', disp=TABLE.func_getVal(SETTINGS.system,'touchControl'),code=TABLE.func_revVal(SETTINGS.system,'touchControl')}, + {name='1',type='button', pos={0,0},x=500, y=780,w=360, h=80,cornerR=10, fontSize=40,text=LANG'setting_touching', code=WIDGET.c_goScn'keyset_touch_out',visibleTick=function() return page=='1' and SETTINGS.system.touchControl end}, -- Audio {name='2',type='slider_fill',pos={0,0},x=340, y=220,w=650, fontSize=40,text=LANG'setting_mainVol', widthLimit=260, disp=TABLE.func_getVal(SETTINGS.system,'mainVol'), code=TABLE.func_setVal(SETTINGS.system,'mainVol')}, diff --git a/assets/settings.lua b/assets/settings.lua index 9225b6db..80012a2c 100644 --- a/assets/settings.lua +++ b/assets/settings.lua @@ -35,6 +35,7 @@ local settings={ -- Handling asd=120, asp=20, + adp=20, ash=26, softdropSkipAsd=true, @@ -45,6 +46,7 @@ local settings={ -- Handling asd=120, asp=20, + adp=20, ash=26, aHdLock=200, mHdLock=62,