Compare commits

...

40 Commits

Author SHA1 Message Date
MrZ_26
8a61172764 版本推进 2022-05-16 00:24:58 +08:00
MrZ_26
97fd1721c5 中文词典新增timing词条 2022-05-13 21:40:14 +08:00
MrZ_26
55419cc183 调整一处中文模式说明错误 2022-05-07 12:52:32 +08:00
Imple Lee
db47528a37 check syntax validity in automatic test (#701) 2022-05-07 12:30:27 +08:00
Imple Lee
38be81114f add dig_techrash_10l.lua (#703) 2022-05-07 12:28:31 +08:00
Imple Lee
6c960fdde8 fix line breaks in manuals (#700)
Currently manuals can't be automatically fix, so for now we can only
break them manually....
2022-05-07 12:25:09 +08:00
MrZ_26
05c277a690 可以根据设置显示日文的说明书了 2022-05-05 16:15:28 +08:00
Imple Lee
9dab204ae8 change fixed URL to relative URL in GitHub Actions (#699) 2022-05-05 16:11:47 +08:00
Imple Lee
075f643fb7 check font in automatic test (#698)
* check font in automatic test

* fix `description` in `action.yml`

* check font first
because it's faster

* add link to missing character

* fix grammar error

* fix grammar error again

* fix SHA error

* fix one-line error to align with github

* fix: make line-number start from 1
2022-05-04 18:25:52 +08:00
NOT_A_ROBOT
8d4e2fa0d0 Improved invis/fading roll modes (#697)
* Added target line in master_ex

* Added roll target line in master_g

* Added roll countdown during transition in master_g
2022-05-04 18:06:42 +08:00
MrZ_26
5d05583e26 修正TRS的O变JL条件错误 2022-05-04 14:46:24 +08:00
MrFaq2018
31425440dc Update lang_es.lua (#695) 2022-05-04 12:41:18 +08:00
sakurw
5409e18ede Update manual_ja.txt (#692) 2022-05-04 12:40:52 +08:00
MrZ_26
1d50e37df2 微调中文词典一处用词 2022-05-03 23:26:43 +08:00
MrZ_26
afa86fe0ac 修正lang_es少一个括号 2022-05-03 23:21:41 +08:00
sakurw
77b031fdde Update lang_ja.lua (#694) 2022-05-03 21:51:26 +08:00
MrZ_26
d0c71cd0af 订正一处英文说明书的错误 2022-05-03 20:59:06 +08:00
MrZ_26
5b743a4103 一处治标不治本的玩家游戏结束时的场地矩阵相关报错修正 2022-05-03 13:10:25 +08:00
MrFaq2018
da8d7e2080 Updated Spanish Translation 05-2022 (#693) 2022-05-03 13:06:05 +08:00
MrZ_26
3934a61a6d 版本推进 2022-04-30 21:38:44 +08:00
MrZ_26
1f225ae6ad 移除机翻语言,调整语言设置界面 2022-04-30 21:38:44 +08:00
MrZ_26
303a1d7afc 微调中文语言文件 2022-04-30 21:38:44 +08:00
MrZ_26
1d4a2eeb66 移除地图上的clearRush模式
整理代码
2022-04-30 21:38:44 +08:00
MrZ_26
3fe0f7281a 修复trs的V的踢墙表错误 2022-04-30 21:38:44 +08:00
NOT_A_ROBOT
f89248a8b7 Improve Indoneisan Translation (#688) 2022-04-28 11:26:15 +08:00
MrZ_26
0453e8d94d 去掉之前“移除”mono语音包的时候添加的强制修改设置 2022-04-23 14:15:01 +08:00
NOT_A_ROBOT
fd1070c313 Fix minor mistake in Indonesian language (#685) 2022-04-23 13:18:24 +08:00
MrZ_26
d987008cf6 版本推进 2022-04-20 19:23:37 +08:00
MrZ_26
73fc7c037d 修复big模式统计行数可能超出200 close #682 2022-04-20 19:23:23 +08:00
MrZ_26
718540db5a 新的mono立绘+重新开放mono语音包选项 2022-04-20 19:22:57 +08:00
MrZ_26
9c2b09e589 修复键盘编辑自定义场地不能切换画笔,同时新增c为智能画笔快捷键 2022-04-19 20:16:14 +08:00
MrZ_26
0c2f0904ef 修复经典模式通关就报错
整理代码
2022-04-17 20:57:40 +08:00
MrZ_26
2ae34bded1 如果加载存档时发生错误会提示有文件丢失而不是蓝屏 2022-04-17 20:57:40 +08:00
C₂₉H₂₅N₃O₅
30b1d2ddfd 大改词典,更新Legals (#683)
* 更新英文翻译
* 修改中文词典小细节
* 更新Legals
2022-04-17 14:31:38 +08:00
MrZ_26
d769604724 修补中文词典 2022-04-10 21:03:51 +08:00
Richard969
573366fed9 对词典进行一些补充和修改 (#681) 2022-04-10 20:24:42 +08:00
MrZ_26
6f3667e65a 制作人员名单添加插图作者 2022-04-08 16:08:35 +08:00
Imple Lee
9426dcdc69 better .gitattributes (#680)
* better .gitattributes

* .gitattributes per directory

* No binary file detection

https://stackoverflow.com/questions/57030698

* fix .github/actions/*/*.yml
2022-04-04 12:28:42 +08:00
MrZ_26
bdb117c0df 添加.gitattributes 2022-04-04 05:35:41 +08:00
MrZ_26
8fd4391549 移除音乐室“old works”文本
整理代码
2022-04-04 05:32:32 +08:00
48 changed files with 1170 additions and 1506 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
* text=auto

2
.github/.gitattributes vendored Normal file
View File

@@ -0,0 +1,2 @@
actions/**/*.yml text eol=lf
workflows/*.yml text eol=lf

View File

@@ -4,6 +4,58 @@ description: 'Check for obvious errors.'
runs:
using: "composite"
steps:
- name: Install lua
shell: bash
run: |
sudo apt-get install lua5.3 -y
- name: Check all lua files are valid
shell: lua {0}
run: |
local files = assert(io.popen "find . -name '*.lua' -not -path '*/.git/*'")
local errors = 0
for file in files:lines() do
local f, error = loadfile(file)
if not f then
print(error)
errors = errors + 1
end
end
files:close()
if errors > 0 then
print(('%d syntax error(s) found.'):format(errors))
os.exit(1)
else
print('No syntax error found.')
end
- name: Prepare FontTools
shell: bash
run: |
pip install fonttools
- name: Check all characters are in the font
shell: python
run: |
from fontTools.ttLib import TTFont
from pathlib import Path
font = TTFont('parts/fonts/proportional.otf')
keys = set(font.getBestCmap().keys())
missing = []
for file in Path('parts/language').glob('*.lua'):
for i, line in enumerate(file.read_text().splitlines()):
for char in line:
if ord(char) not in keys:
missing.append((char, file, i+1))
if missing:
print('Missing characters:')
for char, file, i in missing:
print(f"'{char}'({ord(char):x}) in {file} at line {i} " \
f"(${{ github.server_url }}/${{ github.repository }}/blob/${{ github.sha }}/{file}#L{i})")
exit(1)
else:
print('All characters are present in the font.')
- uses: ./.github/actions/build-love
with:
file-path: Techmino.love

1
.github/build/Linux/.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
*.template text eol=lf

1
.github/build/Windows/.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
*.template text eol=crlf

1
.github/build/macOS/.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
*.template text eol=lf

View File

@@ -1,28 +1,28 @@
local arg=arg[1]
if arg=="-apkCode"then
local code=require"version".apkCode
print(code)
elseif arg=="-code"then
local str=require"version".code
print(str)
elseif arg=="-name"then
local str=require"version".string
print(str)
elseif arg=="-release"then
local str=require"version".string:gsub("V","",1)
print(str)
elseif arg=="-updateTitle"then
local note=require"parts.updateLog"
local p1=note:find("\n%d")+1
local p2=note:find("\n",p1)-1
note=note:sub(p1,p2)
print(note)
elseif arg=="-updateNote"then
local note=require"parts.updateLog"
local p1=note:find("\n",note:find("\n%d")+1)+1
local p2=note:find("\n%d",p1+1)
note=note:sub(p1,p2-2)
:gsub(" ","- ")
:gsub(" ","# ")
print(note)
end
local arg=arg[1]
if arg=="-apkCode"then
local code=require"version".apkCode
print(code)
elseif arg=="-code"then
local str=require"version".code
print(str)
elseif arg=="-name"then
local str=require"version".string
print(str)
elseif arg=="-release"then
local str=require"version".string:gsub("V","",1)
print(str)
elseif arg=="-updateTitle"then
local note=require"parts.updateLog"
local p1=note:find("\n%d")+1
local p2=note:find("\n",p1)-1
note=note:sub(p1,p2)
print(note)
elseif arg=="-updateNote"then
local note=require"parts.updateLog"
local p1=note:find("\n",note:find("\n%d")+1)+1
local p2=note:find("\n%d",p1+1)
note=note:sub(p1,p2-2)
:gsub(" ","- ")
:gsub(" ","# ")
print(note)
end

View File

@@ -27,7 +27,7 @@ JetBrains Mono is copyrighted by the JetBrains Mono Project authors. JetBrains M
"Windows", the Windows logo, "Xbox", Xbox logo, and "Microsoft" are registered trademarks of Microsoft Corporation in the United States of America and other countries or regions.
The Apple logo, "Apple Inc.," iOS, iPadOS, macOS, iPhone, and Mac are registered trademarks of Apple Inc. in the United States of America and other countries or regions.
The Apple logo, "Apple Inc.," iOS, iPadOS, macOS, iPhone, Mac, and Apple Arcade are registered trademarks of Apple Inc. in the United States of America and other countries or regions.
"EA" and "Electronic Arts" are registered trademarks of Electronic Arts Inc. © 2022 Electronic Arts Inc.
@@ -36,7 +36,7 @@ SEGA and the SEGA logo are registered trademarks of Sega Corporation. © 2022 Se
Oculus Quest is a registered trademark of Facebook Technologies, LLC. © Meta Platforms, Inc.
"Nintendo" is a registered trademarks of Nintendo Co., Ltd. © 2022 Nintendo Co., Ltd.
"Nintendo" is a registered trademark of Nintendo Co., Ltd. © 2022 Nintendo Co., Ltd.
N3TWORK is a registered trademark of N3TWORK Inc. © 2022 N3TWORK Inc.
@@ -44,6 +44,8 @@ GoldWave is a registered trademark of GoldWave, Inc.
Linux is a registered trademark of Linus Torvalds.
Google is a registered trademark of Google LLC.
Touhou Project © Team Shanghai Alice 20022022.
All other trademarks, logos, and copyrights are the properties of their respective owners.

View File

@@ -30,7 +30,7 @@ SAVEDIR=fs.getSaveDirectory()
--Global Vars & Settings
SFXPACKS={'chiptune'}
VOCPACKS={'miya',--[['mono',]]'xiaoya','miku'}
VOCPACKS={'miya','mono','xiaoya','miku'}
FIRSTLAUNCH=false
DAILYLAUNCH=false
@@ -231,12 +231,18 @@ end
Z.setOnQuit(destroyPlayers)
--Load settings and statistics
TABLE.cover (loadFile('conf/user','-canSkip')or{},USER)
TABLE.cover (loadFile('conf/unlock','-canSkip')or{},RANKS)
TABLE.update(loadFile('conf/settings','-canSkip')or{},SETTING)
TABLE.coverR(loadFile('conf/data','-canSkip')or{},STAT)
TABLE.cover (loadFile('conf/key','-canSkip')or{},KEY_MAP)
TABLE.cover (loadFile('conf/virtualkey','-json -canSkip')or{},VK_ORG)
if
not(
pcall(TABLE.cover, loadFile('conf/user', '-json -canSkip')or loadFile('conf/user', '-luaon -canSkip')or{},USER) and
pcall(TABLE.cover, loadFile('conf/unlock', '-json -canSkip')or loadFile('conf/unlock', '-luaon -canSkip')or{},RANKS) and
pcall(TABLE.update,loadFile('conf/settings', '-json -canSkip')or loadFile('conf/settings', '-luaon -canSkip')or{},SETTING) and
pcall(TABLE.coverR,loadFile('conf/data', '-json -canSkip')or loadFile('conf/data', '-luaon -canSkip')or{},STAT) and
pcall(TABLE.cover, loadFile('conf/key', '-json -canSkip')or loadFile('conf/key', '-luaon -canSkip')or{},KEY_MAP) and
pcall(TABLE.cover, loadFile('conf/virtualkey','-json -canSkip')or loadFile('conf/virtualkey','-luaon -canSkip')or{},VK_ORG)
)
then
MES.new('error',"Be careful, an error accured when loading saving, some data was lost")
end
--Initialize fields, sequence, missions, gameEnv for cutsom game
local fieldData=loadFile('conf/customBoards','-string -canSkip')
@@ -379,7 +385,6 @@ LANG.init('zh',
pt=require'parts.language.lang_pt',
id=require'parts.language.lang_id',
ja=require'parts.language.lang_ja',
zh_grass=require'parts.language.lang_zh_grass',
symbol=require'parts.language.lang_symbol',
--1. Add language file to LANG folder;
--2. Require it;
@@ -495,9 +500,6 @@ do
SETTING.dascut=SETTING.dascut+1
needSave=true
end
if SETTING.vocPack=='mono'then
SETTING.vocPack='miya'
end
if RANKS.stack_e then
RANKS.stack_e=nil
RANKS.stack_h=nil
@@ -522,8 +524,8 @@ do
fs.remove('record/rhythm_h.rec')
fs.remove('record/rhythm_u.rec')
end
if RANKS.bigbang then
RANKS.clearRush,RANKS.bigbang=RANKS.bigbang
if RANKS.bigbang or RANKS.clearRush then
fs.remove('record/clearRush.rec')
fs.remove('record/bigbang.rec')
end
if STAT.version~=VERSION.code then

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

After

Width:  |  Height:  |  Size: 140 KiB

View File

@@ -97,8 +97,8 @@ do
{131,2,2, 0, 0,0},{131,2,2,-1,-1,0},{131,2,2,-1, 0,0},--S
{131,1,2,-1, 0,0},{131,1,2, 0,-1,0},{131,1,2, 0, 0,0},--Z(misOrder)
{313,2,2, 0, 0,0},{313,2,2,-1,-1,0},{313,2,2,-1, 0,0},--S(misOrder)
{331,3,2, 0,-1,1},--J(farDown)
{113,4,2,-1,-1,1},--L(farDown)
{331,3,2, 0,-1,0},--J(farDown)
{113,4,2,-1,-1,0},--L(farDown)
{113,3,2,-1,-1,0},{113,3,0, 0, 0,0},--J
{331,4,2, 0,-1,0},{331,4,0,-1, 0,0},--L
{222,7,0,-1, 1,1},{222,7,0,-2, 1,1},{222,7,0, 0, 1,1},--I(high)
@@ -306,7 +306,7 @@ do
[03]={'+0+0','+0-1','+0+1','+0+2'},
[30]={'+0+0','+0-1','+0+1','+0-2'},
[12]={'+0+0','+0-1','+0+1','+0+2'},
[21]={'+0+0','+0-1','+0-2','+0-2'},
[21]={'+0+0','+0-1','+0+1','+0-2'},
[32]={'+0+0','+1+0','-1+0'},
[23]={'+0+0','-1+0','+1+0'},
[02]={'+0+0','-1+1','+1-1'},

View File

@@ -63,12 +63,12 @@ return{
local D=P.modeData
D.drought=P.lastPiece.id==7 and 0 or D.drought+1
if P.stat.row>=D.target then
if D.target>=100 then
if D.target>=100 then
D.lvl=D.lvl+1
end
local dropSpd=GetGravity(D.lvl)
if D.target==200 then P.win('finish') return
elseif dropSpd~=P.gameEnv.drop then
if D.target==200 then P:win('finish') return
elseif dropSpd~=P.gameEnv.drop then
P.gameEnv.drop,P.gameEnv.lock=dropSpd,dropSpd
P.gameEnv.sddas,P.gameEnv.sdarr=dropSpd,dropSpd
SFX.play('warn_2',.7)

View File

@@ -63,12 +63,12 @@ return{
local D=P.modeData
D.drought=P.lastPiece.id==7 and 0 or D.drought+1
if P.stat.row>=D.target then
if D.target>=100 then
if D.target>=100 then
D.lvl=D.lvl+1
end
local dropSpd=GetGravity(D.lvl)
if D.target==200 then P.win('finish') return
elseif dropSpd~=P.gameEnv.drop then
if D.target==200 then P:win('finish') return
elseif dropSpd~=P.gameEnv.drop then
P.gameEnv.drop,P.gameEnv.lock=dropSpd,dropSpd
P.gameEnv.sddas,P.gameEnv.sdarr=dropSpd,dropSpd
SFX.play('warn_1')

View File

@@ -67,7 +67,7 @@ return{
D.lvl=D.lvl+1
--end
local dropSpd=GetGravity(D.lvl)
if dropSpd~=P.gameEnv.drop then
if dropSpd~=P.gameEnv.drop then
P.gameEnv.drop,P.gameEnv.lock=dropSpd,dropSpd
P.gameEnv.sddas,P.gameEnv.sdarr=dropSpd,dropSpd
SFX.play('warn_1')

View File

@@ -62,8 +62,8 @@ return{
hook_drop=function(P)
local D=P.modeData
D.drought=P.lastPiece.id==7 and 0 or D.drought+1
if P.stat.row>=D.target then
if D.target>=200 then P.win('finish') return end
if P.stat.row>=D.target then
if D.target>=200 then P:win('finish') return end
SFX.play('reach')
D.lvl=D.lvl+1
D.target=D.target+10

View File

@@ -1,36 +0,0 @@
local function task_newBoard(P,init)
local targetLine
local F,L={},{1}
--TODO
P:pushNextList(L)
P.control=false
if not init then for _=1,26 do YIELD()end end
P.control=true
P.gameEnv.heightLimit=targetLine or #F
P:pushLineList(F)
end
local function _check(P)
P.gameEnv.heightLimit=P.gameEnv.heightLimit-P.lastPiece.row
if P.gameEnv.heightLimit==0 then
P.modeData.stage=P.modeData.stage+1
if P.modeData.stage>=100 then
P:win('finish')
else
P:newTask(task_newBoard)
end
end
end
return{
sequence='none',
RS="TRS",
pushSpeed=5,
mesDisp=function(P)
setFont(60)
mStr(P.modeData.stage,63,280)
mText(TEXTOBJ.wave,63,350)
end,
hook_drop=_check,
task=function(P)task_newBoard(P,true)P.fieldBeneath=0 end,--Just run one time at first to start first level
}

View File

@@ -2,6 +2,15 @@ local gc=love.graphics
local sectionName={"D","C","B","A","A+","S-","S","S+","S+","SS","SS","U","U","X","X+"}
local passPoint=16
local function getRollGoal(P)
-- get amount of grades needed for X+
local rem=12.4-P.modeData.rankPoint/10
if rem<=0 then return 0 end
local goal=math.floor(rem)*4
rem=rem%1
return goal + (rem>0.3 and 4 or rem*10)
end
return{
drop=0,lock=15,
wait=15,fall=6,
@@ -29,6 +38,7 @@ return{
setFont(75)
mStr(P.stat.row,63,230)
mStr(P.stat.clears[4],63,340)
PLY.draw.drawTargetLine(P,getRollGoal(P))
end,
hook_drop=function(P)
if P.modeData.rankPoint<140-passPoint then--If Less then X

View File

@@ -104,6 +104,21 @@ local function addGrade(row, cmb, lvl) -- IGS = internal grade system
int_grade=int_grade+1
end
end
local function getRollGoal()
-- get amount of grades needed for TM+
local rem=#gradeList-(int_grade_boosts[math.min(int_grade+1,#int_grade_boosts)]+rollGrades+cools+1-regrets)
if rem<=0 then return 0 end
local goal=0
if cools>8 then
goal=math.floor(rem)*4
rem=rem%1
return goal + (rem>0.3 and 4 or rem*10)
else
goal=math.floor(rem/0.26)*4
rem=rem%0.26
return goal + (rem>0.12 and 4 or rem*25)
end
end
return{
drop=64,
@@ -145,6 +160,7 @@ return{
t=t/60
gc.setColor(1.7*t,2.3-2*t,.3)
mStr(T,63,248)
PLY.draw.drawTargetLine(P,getRollGoal())
else
-- draw level counter
setFont(20)
@@ -295,10 +311,13 @@ return{
TABLE.cut(P.visTime)
elseif P.waiting==180 then
playReadySFX(3,3)
P:_showText("3",0,-120,120,'fly',1)
elseif P.waiting==120 then
playReadySFX(2,1)
P:_showText("2",0,-120,120,'fly',1)
elseif P.waiting==60 then
playReadySFX(1,1)
P:_showText("1",0,-120,120,'fly',1)
elseif P.waiting==1 then
playReadySFX(0,1)
isInRollTrans=false

View File

@@ -20,7 +20,7 @@ return{
local D=P.modeData
local c=#P.clearedRow
if c==0 and D.pt%100==99 then
if c==0 and D.pt%100==99 then
if D.pt<1000 then
hidetimer=0-inv_wait[(P.modeData.pt/100-(P.modeData.pt%100)/100)+1]
if c>0 then hidetimer=hidetimer-inv_fall[(P.modeData.pt/100-(P.modeData.pt%100)/100)+1]end

File diff suppressed because it is too large Load Diff

View File

@@ -10,17 +10,17 @@ return{
{"新人学习/练习路线",
"读我 必读 萌新 xinren new noob readme",
"help",
"以下是关于提升真正打块能力的指引,如果在以下任何项目练习过程中感到有困难,可以适当回去玩玩自己喜欢的项目。别忘了你是来“玩”游戏的,兴趣最重要。\n\n以下给出几个新手时期的主线任务树前期主要就应该练习以下内容学定式和T-Spin什么的对实力帮助很小我们不认为靠定式对战秒其他萌新是有效实力\n注意三段应当同时进行不是A→B→C\n\nA. 堆叠能力练习方法\n\tA1. 决定手上的块放哪的时候先别,看看下一块有没有地方放,如果放不下去,重新想手上的\n\tA2. 尝试把地形尽量控制得平整,因为比较平的地形来啥块都比较容易放得下去\n\nB. 操作效率与速度练习方法\n\tB1. 不要每一块都拿影子去对形状对位置,要自己想象这个块转一下是什么方向,想好了再开始按按键\n\tB2. 学习双旋,能逆时针转一次就不要顺时针转三次,费手\n\tB3. 学习极简,刚开始不用管速度,保证正确率最重要,养成良好习惯以后再提速快得很\n\nC. 堆叠能力考核\n\tC1. 稳定完成40行不死\n\tC2. 稳定不用hold完成40行\n\tC3. 稳定全消四完成40行\n\tC4. 稳定不用hold全消四完成40行\n\n以上都是根据社区和个人经验总结的模糊方法与目标所以C的考核可以根据自身情况调整严格程度例如“稳定”的具体成功率\n完成C的考核后需要在未来一直注意没有上限的A1这是方块的根本元素之一强大的读next能力可以让你快速上手任何变种玩法。",
"以下是关于提升真正打块能力的指引,如果在以下任何项目练习过程中感到有困难,可以适当回去玩玩自己喜欢的项目。别忘了你是来 “玩” 游戏的,兴趣最重要。\n以下给出几个新手时期的主线任务树前期主要就应该练习以下内容学定式和T-Spin什么的对实力帮助很小我们不认为靠定式对战秒其他萌新是有效实力\n注意三段应当同时进行不是A→B→C\nA. 堆叠能力练习方法\n\tA1. 决定手上的块放哪的时候先别,看看下一块有没有地方放,如果放不下去,重新想手上的\n\tA2. 尝试把地形尽量控制得平整,因为比较平的地形来啥块都比较容易放得下去\nB. 操作效率与速度练习方法\n\tB1. 不要每一块都拿影子去对形状对位置,要自己想象这个块转一下是什么方向,想好了再开始按按键\n\tB2. 学习双旋,能逆时针转一次就不要顺时针转三次,费手\n\tB3. 学习极简,刚开始不用管速度,保证正确率最重要,养成良好习惯以后再提速快得很\nC. 堆叠能力考核\n\tC1. 稳定完成40行不死可以用hold\n\tC2. 稳定完成40行不死不能用hold\n\tC3. 稳定全消四完成40行可以用hold\n\tC4. 稳定全消四完成40行不能用hold\n以上都是根据社区和个人经验总结的模糊方法与目标所以C的考核可以根据自身情况调整严格程度例如 “稳定” 的具体成功率)。\n完成C的考核后需要在未来一直注意没有上限的A1这是方块的根本元素之一强大的读next能力可以让你快速上手任何变种玩法。",
},
{"关于T-spin学习",
"T旋 T转 tspin",
"T旋 T转 tspins",
"help",
"首先指出要能熟练做出各种T-spin并不是只看着T-spin的那一小部分地形就可以玩好的对玩家堆叠能力和计算next能力同样也有较高的要求。\n\n如果不只是出于娱乐、随便玩玩的目的是真的想不断提升T-spin能力变强请在基础能力达到一定要求前不要刻意去学习太多的T-spin而先把重点放在堆叠等基本功上。\n\n参考学T门槛水平40L达到60s以内可以视个人情况调整为40~120s、能够轻松完成全消四的40L、不使用Hold不降太多速度的前提下比较轻松完成全消四的40L。",
},
{"游戏官网",
"official website homepage mainpage guanwang",
"help",
"Techmino的官网\n可以在上面下载游戏本体,或者修改头像以及个人信息。\n\n游戏作者的一些话:强烈不建议在任何公开场合提及甚至宣传本游戏更不要随便就对外公布我们的官网链接请务必只在私下里向有基础或真的很有兴趣入坑认真玩的玩家推荐不然很容易拉低社群质量破坏交流氛围非常难处理甚至有可能影响游戏的未来发展。为了保证游戏未来会变得越来越好玩千万慎重考虑您对游戏的推广方式感谢您对Techmino的支持感谢配合",
"Techmino的官网\n可以在上面下载游戏本体,或者修改头像以及个人信息。\n\n游戏作者的一些话:强烈不建议在任何公开场合提及甚至宣传Techmino更不要随便就对外公布我们的官网链接请务必只在私下里向有基础或真的很有兴趣入坑认真玩的玩家推荐不然很容易拉低社群质量破坏交流氛围非常难处理甚至有可能影响游戏的未来发展。为了保证游戏未来会变得越来越好玩千万慎重考虑您对游戏的推广方式感谢您对Techmino的支持感谢配合",
"http://home.techmino.org",
},
{"灰机Wiki",
@@ -50,13 +50,43 @@ return{
{"Four.lol",
"",
"help",
"(英文,很可能打不开)一个开局定式收集网站界面很简洁包含超详细连续PC路线分析新人勿学要背的东西超乎你的想象",
"(英文,很可能打不开)一个开局定式收集网站",
"https://four.lol",
},
{"テトリス堂",
"",
"help",
"日文包含很多定式、教程和小游戏。内涵2nd、3rd、4th、7th PC的详细说明",
"https://shiwehi.com/tetris/"
},
{"テトリステンプレ集",
"",
"help",
"(日文)テトリステンプレ集@テト譜,包含非常多定式,有很详细的分类。大部分定式带有图片,可以很方便的分享给别人。",
"https://w.atwiki.jp/tetrismaps/"
},
{"tetristemplate.info",
"",
"help",
"(日文)テトリスブログ - PerfectClear一个收集了定式的网站量很少但是内容很精细。",
"https://tetristemplate.info/"
},
{"Fumen",
"fumen",
"help",
"日文一个方块版面编辑器可以用于分享定式PC解法等用处很多。设置里可以启用英文版。",
"http://fumen.zui.jp"
},
{"Fumen for Mobile",
"fumenformobile fm",
"help",
"英文一个方块版面编辑器添加了对触屏的控制可以用于分享定式PC解法等用处很多。",
"https://knewjade.github.io/fumen-for-mobile/"
},
--相关网页/组织
{"GitHub仓库",
"源代码 源码 github git sourcecode yuandaima",
"源代码 源码 github git sourcecode yuandaima src",
"org",
"Techmino的GitHub仓库地址欢迎Star",
"https://github.com/26F-Studio/Techmino",
@@ -64,7 +94,7 @@ return{
{"研究群",
"yanjiu study research",
"org",
"俄罗斯方块·[研究]群QQ号112897780 “中国俄罗斯方块总群” ",
"俄罗斯方块·[研究]群QQ号112897780“中国俄罗斯方块总群”",
},
{"Mew据点",
"mew tieba forum",
@@ -100,27 +130,33 @@ return{
{"TTT",
"教程 trainer tres bien",
"game",
"Tetris Trainer Très-Bien。现代方块特殊操作手把手教程推荐使用电脑,移动设备需要外接键盘\n\t推荐能无Hold纯消四完成40L挑战的人学习\n\t内含T-spin、极简、SRS、部分对战定式介绍等教程\n注:提供的链接是翻译后挂在茶服的版本",
"全称Tetris Trainer Très-Bien (by こな)。现代方块特殊操作手把手教程(只能键盘操作\n\t推荐能纯消四完成40L挑战的人学习\n\t内含T-spin、极简、SRS、部分对战定式介绍等教程\n注:提供的链接是翻译后挂在茶服的版本",
"http://teatube.ltd/ttt",
},
{"TTPC",
"pc教程",
"game",
"SRS+Bag7方块游戏开局PC教程推荐使用电脑移动设备需要外接键盘\n\t推荐完成了TTT的人学习必须先学会SRS\n\t不包括六巧板等其它PC定式\n\n注:提供的链接是翻译后挂在茶服的版本。",
"全称TETRIS Perfect Clear Challenge (by chokotia)。SRS+Bag7方块游戏Perfect Clear Opener教程只能键盘操作。推荐完成了TTT的人学习必须先学会SRS\n\n注:提供的链接是翻译后挂在茶服的版本。",
"http://teatube.ltd/ttpc",
},
{"NAZO",
"题库",
"game",
"各类SRS试题(手机触屏玩不了)\n\t推荐能通过TTT的玩家尝试。\n\t内含各种T-spin/All spin题目简单到极难题目都有。\n\n注:提供的链接是翻译后挂在茶服的版本。",
"各类SRS试题\n\t推荐能通过TTT的玩家尝试。\n\t内含各种T-spin/All spin题目简单到极难题目都有。\n\n注:提供的链接是翻译后挂在茶服的版本。",
"http://teatube.ltd/nazo",
},
{"TPO",
"题库 nazo",
"game",
"全称Tetris Puzzle O。由TCV100制作的题库网站内含nazo的部分题库。",
"http://121.36.2.245:3000/tpo"
},
--游戏(网页)
{"注[1]",
"备注 notice",
"game",
"以下内容是为部分官方和较高人气同人方块游戏的简介。\n其中可能包含一些只代表个人观点的主观评价写在方括号里仅供参考,顺便也请不要因为某个方面有欠缺就直接认为 “这个游戏不好” ",
"以下内容是为部分官方和较高人气同人方块游戏的简介。\n其中可能包含一些只代表个人观点的主观评价写在方括号里仅供参考,顺便也请不要因为某个方面有欠缺就直接认为 “这个游戏不好”。",
},
{"King of Stackers",
"回合制 网页 手机 kos kingofstackers",
@@ -143,13 +179,13 @@ return{
{"Ascension",
"网页",
"game",
"网页游戏 | 单机/多人 | [服务器在国外可能卡]\n简称ASC使用自己的ASC旋转系统有不少单机模式本游戏的堆积模式就来自ASC对战模式目前处在测试阶段2021/12/15",
"网页游戏 | 单机/多人 | [服务器在国外可能卡]\n简称ASC使用自己的ASC旋转系统有不少单机模式Techmino的堆积模式就来自ASC对战模式目前处在测试阶段2022/04/16",
"https://asc.winternebs.com",
},
{"Jstris",
"网页 手机",
"game",
"网页游戏 | 单机/多人 | 支持移动端 | [服务器在国外可能卡]\n简称JS有常用的科研向单机模式和自定义各种参数的功能允许拖放固定尺寸的正方形虚拟按键没有任何动画效果",
"网页游戏 | 单机/多人 | 支持移动端 | [服务器在国外可能卡]\n简称JS有常用的科研向单机模式和自定义各种参数的功能允许拖放固定尺寸的正方形虚拟按键没有任何动画效果",
"https://jstris.jezevec10.com",
},
{"TETR.IO",
@@ -162,7 +198,7 @@ return{
"网页 核 he",
"game",
"网页游戏 | 单机/多人 | [服务器在国外可能卡]\n有几个基础单机模式和1V1排位。",
"https://nuketris.herokuapp.com/",
"https://nuketris.com/",
},
{"Worldwide Combos",
"网页 wwc",
@@ -176,7 +212,7 @@ return{
"网页游戏 | 单机/多人\n简称TF已经关服了的网页版方块。以前人比较多后来官服倒闭了热度下去了不过现在有人架了私服还可以体验到。",
"https://notrisfoes.com",
},
{"Tetris.com",
{"tetris.com",
"网页 手机",
"game",
"网页游戏 | 单机 | 支持移动端\ntetris.com官网上的俄罗斯方块只有马拉松一种模式特色是支持基于鼠标指针位置的智能控制。",
@@ -256,7 +292,7 @@ return{
{"Tetris Online",
"top study",
"game",
"Windows | 单机/多人\n简称TO主要用来6人内对战/单挑/刷每日40L榜/挖掘模式/打机器人。支持自定义DAS/ARR但都不能到0。\n现在还开着的服务器有:\nTO-P波兰服服务器在波兰可能会卡顿\nTO-S研究服研究群群友自己开的服很稳定需要进群注册\nTO-X千雪服VUP星月千雪于20年9月开的服还处于实验阶段",
"Windows | 单机/多人\n简称TO主要用来6人内对战/单挑/刷每日40L榜/挖掘模式/打机器人。支持自定义DAS/ARR但都不能到0。\n现在还开着的服务器有:\nTO-P波兰服服务器在波兰可能会卡顿\nTO-S研究服研究群群友自己开的服很稳定需要进群注册",
},
{"Tetra Online",
"to",
@@ -282,7 +318,7 @@ return{
{"Touhoumino",
"东方 车万 偷猴 chewan dongfang th",
"game",
"Windows | 单机\n块圈玩家自制方块一个Nullpomino的自带资源包的改版将东方Project元素与俄罗斯方块结合。马拉松模式结合了东方Project里的 符卡” 机制,需要在一定时间内达成目标分数才能击破。\n[难度较大,适合有方块基础并且各项能力都较强的玩家游玩(不然都不知道自己怎么死的)。]",
"Windows | 单机\n块圈玩家自制方块一个Nullpomino的自带资源包的改版将东方Project元素与俄罗斯方块结合。马拉松模式结合了东方Project里的 符卡” 机制,需要在一定时间内达成目标分数才能击破。\n[难度较大,适合有方块基础并且各项能力都较强的玩家游玩(不然都不知道自己怎么死的)。]",
},
{"Tetris Blitz",
"闪电战 ea",
@@ -324,7 +360,7 @@ return{
{"LPM",
"速度 sudu",
"term",
"Line Per Minute\n行每分,体现玩家下块速度。\n\n不同游戏中显示的LPM算法可能不一样例如TO中的LPM是用PPS换算的每1PPS=24LPM忽略掉了垃圾行的影响不再是字面意思本游戏中使用LPM代表这种换算后的LPM。",
"Line Per Minute\n行每分,体现玩家下块速度。\n\n不同游戏中显示的LPM算法可能不一样例如TO中的LPM是用PPS换算的每1PPS=24LPM忽略掉了垃圾行的影响不再是字面意思Techmino中使用LPM代表这种换算后的LPM。",
},
{"PPS",
"速度 sudu",
@@ -354,7 +390,7 @@ return{
{"SPM",
"发送 送出 发出 send gongji",
"term",
"Send Per Minute\n送出每分,即玩家每分钟实际打出去给对手的垃圾行数。\n一定程度体现玩家给对手实际造成的攻击力。",
"[lines] Sent per minute\n送出每分,即玩家每分钟实际打出去给对手的垃圾行数。\n一定程度体现玩家给对手实际造成的攻击力。",
},
{"DPM",
"挖掘 防御 防守 dig defend",
@@ -369,12 +405,12 @@ return{
{"ADPM",
"攻击 防御 防守 attack defend vs",
"term",
"Atk+Dig Per Minute\n攻击+挖掘每分用于在同一局游戏内对比玩家间水平差距比APM更准确一些。在TETR.IO中叫VS的数据就是ADPM调整过比例具体是Atk + Dig per 100s",
"Atk & Dig Per Minute\n攻击+挖掘每分用于在同一局游戏内对比玩家间水平差距比APM更准确一些。在TETR.IO中叫 “VS” 的数据就是ADPM调整过比例具体是Atk & Dig per 100s",
},
{"APL",
"效率 xiaolv",
"效率 xiaolv xiaolyu",
"term",
"Attack Per Line\n攻击每行,也叫效率,体现玩家攻击的行利用率。",
"Attack Per Line\n攻击每行,也叫效率,体现玩家攻击的行利用率。例如消四和T旋的效率就比消二和消三高。",
},
--术语(消除名)
@@ -396,12 +432,12 @@ return{
{"Techrash",
"4 tetris xiaosi",
"term",
"一次消除四行Techmino限定名称)。",
"一次消除四行Techmino限定",
},
{"Tetris",
"4 xiaosi",
"term",
"商标Tetris游戏名同时也是别的方块游戏里消四行的名字。\n含义是Tetra古希腊语 四)+Tennis游戏原作者喜欢的运动\n现在版权在TTCThe Tetris Company 手上, 任天堂和世嘉开发游戏是 TTC 授权的, 它们自己并没有Tetris的版权。",
"商标Tetris游戏名同时也是别的方块游戏里消四行的名字。\n含义是Tetra古希腊语, <τέτταρες>+ Tennis网球 游戏原作者喜欢的运动)。\n现在版权在TTCThe Tetris Company手上任天堂和世嘉开发游戏是 TTC 授权的, 它们自己并没有Tetris的版权。",
},
{"PC",
"全消 全清 perfectclear ac allclear quanxiao quanqing",
@@ -411,7 +447,7 @@ return{
{"HPC",
"hc clear banqing banquanqing banquanxiao",
"term",
"Half-PC\nPC全消的外延 “下方有剩余方块” 的全消特别地如果只消1行则必须不剩余玩家放置的方块能打出一些攻击和防御Techmino限定",
"Half-PC\nPC全消的外延“下方有剩余方块” 的全消特别地如果只消1行则必须不剩余玩家放置的方块能打出一些攻击和防御Techmino限定",
},
--术语(旋转相关)
@@ -428,9 +464,9 @@ return{
{"All Spin",
"allspin",
"term",
"一种规则指所有方块的Spin都有攻击力而不止是T-spin才有攻击即T-spin Only",
"一种规则指所有方块的Spin都有攻击力而不止是T-spin才有攻击即T-Spin Only",
},
{"T-spin",
{"T-Spin",
"T转 T旋 旋转 tspin txuan",
"term",
"在官方规则中当T方块在锁定前的最后一个操作是旋转并且锁定后旋转中心对应的四个斜角位置有三个不是空气那么这就是一个T-spin。\nPS如果满足一些额外条件会被打上mini标签减少攻击力。",
@@ -438,25 +474,25 @@ return{
{"TSS",
"t1 tspin",
"term",
"T-Spin Single\n指T方块Spin1行。简称T1。",
"T-Spin Single\n使用T方块Spin并一次消除1行。简称T1。",
},
{"TSD",
"t2 tspin",
"term",
"T-spin Double\n指T方块Spin2行。简称T2。",
"T-spin Double\n使用T方块Spin并一次消除2行。简称T2。",
},
{"TST",
"t3 tspin",
"term",
"T-spin Triple\n指T方块Spin3行。简称T3。",
"T-spin Triple\n使用T方块Spin并一次消除3行。简称T3。",
},
{"MTSS",
"mini tspin",
"mini tspin minitspinsingle tsms tspinminisingle",
"term",
"Mini T-spin Single\n指T方块Mini Spin消1行不同游戏判定不一样\n部分游戏中可能叫做 “T-Spin Mini” ",
"Mini T-spin Single\n指T方块Mini Spin消1行不同游戏判定不一样\n部分游戏中可能叫做 “T-Spin Mini”。",
},
{"MTSD",
"mini tspin",
"mini tspin minitspindouble tsmd tspinminidouble",
"term",
"Mini T-spin Double\n指T方块Mini Spin消2行仅部分游戏内存在且判定不一样",
},
@@ -465,15 +501,15 @@ return{
"term",
"由于O方块旋转后形状不变只能左右移动所以经常被卡住于是方块圈就有了O-spin的梗\n有人做过T99/TF中的O变形的特效视频且广为流传\nT-ex设计的旋转系统可以用spin使O传送进坑\nTech设计的变形系统中可以旋转O来变形/传送进入一些特定形状的洞。",
},
{"旋转系统踢墙",
{"旋转系统 (踢墙)",
"旋转系统 踢墙 xuanzhuanxitong wallkick tiqiang",
"term",
"现代方块游戏中,方块可以绕着旋转中心(在本游戏中可见)旋转(部分游戏没有固定中心),如果旋转后和场地或墙壁有重合,会根据<从哪个方向转到哪个方向>进行一些偏移测试(这个偏移称为踢墙),不会卡住转不动,同时也可以让方块钻进入一些特定形状的洞。",
"现代方块游戏中,方块可以绕着旋转中心(Techmino中可见)旋转(部分游戏没有固定中心),如果旋转后和场地或墙壁有重合,会根据<从哪个方向转到哪个方向>进行一些偏移测试(这个偏移称为踢墙),不会卡住转不动,同时也可以让方块钻进入一些特定形状的洞。",
},
{"方块朝向",
"旋转 朝向 xuanzhuan chaoxiang orientation direction 0r2l 02 20 rl lr",
"term",
"在SRS或者类SRS的旋转系统中需要说明方块朝向的时候 “朝下” “竖着” 等词描述太模糊。\nSRS中每种方块的初始状态固定所以我们使用0原位、R即顺时针转一次、2转两下即180°、L即逆时针转一次四个字符表示方块的四种状态从原位0开始顺时针转一圈四个状态是0R2L。\n最早见于SRS踢墙表的行首0→L表示原位逆时针转一次到L状态0→R表示原位顺时针转一次到R状态2→R代表从180°状态逆时针转一次到R状态。",
"在SRS或者类SRS的旋转系统中需要说明方块朝向的时候“朝下” “竖着” 等词描述太模糊。\nSRS中每种方块的初始状态固定所以我们使用0原位、R即顺时针转一次、2转两下即180°、L即逆时针转一次四个字符表示方块的四种状态从原位0开始顺时针转一圈四个状态是0R2L。\n最早见于SRS踢墙表的行首0→L表示原位逆时针转一次到L状态0→R表示原位顺时针转一次到R状态2→R代表从180°状态逆时针转一次到R状态。",
},
{"ARS",
"旋转系统 rotate",
@@ -488,7 +524,7 @@ return{
{"ASC+ RS",
"旋转系统 asc+rs ascplusrs rotate",
"term",
"Techmino中ASC的修改版本添加了180°转的踢墙表。",
"Techmino中ASC的修改版本添加了180°转的踢墙表。",
},
{"BRS",
"旋转系统 rotate",
@@ -508,7 +544,7 @@ return{
{"C2sym",
"旋转系统 rotate",
"term",
"Techmino中C2RS的修改版本根据不同的方块形状和状态各自选择优先测试左还是右。",
"Techmino中C2RS的修改版本根据不同的方块形状和状态各自选择优先测试左还是右。",
},
{"DRS",
"旋转系统 rotate",
@@ -518,7 +554,7 @@ return{
{"NRS",
"旋转系统 rotate",
"term",
"Nintendo Rotation System.",
"Nintendo Rotation SystemNES和GB块使用的旋转系统。NRS有两个互为镜像的版本左旋版用于GB右旋版用于NES。",
},
{"SRS",
"超级旋转系统 rotate",
@@ -561,44 +597,44 @@ return{
{"现代方块",
"modern xiandaikuai tetris",
"term",
"现代方块是一个模糊的概念,这里列出一部分 “标准” 规则,满足大部分的都可以认为是现代方块:\n1.可见场地大小是10×20不过上方空间也是存在的上限可以自己定一些游戏用的是40\n2.七种方块从顶部正中间出现(奇数宽方块偏左,高度可以是方块底部或顶部贴着场地顶),同一种方块的朝向(一般是平的面朝下)和颜色都一致;\n3.一个合适的随机出块机制常见的详见Bag7词条和His词条\n4.一个合适的的旋转系统至少有双旋详见双旋词条最好是SRS或类SRS详见SRS词条\n5.一个合适的锁定延迟系统,详见锁定延迟词条;\n6.一个合适的死亡判定,详见死亡判定词条;\n7.有Next功能一般是3~6个也有1个的详见Next词条并且方向和出现时候的方向一致\n8.有Hold功能详见Hold词条\n9.有DAS系统负责精密并且快速的左右移动详见DAS词条\n10.如果有出块延迟和消行延迟,那么需要有提前旋转/Hold系统详见IRS和IHS词条IMS是本游戏特有。",
"现代方块是一个模糊的概念,这里列出一部分 “标准” 规则,满足大部分的都可以认为是现代方块:\n1.可见场地大小是10×20不过上方空间也是存在的上限可以自己定一些游戏用的是40\n2.七种方块从顶部正中间出现(奇数宽方块偏左,高度可以是方块底部或顶部贴着场地顶),同一种方块的朝向(一般是平的面朝下)和颜色都一致;\n3.一个合适的随机出块机制常见的详见Bag7词条和His词条\n4.一个合适的的旋转系统至少有双旋详见双旋词条最好是SRS或类SRS详见SRS词条\n5.一个合适的锁定延迟系统,详见锁定延迟词条;\n6.一个合适的死亡判定,详见死亡判定词条;\n7.有Next功能一般是3~6个也有1个的详见Next词条并且方向和出现时候的方向一致\n8.有Hold功能详见Hold词条\n9.有DAS系统负责精密并且快速的左右移动详见DAS词条\n10.如果有出块延迟和消行延迟,那么需要有提前旋转/Hold系统详见IRS和IHS词条IMS是Techmino特有。",
},
{"方块形状",
"xingzhuang shape tetromino tetrimino",
"term",
"在标准的方块游戏中,用到的方块是所有的 “四连块” ,即四个正方形共用边连接成的形状。\n在不允许翻转只允许旋转的情况下四连块一共有七种根据它们的形状一般分别叫做Z、S、J、L、T、O、I。",
"在标准的方块游戏中,用到的方块是所有的 “四连块”,即四个正方形共用边连接成的形状。\n在不允许翻转只允许旋转的情况下四连块一共有七种根据它们的形状一般分别叫做Z、S、J、L、T、O、I。\n\n详见下方 “方块名称”。",
},
{"方块颜色",
"yanse color colour tetromino tetrimino",
"term",
"主流方块游戏中七种块的颜色会使用同一套彩虹配色:\nZ红 S绿 J蓝 L橙 T紫 O黄 I\n\nTechmino默认也使用这一套 “标准” 配色。",
},
{"提前旋转 IRS",
{"提前旋转(IRS)",
"irs initialrotatesystem",
"term",
"Initial Rotation System 提前旋转系统\n方块出现前提前按下旋转后,出现时就是转好的形状,有时可以避免死亡。",
},
{"提前暂存 IHS",
{"提前暂存(IHS)",
"ihs initialholdsystem",
"term",
"Initial Hold System 提前Hold系统\n方块出现前提前按下hold后直接出现hold里的方块有时可以避免死亡。",
},
{"提前移动 IMS",
{"提前移动(IMS)",
"ims initialmovesystem",
"term",
"Initial Move System 提前移动系统\n方块出现前提前按住移动后出现时会朝移动方向偏一格有时可以避免死亡Techmino限定\n需要块出现时das已充满",
},
{"预览 Next",
{"预览(Next)",
"下一个 next yulan xiayige",
"term",
"指示后边几个块的顺序。\n提前思考手上这块怎么摆可以让后面轻松是玩家提升的必需技能。\n\n关于玩家玩的时候到底看了几个Next这个数字并不固定不同玩家、不同模式、不同局面计算next的数量都不一样通过调整可见Next数量打40L比较时间等方式测得的数据并不准确。\n\n具体例如一个比较熟练的玩家几乎永远会提前算好一个Next不然不会锁定手里的块场地上将要出现或可以构造消四洞T坑的时候会找最近的IT什么时候来如果太远了就会直接挖掉放弃本次攻击以防被对手偷袭。这两种情况并不独立有很多介于中间的情况。所以一个玩家看的Next数量是时刻在变的 “某人看几个Next” 没有精确答案,必须在指明情况的时候数字才能作为参考。",
"指示后边几个块的顺序。\n提前思考手上这块怎么摆可以让后面轻松是玩家提升的必需技能。\n\n关于玩家玩的时候到底看了几个Next这个数字并不固定不同玩家、不同模式、不同局面计算next的数量都不一样通过调整可见Next数量打40L比较时间等方式测得的数据并不准确。\n\n具体例如一个比较熟练的玩家几乎永远会提前算好一个Next不然不会锁定手里的块场地上将要出现或可以构造消四洞T坑的时候会找最近的IT什么时候来如果太远了就会直接挖掉放弃本次攻击以防被对手偷袭。这两种情况并不独立有很多介于中间的情况。所以一个玩家看的Next数量是时刻在变的“某人看几个Next” 没有精确答案,必须在指明情况的时候数字才能作为参考。",
},
{"暂存 Hold",
{"暂存(Hold)",
"交换 hold zancun",
"term",
"将手里的方块和Hold槽中的交换一般不能连续使用。\n用来调整块序,更容易摆出你想要的形状。\n本游戏中有一个 “物理Hold” 机制开启后Hold换出的方块会直接出现在当前方块所在的位置\n\n用不用Hold各有好处不用的话看到序列是什么就是什么减少了思考量并且减少了按键的种类操作简单容易提升KPS有些人的40L记录就是不用Hold打出的。用Hold可以灵活地调整序列减少高重力等规则带来的难度算力足够的情况下可以达成更复杂的目标甚至反过来显著减少总按键数。",
"将手里的方块和Hold槽中的交换一般不能连续使用。\n用来调整块序,更容易摆出你想要的形状。\nTechmino中有一个 “物理Hold” 机制开启后Hold换出的方块会直接出现在当前方块所在的位置\n\n用不用Hold各有好处不用的话看到序列是什么就是什么减少了思考量并且减少了按键的种类操作简单容易提升KPS有些人的40L记录就是不用Hold打出的。用Hold可以灵活地调整序列减少高重力等规则带来的难度算力足够的情况下可以达成更复杂的目标甚至反过来显著减少总按键数。",
},
{"置换 Swap",
{"置换(Swap)",
"交换 swap hold jiaohuan zancun",
"term",
"Hold的另一种表现形式将手里的方块和Next槽中的第一个交换一般同样不能连续使用。",
@@ -623,12 +659,12 @@ return{
"term",
"在……之下\n用于表示成绩单位一般可不写比如40L成绩Sub 30是秒1000行Sub 15是分钟不写项目默认是40L\n\n39.95s是Sub 4040.###s不是Sub 40。\n请不要使用Sub 62之类的词因为sub本身就是表示大约 一分钟左右的成绩精确到5~10s就可以了一般30s以内的成绩用sub## 的时候才会精确到1s。",
},
{"挖掘 Dig",
{"挖掘(Dig)",
"挖掘 downstack ds wajue",
"term",
"指消除从场地底部进入的垃圾行对手攻击打过来或者模式中自动生成。也叫downstack(DS)。",
},
{"捐赠 Donate",
{"捐赠(Donate)",
"捐献 juanzeng",
"term",
"指刻意临时堵住可以消四的洞做T-spin打出T-spin后就会解开是比较进阶的保持/提升火力的技巧。\n不标准用法:有时候只要堵住了个坑,即使不是消四洞也会用这个词。",
@@ -638,23 +674,23 @@ return{
"term",
"欠债\n指必须完全堆好才能开始转下T旋打出攻击堆完之前T下不去的形状。对战实战中如果要做此类中局定式时一定要观察对手情况确保自己安全不然可能被半途打死\n\n一般只用来描述类似双T3/T3塔的大型组合炮堆完之前完全不能打出攻击。",
},
{"",
"gong shou",
{"",
"gongfang gongshou",
"term",
"攻击指通过消除给对手发送垃圾行;\n防御(相杀)指别人打过来攻击之后用攻击抵消;\n反击指抵消/吃下所有攻击后打出攻击。\n\n大多数方块游戏的攻防是1:1的4行攻击抵消对手的4行攻击。",
},
{"连击 Combo",
{"连击(Combo)",
"ren",
"term",
"从第二次消除起叫1 REN/Combo打出的攻击根据游戏设计的不同也不同。 “REN” 这个名称来源于日语中的 連” (れん)。",
"从第二次消除起叫1 REN/Combo打出的攻击根据游戏设计的不同也不同。“REN” 这个名称来源于日语中的 連”(れん)。",
},
{"Spike",
"baofa xingbao",
"term",
"爆发攻击\n指短时间内打出大量的攻击,本游戏和TETR.IO中有Spike计数器可以看到自己短时间内打出了多少攻击。\n注意网络卡顿导致的累计攻击瞬间释放不算Spike。",
"爆发攻击\n指短时间内打出大量的攻击,Techmino和TETR.IO中有Spike计数器可以看到自己短时间内打出了多少攻击。\n注意网络卡顿导致的累计攻击瞬间释放不算Spike。",
},
{"Side",
"连击",
"连击 sidewell",
"term",
"在场地旁边空出几列的堆叠法\n用来制造连击对于新人是一个不错的进攻方法。但由于起楼的时候可能会被顶死而且总效率不高导致高端玩家不会单独做Wide更可能会在中局堆好炮并且观察到对手短时间内不会打出伤害的时候可以造用来大幅加强瞬时火力。",
},
@@ -696,14 +732,14 @@ return{
{"C4W",
"连击 ·center4wide centre4wide",
"term",
"Center 4 Wide\n中间空四列,一种连击打法,能打出很高的连击,利用了大多数专业对战方块游戏的死亡判定机制,可以放心堆高不担心被顶死,然后开始连击。是一种利用游戏机制的不平衡策略(尤其在开局时),观赏性不是很强还可以以弱胜强,成本太低所以成为了部分游戏中约定的类似 “禁招” 的东西,请在了解情况后再使用,不然可能会被别人骂。\n本游戏里考虑到了平衡问题所以c4w的强度没有别的游戏那么夸张。",
"Center 4 Wide\n中间空四列,一种连击打法,能打出很高的连击,利用了大多数专业对战方块游戏的死亡判定机制,可以放心堆高不担心被顶死,然后开始连击。是一种利用游戏机制的不平衡策略(尤其在开局时),观赏性不是很强还可以以弱胜强,成本太低所以成为了部分游戏中约定的类似 “禁招” 的东西,请在了解情况后再使用,不然可能会被别人骂。\nTechmino中虑到了平衡问题所以c4w的强度没有别的游戏那么夸张。",
},
{"N-Res",
"连击 ·residual c4w s4w",
"term",
"N-Residual\nN-剩余指4w连击楼底部留几个方格常用的是3-Res和6-Res。\n3-Res路线少比较好学成功率也很高实战完全够用\n6-Res路线多更难用但是计算力很强的话比3-Res更稳也可以用来完成特殊挑战比如本游戏的c4w练习要求100连击通关",
"N-Residual\nN-剩余指4w连击楼底部留几个方格常用的是3-Res和6-Res。\n3-Res路线少比较好学成功率也很高实战完全够用\n6-Res路线多更难用但是计算力很强的话比3-Res更稳也可以用来完成特殊挑战比如Techmino的c4w练习要求100连击通关\n\n优先使用6-Res然后是3-res和5-Res最后是4-Res",
},
{"6-3堆叠法",
{"63堆叠法",
"六三 63",
"term",
"指左边6列右边3列的堆叠方式。在玩家有足够的计算能力后可以减少堆叠所用的按键数反之可能甚至会增加是主流的用于减少操作数的高端40L堆叠方式原理跟出块位置是中间偏左有关。",
@@ -716,7 +752,7 @@ return{
{"死亡判定",
"die death siwang",
"term",
"现代方块普遍使用的死亡判定:\n1. 新出现的方块和场地方块有重叠窒息Block Outc4w比s4w强的原因因为被打进18行都不会窒息\n2. 方块锁定时完全在场地的外面Lock Out\n3. 场地内现存方块总高度大于40。超高Top Out\n\n注:本游戏使用的死亡判定默认不开启第二、三条。",
"现代方块普遍使用的死亡判定:\n1. 新出现的方块和场地方块有重叠窒息Block Outc4w比s4w强的原因因为被打进18行都不会窒息\n2. 方块锁定时完全在场地的外面Lock Out\n3. 场地内现存方块总高度大于40。超高Top Out\n\n注:Techmino使用的死亡判定默认不开启第二、三条。",
},
{"缓冲区",
"buffer zone huanchongqu",
@@ -732,44 +768,44 @@ return{
{"下落速度",
"重力 drop speed zhongli gravity",
"term",
"一般用*G表示方块的下落速度意思是每一帧方块往下移动多少格一秒下落一格就是1/60G默认60fps可以看出G是一个很大的单位。因为场地就20格所以一般认为20G即为上限详见20G词条。",
"一般用*G表示方块的下落速度意思是每一帧方块往下移动多少格一秒下落一格就是1/60G默认60fps可以看出G是一个很大的单位。因为场地就20格所以一般认为20G即为上限详见20G词条。\n在Techmino中描述重力的方式是 “每过多少帧下落一格”例如一秒落一格就对应60默认60fps",
},
{"20G",
"高重力",
"term",
"现代方块的最高下落速度,表观就是方块瞬间到底,不存在中间的下落过程,可能会让方块无法跨越壕沟/从山谷爬出。\n20G一般指的其实是 “无限下落速度” 就算场地不止20格 “20G” 也会让方块瞬间到底。\n本游戏和部分其他游戏推荐这么设计中20G的优先级比其他玩家操作都高即使是0arr的水平方向 “瞬间移动” 中途也会受到20G的影响。",
"现代方块的最高下落速度,表观就是方块瞬间到底,不存在中间的下落过程,可能会让方块无法跨越壕沟/从山谷爬出。\n20G一般指的其实是 “无限下落速度” 就算场地不止20格“20G” 也会让方块瞬间到底。\nTechmino和部分其他游戏推荐这么设计中20G的优先级比其他玩家操作都高即使是0arr的水平方向 “瞬间移动” 中途也会受到20G的影响。",
},
{"锁定延迟 LD",
{"锁定延迟(LD)",
"重力 lock delay lockdown delay suoyan zhongli gravity",
"term",
"方块<碰到地面到锁定>之间的时间。经典块仅方块下落一格时刷新倒计时,而现代方块中往往任何操作都将重置该倒计时(但是方块本身必须可以移动/旋转),所以连续移动和操作可以让方块不马上锁定,拖一会时间(本游戏和部分游戏重置次数有限一般是15",
"方块<碰到地面到锁定>之间的时间。经典块仅方块下落一格时刷新倒计时,而现代方块中往往任何操作都将重置该倒计时(但是方块本身必须可以移动/旋转),所以连续移动和操作可以让方块不马上锁定,拖一会时间(Techmino和部分游戏重置次数有限一般是15",
},
{"出块延迟 ARE",
{"出块延迟(ARE)",
"delay chukuaiyanchi",
"term",
"ARE。方块<锁定完成到下一个方块出现>之间的时间。",
},
{"消行延迟 ARE",
{"消行延迟(ARE)",
"line delay xiaohangyanchi",
"term",
"Line ARE。方块<锁定完成能消行时的消行动画>占据的时间。",
},
{"窒息延迟 DD",
{"窒息延迟(DD)",
"choke are delay zhixiyanchi",
"term",
"当前方块锁定后如果下一块的生成位置被阻挡,那么下一块的出块延迟会被再额外加上这个延迟的值,方便使用提前系统来避免死亡\n想法来自NOT_A_ROBOT",
},
{"极简 Finesse",
{"极简(Finesse)",
"极简操作 最简操作 finesse jijiancaozuo zuijiancaozuo",
"term",
"用最少的按键数将方块移到想去的位置的技术大多数时候只考虑纯硬降的落点节约时间和减少Misdrop。\n\n该技能学习越早越好,建议先去找教程视频,看懂了然后自己多练习,开始以准确率第一,速度快慢不重要,熟练后自然就快了。\n\n注意,本游戏使用的极简判定系统不是说完全和理论最少操作数一样而是不需要软降就能达到的位置才会按照标准出块方向和你的按键次数执行极简检测故在此不像js存在软降后误杀。但是多了一些新的条件比如【手上和Hold一样/已经按了超过3次按键后】再hold后按键次数不重置让下一块极简失误\n极简率计算:\n没有超过标准极简法操作数的为Perfect计100%超出一步为Great计50%超出两步为Bad计25%两步以上为Miss计0%其中Bad和Miss会断连\n\n20G下极简系统和0G一样工作所以得到的数值不准确参考价值偏低。",
"用最少的按键数将方块移到想去的位置的技术大多数时候只考虑纯硬降的落点节约时间和减少Misdrop。\n\n该技能学习越早越好,建议先去找教程视频,看懂了然后自己多练习,开始以准确率第一,速度快慢不重要,熟练后自然就快了。\n\n注意,Techmino使用的极简判定系统不是说完全和理论最少操作数一样而是不需要软降就能达到的位置才会按照标准出块方向和你的按键次数执行极简检测故在此不像js存在软降后误杀。但是多了一些新的条件比如【手上和Hold一样/已经按了超过3次按键后】再hold后按键次数不重置让下一块极简失误\n极简率计算:\n没有超过标准极简法操作数的为Perfect计100%超出一步为Great计50%超出两步为Bad计25%两步以上为Miss计0%其中Bad和Miss会断连\n\n20G下极简系统和0G一样工作所以得到的数值不准确参考价值偏低。",
},
{"科研",
"keyan",
"term",
"常用语指在低重力的单人模式里减速研究怎么做各种T-spin本游戏中拓展了含义用于称呼几乎需要全程Spin的游戏模式。",
"常用语指在低重力的单人模式里减速研究怎么做各种T-spinTechmino中拓展了含义用于称呼几乎需要全程Spin的游戏模式。",
},
{"手感 Handling",
{"手感(Handling)",
"feel shougan",
"term",
"决定手感的几个主要因素:\n1. 输入延迟受设备配置或者设备状况影响。可以重启/换设备解决;\n2. 程序运行稳定性程序设计或.实现)得不好,时不时会卡一下。把设置画面效果拉低可能可以缓解;\n3. 游戏设计故意的。自己适应;\n4. 参数设置设置不当。去改设置;\n5. 游玩姿势姿势不当。不便用力,换个姿势;\n6. 换键位或者换设备后不适应,操作不习惯。多习惯习惯,改改设置;\n7. 肌肉疲劳反应和协调能力下降。睡一觉或者做点体育运动,过段时间(也可能要几天)再来玩。",
@@ -777,7 +813,7 @@ return{
{"DAS通俗",
"arr simple",
"term",
"打字时按住o你会看到ooooooooooo\n在时间轴上o-----------o-o-o-o-o-o-o-o-o-o\n-----------就是das长度-就是arr长度。\n详见 DAS & ARR 词条。",
"打字时按住o你会看到ooooooooooo\n在时间轴上o—————o-o-o-o-o-o-o-o-o\n—————就是das长度-就是arr长度。\n详见 DAS & ARR 词条。",
},
{"DAS & ARR",
"灵敏度 arr",
@@ -789,25 +825,25 @@ return{
"term",
"对于不是刚入门的并且了解极简操作的玩家来说推荐ARR=0DAS=4~6具体看个人手部协调性只要能控制区别就不大\n新人如果实在觉得太快可以适当增加一点DASARR要改的话强烈建议不要超过2\n\n最佳调整方法DAS越小越好小到依然能准确区分单点/长按为止ARR能0就0游戏不允许的话就能拉多小拉多小。",
},
{"DAS打断 DCD",
{"DAS打断(DCD)",
"dascut dcd daduan",
"term",
"本游戏中指玩家的操作焦点转移到新方块的瞬间此时减小重置DAS计时器让自动移动不会立刻生效减少 “移动键松开晚了导致下一块一出来就立即开始移动” 的情况\n其他游戏中的DAS打断机制可能和本游戏的有区别,仅供参考。",
"Techmino中指玩家的操作焦点转移到新方块的瞬间此时减小重置DAS计时器让自动移动不会立刻生效减少 “移动键松开晚了导致下一块一出来就立即开始移动” 的情况\n其他游戏中的DAS打断机制可能和Techmino的有区别,仅供参考。",
},
{"误硬降打断 HCD",
{"误硬降打断(HCD)",
"autolockcut mdcut daduan",
"term",
"为了防止玩家硬降时当前方块已经锁定下一块出现就被立刻硬降导致严重md所以设计了此打断参数。\n方块自然锁定之后几帧内硬降键是无效的,具体看设置了多久。\n注:其他游戏中的防误硬降机制可能和本游戏的有区别,仅供参考。",
"为了防止玩家硬降时当前方块已经锁定下一块出现就被立刻硬降导致严重md所以设计了此打断参数。\n方块自然锁定之后几帧内硬降键是无效的,具体看设置了多久。\n注:其他游戏中的防误硬降机制可能和Techmino的有区别,仅供参考。",
},
{"软降倍率 SDF",
{"软降倍率(SDF)",
"软降速度 sdf softdropfactor",
"term",
"Soft Drop Factor软降速度因子倍率\n部分游戏中的软降机制就是在按住软降键时方块受到的重力变为原来的若干倍SDF就是这个变大的倍数。\n基本所有官块和TETR.IO使用这个机制本游戏不使用。",
"Soft Drop Factor软降速度因子倍率\n部分游戏中的软降机制就是在按住软降键时方块受到的重力变为原来的若干倍SDF就是这个变大的倍数。\n基本所有官块和TETR.IO使用这个机制Techmino不使用。",
},
{"方块名称",
"mino",
"term",
"Z"..CHAR.mino.Z.." S"..CHAR.mino.S.." J"..CHAR.mino.J.." L"..CHAR.mino.L.." T"..CHAR.mino.T.." O"..CHAR.mino.O.." I"..CHAR.mino.I.." Z5"..CHAR.mino.Z5.." S5"..CHAR.mino.S5.." P"..CHAR.mino.P.." Q"..CHAR.mino.Q.." F"..CHAR.mino.F.." E"..CHAR.mino.E.." T5"..CHAR.mino.T5.." U"..CHAR.mino.U.." V"..CHAR.mino.V.." W"..CHAR.mino.W.." X"..CHAR.mino.X.." J5"..CHAR.mino.J5.." L5"..CHAR.mino.L5.." R"..CHAR.mino.R.." Y"..CHAR.mino.Y.." N"..CHAR.mino.N.." H"..CHAR.mino.H.." I5"..CHAR.mino.I5.." I3"..CHAR.mino.I3.." C"..CHAR.mino.C.." I2"..CHAR.mino.I2.." O1"..CHAR.mino.O1,
"这是一个Techmino使用的所有方块的名称和其对应的形状:\n四连块:\nZ: "..CHAR.mino.Z..", S: "..CHAR.mino.S..", J: "..CHAR.mino.J..", L: "..CHAR.mino.L..", T: "..CHAR.mino.T..", O: "..CHAR.mino.O..", I: "..CHAR.mino.I..";\n\n五连块:\nZ5: "..CHAR.mino.Z5..", S5: "..CHAR.mino.S5..", P: "..CHAR.mino.P..", Q: "..CHAR.mino.Q..", F: "..CHAR.mino.F..", E: "..CHAR.mino.E..", T5: "..CHAR.mino.T5..", U: "..CHAR.mino.U..", V: "..CHAR.mino.V..", W: "..CHAR.mino.W..", X: "..CHAR.mino.X..", J5: "..CHAR.mino.J5..", L5: "..CHAR.mino.L5..", R: "..CHAR.mino.R..", Y: "..CHAR.mino.Y..", N: "..CHAR.mino.N..", H: "..CHAR.mino.H..", I5: "..CHAR.mino.I5..";\n\n一至三连块:\nI3: "..CHAR.mino.I3..", C: "..CHAR.mino.C..", I2: "..CHAR.mino.I2..", O1: "..CHAR.mino.O1..".",
},
{"Bag7出块",
"bag出块 bag7bag",
@@ -817,7 +853,7 @@ return{
{"His出块",
"history",
"term",
"一种的出块方式例如His4 Roll6 h4r6就是在随机生成新的 Next 的时候随机一个跟最后4次生成的Next中有一样的就重新随机直到已经尝试6次或和那4个都不一样。\n本游戏的His序列模式中最大Roll次数为序列长度的一半向上取整\n\n是纯随机出块的一大改进大大减小了连续出几个SZ洪水的概率。",
"一种的出块方式例如His4 Roll6 h4r6就是在随机生成新的 Next 的时候随机一个跟最后4次生成的Next中有一样的就重新随机直到已经尝试6次或和那4个都不一样。\nTechmino的His序列模式中最大Roll次数为序列长度的一半向上取整\n\n是纯随机出块的一大改进大大减小了连续出几个SZ洪水的概率。",
},
{"HisPool出块",
"history pool hispool",
@@ -827,24 +863,24 @@ return{
{"bagES出块",
"bages出块",
"term",
"(该词仅在本游戏内使用Bag Easy-StartBag简单开局Bag算法的分支开局第一包的第一块不会是S/Z/O/S5/Z5/F/E/W/X/N/H。",
"(该词仅在Techmino内使用Bag Easy-StartBag简单开局Bag算法的分支开局第一包的第一块不会是S/Z/O/S5/Z5/F/E/W/X/N/H。",
},
{"Reverb出块",
"reverb出块",
"term",
"(该词仅在本游戏内使用回声出块Bag算法的分支把Bag的每一块重复随机次数重复越多概率越小理论范围是0~6具体比较复杂这里不展开",
"(该词仅在Techmino内使用回声出块Bag算法的分支把Bag的每一块重复随机次数重复越多概率越小理论范围是0~6具体比较复杂这里不展开",
},
{"超连点 Hypertap",
{"超连点(Hypertap)",
"chaoliandian",
"term",
"快速震动手指,实现比长按更快速+灵活的高速单点移动主要在经典块的高难度下因为DAS不可调而且特别慢高速下很容易md导致失败此时手动连点就比自动移动更快或者受特殊情况限制不适合用自动移动时使用。会使用这个技术的人称为 “Hypertapper” ",
"快速震动手指,实现比长按更快速+灵活的高速单点移动主要在经典块的高难度下因为DAS不可调而且特别慢高速下很容易md导致失败此时手动连点就比自动移动更快或者受特殊情况限制不适合用自动移动时使用。会使用这个技术的人称为 “Hypertapper”。",
},
{"轮指 Rolling",
{"轮指(Rolling)",
"lunzhi liandian",
"term",
"另一种快速连点方法用于DAS/ARR设置非常慢时的高重力1G左右模式。\n先把手柄(键盘……可能也行吧)悬空摆好,比如架在腿上,要连点某个键的时候一只手虚按按键,另外一只手的几根手指轮流敲打手柄背面, “反向按键” 实现连点。这种控制方法可以让玩家更轻松地获得比直接抖动手指的Hypertap详见超连点词条更快的控制速度。\n此方法最先由Cheez-fish发明他本人则使用Rolling达到过超过20Hz的点击频率。",
},
{"穿透 Passthrough",
{"穿透(Passthrough)",
"pingthrough chuantou",
"term",
"(攻击)穿透,指双方的攻击打出后没有抵消,互相都收到的现象。\nTETR.IO中自定义房间如果开启Passthrough规则曾经天梯默认开启那么对手消行攻击的瞬间能看到自己的红条出现但其处于 “无敌时间” 内,不会触发也不能抵消,此时你的攻击会直接打给对手。(应该是给攻击的飞行动画预留时间,同时也让玩家能反应过来并主动选择要不要抵消,要的话就再等一会)\n另有pingthrough的说法只是原因是由于不可避免的网络传输延迟效果同passthrough设计比较简单的联网对战块没有特殊考虑的话可能自然就会带有这个机制。",
@@ -864,7 +900,7 @@ return{
"term",
"七个块初始权重设为0\n要取块的时候,\n先把七个数都除以2然后加上0~1的随机数\n最大的数字是第几个的就出对应的块然后将其权重除以3.5\n循环。",--Discovered by zxc
},
{"堆叠 Stack",
{"堆叠(Stack)",
"duidie stacking",
"term",
"将方块无缝隙地堆起来需要玩家有预读Next的能力可以通过不使用Hold并且用十个消四完成40L模式进行练习。\n这项能力从入坑到封神都是非常重要的。",
@@ -879,25 +915,25 @@ return{
"term",
"指能够使用顺+逆时针+180°旋转三个旋转键的技术任何方块放哪只需要旋转一次即可Spin不算\n但由于只有部分游戏有180°旋转所以改操作并不通用而且对速度提升的效果不如从单旋转双旋显著不追求极限速度的玩家可不学。",
},
{"干旱 Drought",
{"干旱(Drought)",
"ganhan",
"term",
"经典块术语指长时间不来I方块长条。现代方块使用的Bag7出块规则下干旱几乎不可能平均7块就会有一个I理论极限两个I最远中间隔12块。",
},
{"骨块 Bone",
{"骨块(Bone)",
"gukuai bone tgm",
"term",
"最早的方块游戏使用的方块样式。\n很久以前的电脑没有可以显示复杂图案的屏幕,只能往上打字,所以一格方块用两个方括号[ ]表示,长得像骨头所以叫骨块。\n基于骨块的特点,本游戏把骨块重新定义为, “所有形状使用的同一个比较花眼的贴图” ,不同的皮肤有不同的骨块样式。",
"最早的方块游戏使用的方块样式。\n很久以前的电脑没有可以显示复杂图案的屏幕,只能往上打字,所以一格方块用两个方括号[ ]表示,长得像骨头所以叫骨块。\n基于骨块的特点,Techmino把骨块重新定义为, “所有形状使用的同一个比较花眼的贴图”,不同的皮肤有不同的骨块样式。",
},
{"半隐",
"banyin half semi invisible",
"term",
"指方块锁定经过一段时间后会变隐形的规则\n注:从锁定开始到消失的具体时长不定,可以描述为 “过几秒种后消失” ",
"指方块锁定经过一段时间后会变隐形的规则\n注:从锁定开始到消失的具体时长不定,可以描述为 “过几秒种后消失”。",
},
{"全隐",
"quanyin invisible",
"term",
"指方块锁定后会马上完全隐藏\n注:锁定时有消失动画的话也可以叫全隐,但其实难度会小一点,故本游戏中没有动画的隐形模式叫瞬隐。",
"指方块锁定后会马上完全隐藏\n注:锁定时有消失动画的话也可以叫全隐,但其实难度会小一点,故Techmino中没有动画的隐形模式叫瞬隐。",
},
{"场地重力",
"重力 zhongli liansuo cascade chain",
@@ -907,7 +943,7 @@ return{
{"MPH模式",
"",
"term",
"一个游戏模式:\nMemorylessPreviewlessHoldless\n纯随机+无Next+无Hold完成40L一个非常考验玩家反应速度的模式。",
"一个游戏模式:\nMemorylessPreviewlessHoldless\n纯随机块序+无Next+无Hold完成40L一个非常考验玩家反应速度的模式。",
},
{"输入延迟",
"input delay yanchi",
@@ -923,16 +959,16 @@ return{
{"Cold Clear",
"机器人 电脑 cc coldclear ai bot jiqiren",
"term",
"一个AI的名字就跟AlphaGo一样\n本身是为PPT开发故在本游戏中使用效果欠佳版本也较旧。",
"一个AI的名字就跟AlphaGo一样\n由MinusKelvin开发本来是用于PPT的。在Techmino中经过调整后支持all-spin和TRS旋转系统",
},
{"ZZZbot",
"机器人 电脑 ai bot jiqiren",
"机器人 电脑 ai bot jiqiren zzztoj",
"term",
"一个AI的名字就跟AlphaGo一样\n由研究群群友奏之章开发,重新调参后在各个游戏平台上的表现都很不错。",
},
--定式
{"开局定式 Setup",
{"开局定式(Setup)",
"opening kaijudingshi opener",
"setup",
"开局定式,定式一般指开局定式这个概念。\n指开局后可以使用的套路摆法。局中情况合适的时候也可以摆出同样的形状,但是和摆法开局一般都不一样。\n\n能称为定式的摆法要尽量满足以下至少2~3条\n能适应大多数块序\n输出高尽量不浪费T块\n很多方块无需软降,极简操作数少\n有明确后续,分支尽量少。\n\n绝大多数定式基于bag7序列规律性强才有发明定式的可能。",
@@ -979,17 +1015,18 @@ return{
"Mini-Triple\n一个TSM+TST的结构。",
HDsearch.."mt",
},
{"Trinity",
"trinity",
"setup",
"Trinity\n一个TSD+TSD+TSD或TSM+TST+TSD的结构。",
HDsearch.."trinity",
},
{"狼月炮",
"wolfmoon",
"setup",
"狼月炮。"..HDwiki,
HDsearch.."wolfmoon_cannon",
},
{"ASC",
"asc",
"setup",
"ASC开局细节未知。",
},
{"Sewer",
"sewer",
"setup",
@@ -997,10 +1034,10 @@ return{
HDsearch.."sewer",
},
{"TKI",
"tki",
"tki-3 ",
"setup",
"TKI开局\n有两种解释一个是TSD开局另一个是Cspin开局"..HDwiki,
HDsearch.."tki",
"TKI-3开局\n有两种解释一个是TSD开局的TKI-3另一个是TST开局的TKI堆积C-Spin"..HDwiki,
HDsearch.."TKI_3_Opening",
},
{"God Spin",
"god",
@@ -1009,27 +1046,33 @@ return{
HDsearch.."godspin",
},
{"信天翁",
"xintianweng albatross",
"xintianweng albatrosssp albatrossspecial",
"setup",
"一种高观赏性几乎不浪费T的快节奏强力T2-T3-T2-PC开局。"..HDwiki,
HDsearch.."Albatross_Special",
},
{"鹈鹕",
"tihu",
"tihu pelican",
"setup",
"一种类似信天翁的定式,在块序不能信天翁的时候可以用。",
HDsearch.."Pelican"
},
{"七巧板",
"qiqiaoban tangram",
{"全清开局",
"qiqiaoban tangram pco 1stpc",
"setup",
"一种极大概率能摆出来并且很大概率能做到PC的定式本游戏中的pc练习中空出不规则区域的那个就是七巧板"..HDwiki,
"Perfect Clear Opener一种极大概率能摆出来有概率hold I约84.6%不hold I约61.2%能做到PC的定式Techmino中的pc练习中空出不规则区域的那个就是PCO"..HDwiki,
HDsearch.."Perfect_Clear_Opener",
},
{"六巧板",
"liuqiaoban gracesystem 1stpc",
"setup",
"Grace System大约有88.57%概率能做到PC的定式Techmino中的PC练习中空出4×4方形区域就是六巧板。",
},
{"DPC",
"DPC",
"setup",
"在场地空白,1bag还剩一块的情况下100%搭的TSD+PC的定式。常见于开局三包PC的后续。"..HDwiki,
HDsearch.."DPC_Setups",
"在场地空白,7bag还剩一块的情况下在很多情况下达到100%搭建率的TSD+PC的定式。更多信息见tetristemplate.info",
"https://tetristemplate.info/dpc/",
},
{"Gamushiro堆叠",
"gamushiro",
@@ -1044,10 +1087,10 @@ return{
"pattern",
"指一些特定的能打出较高伤害的常见典型形状,是中局输出的途径之一,部分也可以在开局做不过不是很有必要,主要见于中局\n另见开局定式,只说定式两个字一般指开局定式而非中局。",
},
{"Cspin",
"cspin",
{"C-Spin",
"cspin tki tdattack",
"pattern",
"JL脚对脚立起来形成一个C形缺口做适当的填充后可以打T3+T2"..HDwiki,
"也被称为TKI堆积TD-Attack"..HDwiki,
HDsearch.."c-spin",
},
{"STSD",
@@ -1059,7 +1102,7 @@ return{
{"STMB",
"stmb",
"pattern",
"STMB cave\n高空3宽坑架SZ捐一个T2的形状。"..HDwiki,
"STMB cave\n在3宽坑架SZ捐一个T2的形状。"..HDwiki,
HDsearch.."stmb_cave",
},
{"双刃剑",
@@ -1086,28 +1129,42 @@ return{
"在一个十字形洞口盖屋檐后可以做两个T2的形状。"..HDwiki,
HDsearch.."imperial_cross",
},
{"雨宫炮",
"yugong amemiya",
{"阶梯捐",
"jieti kaidan stairs",
"pattern",
"一种捐T2后可消四的形状常见于DT的一个分支。",
"一种在看起来像阶梯的洞口捐一个T2的形状。"..HDwiki,
HDsearch.."kaidan",
},
{"社畜train",
"shachikutrain shechu",
"pattern",
"一种在常见T3屋檐上捐两个T2的形状。"..HDwiki,
HDsearch.."Shachiku_Train",
},
{"千鸟格子",
"qianniaoge",
"qianniaoge cutcopy",
"pattern",
"一种在小洞上捐一个T2后还能做一个T2的形状。"..HDwiki,
HDsearch.."Cut_copy",
},
{"六巧板",
"liuqiaoban",
"pattern",
"一种常用于增加中局PC概率的形状本游戏中的PC练习中空出4×4方形区域就是六巧板。",
},
{"绯红之王",
"feihongzhiwang king crimson",
"pattern",
"在STSD上叠若干个T3的形状。"..HDwiki,
HDsearch.."King_Crimson",
},
{"连续PC (1/2)",
"pcloop",
"pattern",
"テトリス堂的从开局起第1、2、3、4、7个4行pc的开局整理。第七个pc做完总共用掉70块相当于回到游戏开始阶段可以做1st pc\n\n第5和第6详见下一个词条",
"https://shiwehi.com/tetris/template/consecutivepc.php"
},
{"连续PC (2/2)",
"pcloop",
"pattern",
"four.lol的从开局起第5、6个4行pc的开局整理。\n链接点开是5th可以到6th其他的推荐看上一个词条",
"https://four.lol/perfect-clears/5th"
},
--存档管理
{"控制台",
@@ -1165,15 +1222,25 @@ return{
{"TAS",
"",
"english",
"Tool-Assisted SpeedrunSupergaming\n使用特殊工具在不破坏游戏规则(允许超越人类操作,只是在程序层面不作弊)进行的游戏。\n一般用于冲击理论值或者达成各种有趣的目标用来观赏。\n本游戏中内置了非常简单的TAS工具。",
"Tool-Assisted SpeedrunSupergaming\n使用特殊工具在不破坏游戏规则(允许超越人类操作,只是在程序层面不作弊)进行的游戏。\n一般用于冲击理论值或者达成各种有趣的目标用来观赏。\nTechmino中内置了非常简单的TAS工具。",
},
{"AFK",
"",
"english",
"Away from keyboard\n一段时间不接触键盘,就是不玩一段时间,可以缓解手部疲劳,休息好之后马上破纪录也是可能的。",
},
{"Timing",
"timing shiji fanji",
"term",
"Time作动词时的动名词形式意为抓时机。在方块中往往指根据双方形势选择打出攻击的时机和要不要故意吃下对手的攻击防止抵消然后再把自己的攻击打过去。可以一定程度上提高对战的优势但对于新人来说连自己场地都看不明白还看啥对面有时间分析形势不如提速提效来得更好。",
},
--人物
{"注[2]",
"备注 notice",
"name",
"描述不保证一直是最新的,知道有这么个人就好。",
},
{"吉备宏纯",
"hebomai hbm jibei",
"name",
@@ -1222,7 +1289,7 @@ return{
{"Jonas",
"",
"name",
"1981-2021经典块一流玩家曾经的经典块第一CTWC4连冠。",
"19812021经典块一流玩家曾经的经典块第一CTWC4连冠。",
},
{"Joseph",
"",
@@ -1232,7 +1299,7 @@ return{
{"Kazu",
"mdking",
"name",
"(也叫 “GAMEOVER” “GAMAOVER” “GAME_OVER_RETRY” \n一流玩家以熟练md转捐赠闻名",
"(也叫 “GAMEOVER” “GAMAOVER” “GAME_OVER_RETRY”\n一流玩家以熟练md转捐赠闻名",
},
{"Microblizz",
"",
@@ -1274,13 +1341,13 @@ return{
"https://space.bilibili.com/557547205",
},
{"Farter",
"pi TTT t000",
"pi TTT t000 t222",
"name",
"【研究群】「TTTT」\n40L 26.193s\nCN块圈元老之一T-ex和屁块的作者。",
"https://space.bilibili.com/132966",
},
{"Teatube",
"ttb chaguan chanaiye sifangchaye t022",
"ttb chaguan chanaiye sifangchaye qiqiupu t022",
"name",
"【研究群】「T022」\n40L 33s top数据高峰约50L70A\n研究群管理,探索群群主,茶服服主,人形方块百科史书,现中文方块维基主催。\n自2011年正式加入CN方块社区以来以探索方块有趣的思想作为主动力茶茶今天也在茶馆里当着茶房管理员——\n\n其他名称TTB永远旋转的炸弹茶乃叶四方茶叶\n明明茶管是蓝孩子却被群友叫茶娘…怎么想都很奇怪啊!嘛大家喜欢的话就随便啦——",
"https://space.bilibili.com/834903",

View File

@@ -249,6 +249,12 @@ return{
"(旋律星萤)",
"(T0722)",
"",
"Illustrations",
"Miya",
"Mono",
"Xiaoya",
"葉枭",
"",
"Musical Designs",
"MrZ",
"柒栎流星",
@@ -773,6 +779,7 @@ return{
['dig_eff_40l']= {"Dig", "EFFICIENCY 40L", "Dig 40 garbage lines with the least pieces!"},
['dig_eff_100l']= {"Dig", "EFFICIENCY 100L","Dig 100 garbage lines with the least pieces!"},
['dig_eff_400l']= {"Dig", "EFFICIENCY 400L","Dig 400 garbage lines with the least pieces!"},
['dig_quad_10l']= {"Dig", "TECHRASH 10L", "Dig 10 garbage lines using only techrash!"},
['drought_n']= {"Drought", "100L", "No I-pieces available"},
['drought_l']= {"Drought+", "100L", "W T F"},
['marathon_n']= {"Marathon", "NORMAL", "200-line marathon with increasing speed"},
@@ -830,7 +837,6 @@ return{
['defender_l']= {"Defender", "LUNATIC", "Practice your defensing skills!"},
['dig_h']= {"Driller", "HARD", "Digging practice!"},
['dig_u']= {"Driller", "ULTIMATE", "Digging practice!"},
['clearRush']= {"Clear Rush", "NORMAL", "All-spin tutorial!\n[Under construction]"},
['c4wtrain_n']= {"C4W Training", "NORMAL", "Infinite combos"},
['c4wtrain_l']= {"C4W Training", "LUNATIC", "Infinite combos"},
['pctrain_n']= {"PC Training", "NORMAL", "Perfect Clear practice"},

View File

@@ -1,4 +1,14 @@
return{
loadText={
loadSFX="Cargando efectos de sonido",
loadSample="Cargando samples de música",
loadVoice="Cargando voces",
loadFont="Cargando fuentes",
loadModeIcon="Cargando íconos",
loadMode="Cargando modos",
loadOther="Cargando otros assets",
finish="Pulsa cualquier tecla",
},
fallback='en',
sureQuit="Pulsa de nuevo para salir",
sureReset="Pulsa de nuevo para reiniciar",
@@ -22,7 +32,7 @@ return{
stage="Fase $1 Completada",
great="¡Genial!",
awesome="¡Fantástico!",
almost="¡Casi!",
almost="¡Ya casi!",
continue="¡Continúa!",
maxspeed="¡Máx. Velocidad!",
speedup="¡Más rápido!",
@@ -34,13 +44,13 @@ return{
grade="Grado",techrash="Techrash",
wave="Ronda",nextWave="Sig. ronda",
combo="Combo",maxcmb="Combo Máx.",
pc="Perfect Clear",ko="KO",
pc="Perfect Clear",ko="KOs",
win="Victoria",
win="¡Victoria!",
lose="Derrota",
finish="Fin",
gamewin="Victoria",
finish="Finalizado",
gamewin="Has ganado",
gameover="Fin del Juego",
pause="Pausa",
@@ -55,7 +65,7 @@ return{
ai_prebag="La IA no es compatible con piezas que no sean Tetrominos.",
ai_mission="La IA no es compatible con misiones personalizadas.",
switchSpawnSFX="Habilita los sonidos de aparición de las piezas ;)",
needRestart="Reinicia Techmino para que los cambios tengan efecto.",
needRestart="Reinicia para aplicar los cambios.",
loadError_errorMode="'$1' Error al cargar: no hay modo '$2'",
loadError_read="'$1' Error al cargar: error de lectura",
@@ -94,15 +104,15 @@ return{
getNoticeFail="Error al buscar novedades.",
oldVersion="¡Está disponible la nueva versión $1!",
versionNotMatch="¡Las versiones no coinciden!",
needUpdate="¡Nueva versión requerida!",
versionNotMatch="¡Las versiones no coinciden!",
notFinished="Próximamente",
jsonError="Error en Json",
noUsername="Por favor ingresa un nombre de usuario",
wrongEmail="Correo electrónico incorrecto",
noPassword="Por favor ingresa una contraseña",
wrongEmail="Correo electrónico inválido",
noPassword="Por favor ingresa la contraseña",
diffPassword="Las contraseñas no coinciden",
registerRequestSent="Petición de registro enviada con éxito",
registerOK="¡Registro exitoso!",
@@ -134,8 +144,31 @@ return{
errorMsg="Ha ocurrido un error y Techmino necesita reiniciarse.\nSe creó un registro de error, puedes enviarlo al autor.",
tryAnotherBuild="[UTF-8 Inválido] Si estás usando Windows, intenta descargar Techmino-win32 o Techmino-win64 (el que no estés usando ahora).",
-- modInstruction="",
-- modInfo={},--See lang_en.lua
modInstruction="¡Elige tus mods!\nLos mods permiten modificar el juego,\npero también es posible que lo crasheen.\nLos scores no se guardan durante el uso de mods.",
modInfo={
next="NEXT\nSobreescribe el nro. de piezas siguientes a mostrar.",
hold="HOLD\nSobreescribe el nro. de piezas en reserva disponibles.",
hideNext="Hidden NEXT\nOculta el nro. de pzas. especificado en la cola de pzas. siguientes.",
infHold="InfiniHold\nPermite usar la reserva indefinidamente.",
hideBlock="Hide Current Piece:\nHace invisible la pieza en juego.",
hideGhost="No Ghost\nHace invisible la pieza fantasma.",
hidden="Hide Locked Pieces.\nLas piezas ya puestas se vuelven invisibles tras un tiempo a especificar.",
hideBoard="Hide Board\nEsconde el tablero parcial o totalmente.",
flipBoard="Flip Board\nGira o invierte el tablero.",
dropDelay="Gravity\nSobreescribe la velocidad de caída, en frames por bloque.",
lockDelay="Lock Delay\nSobreescribe el retraso de bloqueo (en frames).",
waitDelay="Spawn Delay\nSobreescribe el retraso de spawneo (en frames).",
fallDelay="Line Clear Delay\nSobreescribe el retraso de limpieza de líneas, en frames.",
life="Life\nCambia el nro inicial de vidas.",
forceB2B="B2B Only\nTermina el juego si la barra de B2B baja por debajo del valor inicial.",
forceFinesse="Finesse Only\nTermina el juego si se comete un error de finesse.",
tele="Teleport\nFuerza DAS 0 y ARR 0.",
noRotation="No Rotation\nDeshabilita la rotación de piezas.",
noMove="No Movement\nDeshabilita mover las piezas a los lados.",
customSeq="Randomizer\nSobreescribe el randomizador de la secuencia de piezas.",
pushSpeed="Garbage Speed\nSobreescribe la velocidad de subida de lineas basura (bloques/frame).",
boneBlock="[ ]\n Juega con bloques [ ], a la Electronika 60.",
},
pauseStat={
"Tiempo:",
"Tecla/Rot./Reserva:",
@@ -164,18 +197,120 @@ return{
"Err.Fns./RatioFns:",
},
aboutTexts={
"Este es simplemente un juego de puzzle ordinario, no pienses de él como un juego promedio.",
"Está inspirado en otros como C2/IO/JS/WWC/KOS.",
"Este es simplemente un juego de puzzle *ordinario*. En serio, eso es todo.",
"Inspirado en C2/IO/JS/WWC/KOS etc.",
"",
"Creado con LÖVE",
"Puedes reportar errores o enviar sugerencias al grupo de testeo del autor o por email ~",
"Descarga disponible únicamente vía el grupo de testeo y discord.gg/f9pUvkh",
"Descargas desde otros sitios pueden contener malware/viruses, y en smartphones sólo requiere permisos de internet y vibración.",
"¡Se aprecia cualquier tipo de sugerencia o reporte de bugs!",
"Por favor descarga el juego únicamente desde los sitios oficiales,",
"ya que no podemos asegurar que sea seguro si proviene de otro lado.",
"El autor no se responabiliza por daños ocasionados debido a modificaciones del juego.",
FNNS and"/"or"Por favor descarga las últimas versiones desde los sitios oficiales. El juego es gratuito",
FNNS and"/"or"Ve el Zictionary (en inglés) para más info",
FNNS and"/"or"El juego es gratuito, pero se aprecian donaciones.",
FNNS and"/"or"Ve el Zictionary (en inglés) para más info.",
},
staff={
"ORIGINAL DE MrZ",
"E-mail: 1046101471@qq.com",
"",
"Programado, Desarrollado y Diseñado Por",
"MrZ",
"",
"Música hecha con",
"Beepbox",
"FL Studio",
"FL Mobile",
"Logic Pro X",
"",
"[CREADO CON LÖVE]",
"",
"Programación",
"MrZ",
"ParticleG",
"Gompyn",
"Trebor",
"(scdhh)",
"(FinnTenzor)",
"(NOT_A_ROBOT)",
"(user670)",
"",
"CI en GitHub, Packaging y Backend",
"ParticleG",
"Trebor",
"LawrenceLiu",
"Gompyn",
"flaribbit",
"scdhh",
"",
"Diseño Visual, Interfaz y UX",
"MrZ",
"Gnyar",
"C₂₉H₂₅N₃O₅",
"ScF",
"(旋律星萤)",
"(T0722)",
"",
"Ilustraciones",
"Miya",
"Mono",
"Xiaoya",
"葉枭",
"",
"Compositores",
"MrZ",
"柒栎流星",
"ERM",
"Trebor",
"C₂₉H₂₅N₃O₅",
"(T0722)",
"(Aether)",
"(Hailey)",
"",
"Efectos de sonido y Voces",
"Miya",
"Xiaoya",
"Mono",
"MrZ",
"Trebor",
"",
"Traducciones y Localizaciones",
"User670",
"MattMayuga",
"Mizu",
"Mr.Faq",
"ScF",
"C₂₉H₂₅N₃O₅",
"NOT_A_ROBOT",
"sakurw",
"Airun",
"幽灵3383",
"",
"Performances",
"Electric283",
"Hebomai",
"",
"Agradecimientos",
"Flyz",
"Big_True",
"NOT_A_ROBOT",
"思竣",
"yuhao7370",
"Farter",
"Teatube",
"蕴空之灵",
"T9972",
"No-Usernam8",
"andrew4043",
"smdbs-smdbs",
"paoho",
"Allustrate",
"Haoran SUN",
"Tianling Lyu",
"huaji2369",
"Lexitik",
"Tourahi Anime",
"[Todo el staff de testeo]",
"…Y a ti!",
},
used=[[
Herramientas utilizadas:
Beepbox
@@ -190,8 +325,8 @@ return{
support="Apoyen al Autor",
WidgetText={
main={
offline="1 Jugador",
qplay="Jgo. Ráp.",
offline="Mapa de Modos",
qplay="Reciente",
online="Multijugador",
custom="Personalizado",
setting="Opciones",
@@ -244,7 +379,7 @@ return{
password="Contraseña",
description="Descripción",
life="Vida",
life="Vidas",
pushSpeed="Velocidad de Subida",
garbageSpeed="Velocidad de Basura",
visible="Visibilidad",
@@ -549,7 +684,7 @@ return{
register="Registrarse",
email="Correo Elec.",
password="Contraseña",
-- showEmail="Show Email",
showEmail="Mostrar Correo",
keepPW="Recordar credenciales",
login="Entrar",
},
@@ -625,10 +760,17 @@ return{
['sprint_1000l']= {"Sprint", "1000L", "¡Limpia 1000 líneas!"},
['sprintPenta']= {"Sprint", "Pentominos", "¡Limpia 40 líneas con los 18 pentominos distintos!"},
['sprintMPH']= {"Sprint", "MPH", "Memoryless (sin memoria)\nPreviewless (sin pzas. siguientes)\nHoldless (sin reserva)."},
['dig_10l']= {"Queso", "10L", "Limpia 10 líneas de queso."},
['dig_40l']= {"Queso", "40L", "Limpia 40 líneas de queso."},
['dig_100l']= {"Queso", "100L", "Limpia 100 líneas de queso."},
['dig_400l']= {"Queso", "400L", "Limpia 400 líneas de queso."},
['sprint123']= {"Sprint", "M123", "Limpia 40 líneas con monominos, biminos y triminos"},
['secret_grade']= {"Secret Grade", "", "¡Arma dejando huecos en escalera, sigue la guía!"},
['dig_10l']= {"Dig", "10L", "¡Limpia 10 líneas de queso lo más rápido que puedas!"},
['dig_40l']= {"Dig", "40L", "¡Limpia 40 líneas de queso lo más rápido que puedas!"},
['dig_100l']= {"Dig", "100L", "¡Limpia 100 líneas de queso lo más rápido que puedas!"},
['dig_400l']= {"Dig", "400L", "¡Limpia 400 líneas de queso lo más rápido que puedas!"},
['dig_eff_10l']= {"Dig", "Efic. 10L", "¡Limpia 10 líneas de queso con la menor cantidad de piezas posible!"},
['dig_eff_40l']= {"Dig", "Efic. 40L", "¡Limpia 40 líneas de queso con la menor cantidad de piezas posible!"},
['dig_eff_100l']= {"Dig", "Efic. 100L", "¡Limpia 100 líneas de queso con la menor cantidad de piezas posible!"},
['dig_eff_400l']= {"Dig", "Efic. 400L", "¡Limpia 400 líneas de queso con la menor cantidad de piezas posible!"},
--['dig_quad_10l']= {"Dig", "TECHRASH 10L", "Dig 10 garbage lines using only techrash!"},
['drought_n']= {"Sequía", "100L", "¡Sin piezas I!"},
['drought_l']= {"Sequía+", "100L", "Qué es esto..."},
['marathon_n']= {"Maratón", "Normal", "Maratón de 200 líneas con velocidad en aumento."},
@@ -649,27 +791,32 @@ return{
['round_h']= {"Por Turnos", "Difícil", "Modo ajedrez."},
['round_l']= {"Por Turnos", "Lunático", "Modo ajedrez."},
['round_u']= {"Por Turnos", "Supremo", "Modo ajedrez."},
['master_n']= {"Master", "Normal", "Para principiantes en 20G"},
['master_h']= {"Master", "Difícil", "¡Desafío profesional de 20G!"},
['master_m']= {"Master", "M21", "Para Maestros del 20G."},
['master_final']= {"Master", "FINAL", "El verdadero 20G Supremo:\nel final es inalcanzable."},
['master_ex']= {"GrandMaster", "EXTRA", "Para ser un gran maestro,\nacepta este desafío"},
['big_n']= {"Big", "Normal", "¡La matriz es más pequeña!"},
['big_h']= {"Big", "Difícil", "¡La matriz es más pequeña!"},
['master_n']= {"Master", "Normal", "Para principiantes en 20G."},
['master_h']= {"Master", "Difícil", "Para entusiastas en 20G."},
['master_m']= {"Master", "M21", "Para maestros del 20G."},
['master_final']= {"Master", "Final", "Al 20Ginito y más allá!"},
['master_ph']= {"Master", "Phantasm", "???"},
['master_g']= {"Master", "Con rangos", "¡Consigue el rango más alto que puedas!"},
['master_ex']= {"GrandMaster", "Extra", "Una eternidad que dura un instante."},
['master_instinct']={"Master", "Instintivo", "¿Y si la pieza activa es invisible?"},
['strategy_e']= {"Strategy", "Fácil", "Decisiones rápidas en 20G."},
['strategy_h']= {"Strategy", "Difícil", "Decisiones rápidas en 20G."},
['strategy_u']= {"Strategy", "Supremo", "Decisiones rápidas en 20G."},
['strategy_e_plus']={"Strategy", "Fácil+", "Estrategia sin bodega."},
['strategy_h_plus']={"Strategy", "Difícil+", "Estrategia sin bodega."},
['strategy_u_plus']={"Strategy", "Supremo+", "Estrategia sin bodega."},
['strategy_e_plus']={"Strategy", "Fácil+", "Lo mismo pero sin reserva!"},
['strategy_h_plus']={"Strategy", "Difícil+", "Lo mismo pero sin reserva!"},
['strategy_u_plus']={"Strategy", "Supremo+", "Lo mismo pero sin reserva!"},
['blind_e']= {"A Ciegas", "Parcial", "Para novatos."},
['blind_n']= {"A Ciegas", "Total", "Para jugadores intermedios."},
['blind_h']= {"A Ciegas", "Inmediato", "Para jugadores experimentados"},
['blind_h']= {"A Ciegas", "Inmediato", "Para jugadores experimentados."},
['blind_l']= {"A Ciegas", "Inmediato+", "Para profesionales."},
['blind_u']= {"A Ciegas", "?", "¿Estás preparado?"},
['blind_wtf']= {"A Ciegas", "ELFUF", "No, no lo estás."},
['classic_e']= {"Clásico", "EASY", "Modo clásico con alta velocidad."},
['classic_h']= {"Clásico", "Difícil", "Modo clásico con alta velocidad."},
['classic_l']= {"Clásico", "Lunático", "Modo clásico con alta velocidad."},
['classic_u']= {"Clásico", "Supremo", "Modo clásico con alta velocidad."},
['classic_e']= {"Clásico", "Fácil", "Modo clásico con velocidad baja."},
['classic_h']= {"Clásico", "Difícil", "Modo clásico con velocidad media."},
['classic_l']= {"Clásico", "Lunático", "Modo clásico con velocidad alta."},
['classic_u']= {"Clásico", "Supremo", "Modo clásico con velocidad infernal :D"},
['survivor_e']= {"Supervivencia", "Fácil", "¿Cuánto tiempo podrás sobrevivir?"},
['survivor_n']= {"Supervivencia", "Normal", "¿Cuánto tiempo podrás sobrevivir?"},
['survivor_h']= {"Supervivencia", "Difícil", "¿Cuánto tiempo podrás sobrevivir?"},
@@ -681,11 +828,10 @@ return{
['defender_l']= {"Defensor", "Lunático", "¡Practica la defensa!"},
['dig_h']= {"Downstack", "Difícil", "¡Practica el downstackeo!"},
['dig_u']= {"Downstack", "Supremo", "¡Practica el downstackeo!"},
['clearRush']= {"Clear Rush", "NORMAL", "¡Tutorial de Allspins!\n[En construcción]"},
['c4wtrain_n']= {"Entrenar C4W", "Normal", "Combos infinitos."},
['c4wtrain_l']= {"Entrenar C4W", "Lunático", "Combos infinitos."},
['pctrain_n']= {"Entrenar PC", "Normal", "Modo sencillo para practicar Perfect Clears."},
['pctrain_l']= {"Entrenar PC", "Lunático", "Modo duro para practicar Perfect Clears."},
['pctrain_l']= {"Entrenar PC", "Lunático", "Modo complejo para practicar Perfect Clears."},
['pc_n']= {"Desafío de PCs", "Normal", "¡Consigue los PCs que puedas en 100 líneas!"},
['pc_h']= {"Desafío de PCs", "Difícil", "¡Consigue los PCs que puedas en 100 líneas!"},
['pc_l']= {"Desafío de PCs", "Lunático", "¡Consigue los PCs que puedas en 100 líneas!"},
@@ -701,17 +847,17 @@ return{
['tsd_e']= {"Desafío de TSD", "Fácil", "¡Sólo se permiten T-Spin Dobles!"},
['tsd_h']= {"Desafío de TSD", "Difícil", "¡Sólo se permiten T-Spin Dobles!"},
['tsd_u']= {"Desafío de TSD", "Supremo", "¡Sólo se permiten T-Spin Dobles!"},
['backfire_n']= {"Retorno", "Normal", "Lidia con tus propias líneas basura."},
['backfire_h']= {"Retorno", "Difícil", "Lidia con tus propias líneas basura."},
['backfire_l']= {"Retorno", "Lunático", "Lidia con tus propias líneas basura."},
['backfire_u']= {"Retorno", "Supremo", "Lidia con tus propias líneas basura."},
['sprintAtk']= {"Sprint", "100L - Ataque", "¡Envía 100 líneas de ataque!"},
['sprintEff']= {"Sprint", "Efficiency", "¡Envía ataque eficiente en 40 líneas!"},
['backfire_n']= {"Retorno", "Normal", "Cancela tus propias líneas basura."},
['backfire_h']= {"Retorno", "Difícil", "Cancela tus propias líneas basura."},
['backfire_l']= {"Retorno", "Lunático", "Cancela tus propias líneas basura."},
['backfire_u']= {"Retorno", "Supremo", "Cancela tus propias líneas basura."},
['sprintAtk']= {"Sprint", "100L - Ataque", "¡Envía 100 líneas de ataque!"},
['sprintEff']= {"Sprint", "Eficiencia", "¡Envía ataque eficiente en 40 líneas!"},
['zen']= {'Zen', "200L", "200 líneas sin límite de tiempo."},
['ultra']= {'Ultra', "Extra", "¡Consigue el mayor puntaje posible en 2 minutos!"},
['ultra']= {'Ultra', "Extra", "¡Consigue el mayor puntaje /nposible en 2 minutos!"},
['infinite']= {"Infinito", "", "Modo Sandbox."},
['infinite_dig']= {"Infinito: Queso", "", "Limpia, limpia, más limpia que tú."},
['marathon_inf']= {"Maratón", "Infinito", "Infinito maratón."},
['marathon_inf']= {"Maratón", "Infinito", "Maratón infinita."},
['custom_clear']= {"Personalizado", "Normal"},
['custom_puzzle']= {"Personalizado", "Puzzle"},

View File

@@ -216,6 +216,12 @@ return{
"(旋律星萤)",
"(T0722)",
"",
"Illustrations",
"Miya",
"Mono",
"Xiaoya",
"葉枭",
"",
"Conceptions Musicales",
"MrZ",
"柒栎流星",
@@ -725,6 +731,7 @@ return{
['dig_40l']= {"Dig", "40L", "Creusez 40 lines"},
['dig_100l']= {"Dig", "100L", "Creusez 100 lines"},
['dig_400l']= {"Dig", "400L", "Creusez 400 lines"},
--['dig_quad_10l']= {"Dig", "TECHRASH 10L", "Dig 10 garbage lines using only techrash!"},
['drought_n']= {"Drought", "100L", "Pas de pièce I !"},
['drought_l']= {"Drought+", "100L", "WTF ??!!"},
-- ['stack_e']= {"Stack", "FACILE", "Pack them!"},
@@ -780,7 +787,6 @@ return{
['defender_l']= {"Défendant", "LUNATIQUE", "Soyez défensifs !"},
['dig_h']= {"Perceuse", "DIFFICILE", "Essayez de creuser !"},
['dig_u']= {"Perceuse", "ULTIME", "Essayez de creuser !"},
-- ['clearRush']= {"Clear Rush", "NORMAL", "All-spin tutorial!\n[Under construction]"},
['c4wtrain_n']= {"Mode essai C4W", "NORMAL", "Combos infinis."},
['c4wtrain_l']= {"Mode essai C4W", "LUNATIQUE", "Combos infinis."},
['pctrain_n']= {"Mode essai PC", "NORMAL", "Mode Perfect Clear simple"},

View File

@@ -60,7 +60,7 @@ return{
finesse_ap="Semua sempurna",
finesse_fc="Kombo penuh",
page="Halaman:",
page="Halaman: ",
cc_fixed="CC tidak cocok dengan urutan tetap.",
cc_swap="CC tidak cocok dengan mode simpan tukar.",
@@ -112,13 +112,13 @@ return{
jsonError="Eror JSON",
noUsername="Silahkan masukki username Anda",
noUsername="Silahkan memasukan username Anda",
wrongEmail="Alamat email tidak sah",
noPassword="Silahkan masukki kata sandi Anda",
noPassword="Silahkan memasukan kata sandi Anda",
diffPassword="Kata sandi tidak sama",
registerRequestSent="Permintaan daftar telah terkirim.",
registerOK="Pendaftaran sukses!",
loginOK="Anda sekarang tergabung!",
loginOK="Anda telah gabung!",
accessOK="Akses diberikan",
wsConnecting="Menghubungkan websocket…",
@@ -127,12 +127,12 @@ return{
netTimeout="Koneksi waktu habis",
onlinePlayerCount="Online",
createRoomSuccessed="Ruang dibuat",
createRoomSuccessed="Ruang terbuat",
started="Bermain",
joinRoom="telah memasuki ruangan.",
leaveRoom="telah keluar dari ruangan.",
ready="Siap",
connStream="Menghubungi",
connStream="Memuat",
waitStream="Menunggu",
spectating="Menonton",
chatRemain="Online",
@@ -144,23 +144,22 @@ return{
customBGloadFailed="Format file gambar tidak didukung untuk background",
errorMsg="Techmino mengalami eror dan harus memuat ulang.\nAnda bisa mengirim log eror ke developer.",
tryAnotherBuild="[Invalid UTF-8] Jika Anda di Windows, coba download Techmino-win32 atau Techmino-win64 (berbeda dari yang Anda menggunakan sekarang).",
modInstruction="Pilih mod Anda!\nMod memungkinkan Anda untuk mengubah permainan,\ntetapi juga bisa menghancur permainan.\nNilai-nilai tidak akan disimpan saat menggunakan mod.",
modInfo={
next="BLOK LANJUT\nMengubah jumlah blok lanjut yang ditampilkan.",
next="BLOK LANJUT\nMengubah jumlah pratinjau blok lanjut yang ditampilkan.",
hold="SIMPAN\nMengubah jumlah blok yang bisa disimpan.",
hideNext="BLOK LANJUT Tersembunyi\nMenyembunyikan beberapa blok lanjut.",
hideNext="BLOK LANJUT Tersembunyi\nMengubah jumlah pratinjau blok lanjut yang disembunyikan.",
infHold="SIMPAN TAK TERBATAS\nMemungkinkan Anda untuk menyimpan blok-blok tidak terbatas.",
hideBlock="Sembunyikan Blok Aktif\nMenyembunyikan blok yang Anda mengontrol.",
hideGhost="Sembunyikan Blok Hantu\nMenyembunyikan blok yang menunjukkan tempat blok yang sedang dikontrol akan jatuh.",
hidden="Sembunyikan Blok Terdarat\nMenyembunyikan blok yang sudah mendarat setelah waktu yang tertentu.",
hideBoard="Sembunyikan Tempat Main\nMenyembunyikan bagian atau seluruh tempat main.",
hideBlock="Sembunyikan Blok Aktif\nMenyembunyikan blok aktif.",
hideGhost="Sembunyikan Blok Hantu\nMenyembunyikan blok hantu.",
hidden="Sembunyikan Blok Terdarat\nMenyembunyikan blok terkunci.",
hideBoard="Sembunyikan Tempat Main\nMenyembunyikan sebagian atau seluruh tempat main.",
flipBoard="Putar Tempat Main\nMembalik atau memutar tempat main.",
dropDelay="Gravitasi\nMengubah gravitasi dalam frame per blok.",
lockDelay="Tunda Mengunci\nMengubah tunda mengunci dalam frame.",
lockDelay="Tunda Mengunci\nMengubah tunda kunci dalam frame.",
waitDelay="Tunda Muncul\nMengubah tunda muncul blok dalam frame.",
fallDelay="Tunda Baris\nMengubah tunda saat membuat baris dalam frame.",
fallDelay="Tunda Baris\nMengubah tunda baris jatuh dalam frame.",
life="Nyawa\nMengubah nomor awal nyawa.",
forceB2B="Hanya B2B\nMengakhirkan permainan jika meter B2B jatuh ke 0.",
forceFinesse="Efisiensi Tombol Maximum\nMengakhirkan permainan jika efisiensi tombol tidak maksimum.",
@@ -183,7 +182,7 @@ return{
"B2B/B3B/PC/Setengah PC:",
"Efisiensi Tombol:",
},
radar={"BLOK","SERANGAN","SRGN + BLOK","SRGN TERKIRIM","KECEPATAN","GALI"},
radar={"BLOK","SERANGAN","KEKUATAN","KIRIMAN","KECEPATAN","GALI"},
radarData={"D'PM","ADPM","APM","SPM","L'PM","DPM"},
stat={
"Jumlah Pembukaan:",
@@ -251,6 +250,12 @@ return{
"(旋律星萤)",
"(T0722)",
"",
"Ilustrasi",
"Miya",
"Mono",
"Xiaoya",
"葉枭",
"",
"Desain Musik",
"MrZ",
"柒栎流星",
@@ -765,6 +770,8 @@ return{
['sprint_1000l']= {"Balapan", "1.000L", "Buat 1.000 baris!"},
['sprintPenta']= {"Balapan", "PENTOMINO", "40L dengan pentomino!"},
['sprintMPH']= {"Balapan", "MPH", "Tanpa ingatan\nTanpa pratinjau\nTanpa simpan"},
['sprint123']= {"Balapan", "M123", "40L dengan hanya monomino, domino, dan trimino"},
['secret_grade']= {"Secret Grade", "", "Buatlah formasi lubang zigzag, menuruti panduannya!"},
['dig_10l']= {"Gali", "10L", "Gali 10 baris!"},
['dig_40l']= {"Gali", "40L", "Gali 40 baris!"},
['dig_100l']= {"Gali", "100L", "Gali 100 baris!"},
@@ -773,6 +780,7 @@ return{
['dig_eff_40l']= {"Gali", "EFISIENSI 40L", "Gali 40 baris!"},
['dig_eff_100l']= {"Gali", "EFISIENSI 100L","Gali 100 baris!"},
['dig_eff_400l']= {"Gali", "EFISIENSI 400L","Gali 400 baris!"},
--['dig_quad_10l']= {"Dig", "TECHRASH 10L", "Dig 10 garbage lines using only techrash!"},
['drought_n']= {"Nasib Buruk", "100L", "Tidak ada blok I..."},
['drought_l']= {"Nasib Buruk+", "100L", "Nasib sangat buruk..."},
['marathon_n']= {"Maraton", "NORMAL", "200-baris maraton dengan kecepatan meningkat"},
@@ -793,11 +801,14 @@ return{
['round_h']= {"Giliran", "SULIT", "Giliran main melawan AI!"},
['round_l']= {"Giliran", "GILA", "Giliran main melawan AI!"},
['round_u']= {"Giliran", "TERAKHIR", "Giliran main melawan AI!"},
['big_n']= {"Besar", "NORMAL", "Main dalam tempat main lebih kecil!"},
['big_h']= {"Besar", "SULIT", "Main dalam tempat main lebih kecil!"},
['master_n']= {"Jago", "NORMAL", "Untuk pemula 20G"},
['master_h']= {"Jago", "SULIT", "Untuk pro 20G"},
['master_m']= {"Jago", "M21", "Untuk jago 20G"},
['master_final']= {"Jago", "TERAKHIR", "Lebih dari 20G"},
['master_ph']= {"Jago", "KHAYALAN", "???"},
['master_g']= {"Jago", "BERTINGKAT", "Dapatkan tingkat tertinggi!"},
['master_ex']= {"Sangat Jago", "EKSTRA", "Blok tidak kelihatan"},
['master_instinct']={"Jago", "INSTINK", "Bagaimana jika blok terkontrol tersembunyi?"},
['strategy_e']= {"Strategi", "MUDAH", "Keputusan 20G cepat"},
@@ -827,7 +838,6 @@ return{
['defender_l']= {"Pembela", "GILA", "Praktekkan keahlian membela Anda!"},
['dig_h']= {"Pembor", "SULIT", "Praktekkan keahlian menggali Anda!"},
['dig_u']= {"Pembor", "TERAKHIR", "Praktekkan keahlian menggali Anda!"},
['clearRush']= {"Gegas Baris", "NORMAL", "Tutorial all-spin!\n[Dalam pengembangan]"},
['c4wtrain_n']= {"Latihan C4W", "NORMAL", "Kombo tidak terbatas."},
['c4wtrain_l']= {"Latihan C4W", "GILA", "Kombo tidak terbatas."},
['pctrain_n']= {"Latihan PC", "NORMAL", "Latihan PC"},

View File

@@ -17,7 +17,7 @@ return{
newDay="新しい1日、新しい始まりです!",
playedLong="長時間プレイしています、適度に休憩をして!",
playedTooMuch="かなり長くプレイしています! Techminoは楽しいですが、休憩を忘れずに!",
settingWarn="使用頻度のい設定変更しています。注意してください。",
settingWarn="使用頻度の少ない設定変更しています。注意してください。",
atkModeName={"ランダム","バッジ狙い","トドメ撃ち","カウンター"},
royale_remain="残り $1 人",
@@ -67,7 +67,7 @@ return{
ai_prebag="AIは通常のテトロミではない物やカスタマイズされたミ順に非対応です!",
ai_mission="AIはカスタムミッションに非対応です!",
switchSpawnSFX="ブロック出現時の効果音をONにしてください!",
needRestart="すべての変更を適用する為に再起動してください!",
needRestart="すべての変更を適用する為にリスタートしてください!",
loadError_errorMode="'$1'の読み込みに失敗: ロードモード'$2'が存在しません",
loadError_read="'$1'の読み込みに失敗: 読み込みに失敗しました",
@@ -95,8 +95,8 @@ return{
VKCurW="現在の配置",
noScore="スコア無し",
modeLocked="ロック",
unlockHint="ランクB以上を取得すると解放されるよ!",
modeLocked="未開放",
unlockHint="前のステージでランクB以上を取得すると解放されます!",
highScore="最高得点",
newRecord="新記録!",
@@ -251,6 +251,12 @@ return{
"(旋律星萤)",
"(T0722)",
"",
"イラスト",
"Miya",
"Mono",
"Xiaoya",
"葉枭",
"",
"ミュージカルデザイン",
"MrZ",
"柒栎流星",
@@ -414,7 +420,7 @@ return{
net_game={
ready="準備OK",
spectate="観戦",
cancel="待った",
cancel="キャンセル",
},
setting_game={
title="ゲームの設定",
@@ -475,7 +481,7 @@ return{
fullscreen="フルスクリーン",
bg_on="通常背景",
bg_off="背景を閉じる ",
bg_off="背景なし ",
bg_custom="カスタム背景",
blockSatur="ブロックデザイン",
@@ -508,7 +514,7 @@ return{
das="DAS",arr="ARR",
dascut="DASカット",
dropcut="自動ロックcut",
dropcut="自動設置カット",
sddas="ソフトドロップDAS",sdarr="ソフトドロップARR",
ihs="先行ホールド",
irs="先行回転",
@@ -569,7 +575,7 @@ return{
},
customGame={
title="カスタムプレイ",
defSeq="デフォルトのミノ順",
defSeq="通常のミノ順",
noMsn="ミッションなし",
drop="自然落下時間",
@@ -769,6 +775,7 @@ return{
['dig_40l']= {"掘り", "40L", "40ライン下穴を掘れ!"},
['dig_100l']= {"掘り", "100L", "100ライン下穴を掘れ!"},
['dig_400l']= {"掘り", "400L", "400ライン下穴を掘れ!"},
--['dig_quad_10l']= {"Dig", "TECHRASH 10L", "Dig 10 garbage lines using only techrash!"},
['drought_n']= {"ドラウト", "100L", "Iミ一切無し!"},
['drought_l']= {"ドラウト+", "100L", "わったーふ◯っく!"},
['marathon_n']= {"マラソン", "NORMAL", "加速する中で200ラインマラソン!"},
@@ -823,7 +830,6 @@ return{
['defender_l']= {"相殺王", "LUNATIC", "防御力を磨け!"},
['dig_h']= {"堀王", "HARD", "掘りを磨け"},
['dig_u']= {"堀王", "ULTIMATE", "掘りを磨け"},
['clearRush']= {"クリアラッシュ", "NORMAL", "All-Spinチュートリアル!\n[開発中]"},
['c4wtrain_n']= {"C4Wトレーニング", "NORMAL", "無限中開け"},
['c4wtrain_l']= {"C4Wトレーニング", "LUNATIC", "無限中開け"},
['pctrain_n']= {"パフェトレーニング", "NORMAL", "パフェの練習!"},

View File

@@ -238,6 +238,12 @@ return{
"(旋律星萤)",
"(T0722)",
"",
"Ilustrações",
"Miya",
"Mono",
"Xiaoya",
"葉枭",
"",
"Desenhos Musicais",
"MrZ",
"柒栎流星",
@@ -756,6 +762,7 @@ return{
['dig_40l']= {"Cave", "40L", "Cave 40 linhas de lixo."},
['dig_100l']= {"Cave", "100L", "Cave 100 linhas de lixo."},
['dig_400l']= {"Cave", "400L", "Cave 400 linhas de lixo."},
--['dig_quad_10l']= {"Dig", "TECHRASH 10L", "Dig 10 garbage lines using only techrash!"},
['drought_n']= {"Drought", "100L", "Sem peça I !"},
['drought_l']= {"Drought+", "100L", "WTF"},
-- ['stack_e']= {"Stack", "FÁCIL", "Pack them!"},
@@ -811,7 +818,6 @@ return{
['defender_l']= {"Defensor", "LUNÁTICO", "Prática de defensiva!"},
['dig_h']= {"Cavador", "DIFÍCIL", "Prática de cavar!"},
['dig_u']= {"Cavador", "ULTIMATE", "Prática de cavar!"},
-- ['clearRush']= {"Clear Rush", "NORMAL", "All-spin tutorial!\n[Under construction]"},
['c4wtrain_n']= {"Treinamento C4W", "NORMAL", "Combos infinitos."},
['c4wtrain_l']= {"Treinamento C4W", "LUNÁTICO", "Combos infinitos."},
['pctrain_n']= {"Treinamento PC", "NORMAL", "Modo simples de limpeza perfeita."},

View File

@@ -250,6 +250,12 @@ return{
"(旋律星萤)",
"(T0722)",
"",
"插图",
"Miya",
"Mono",
"Xiaoya",
"葉枭",
"",
"音乐设计",
"MrZ",
"柒栎流星",
@@ -769,10 +775,11 @@ return{
['dig_40l']= {"挖掘", "40L", "挖掘40行"},
['dig_100l']= {"挖掘", "100L", "挖掘100行"},
['dig_400l']= {"挖掘", "400L", "挖掘400行"},
['dig_eff_10l']= {"挖掘", "效率 10L", "挖掘10行用最少的件数"},
['dig_eff_40l']= {"挖掘", "效率 40L", "挖掘40行用最少的件数"},
['dig_eff_100l']= {"挖掘", "效率 100L","挖掘100行用最少的件数"},
['dig_eff_400l']= {"挖掘", "效率 400L","挖掘400行用最少的件数"},
['dig_eff_10l']= {"挖掘", "效率 10L", "用尽量少的块数挖掘10行"},
['dig_eff_40l']= {"挖掘", "效率 40L", "用尽量少的块数挖掘40行"},
['dig_eff_100l']= {"挖掘", "效率 100L", "用尽量少的块数挖掘100行"},
['dig_eff_400l']= {"挖掘", "效率 400L", "用尽量少的块数挖掘400行"},
['dig_quad_10l']= {"挖掘", "消四10L", "挖掘10行但只能消四"},
['drought_n']= {"干旱", "100L", "你I没了"},
['drought_l']= {"干旱+", "100L", "后 妈 发 牌"},
['marathon_n']= {"马拉松", "普通", "200行加速马拉松"},
@@ -830,7 +837,6 @@ return{
['defender_l']= {"防守", "疯狂", "防守练习"},
['dig_h']= {"挖掘", "困难", "挖掘练习"},
['dig_u']= {"挖掘", "极限", "挖掘练习"},
['clearRush']= {"清版竞速", "普通", "All-spin 入门教程\n施工中"},
['c4wtrain_n']= {"C4W练习", "普通", "无 限 连 击"},
['c4wtrain_l']= {"C4W练习", "疯狂", "无 限 连 击"},
['pctrain_n']= {"全清训练", "普通", "简易PC题库熟悉全清定式的组合"},
@@ -891,7 +897,7 @@ return{
"不知道有多少人玩游戏的时候会关心游戏是谁做的",
"部分手机系统开启震动会导致严重卡顿",
"彩色消除即将到来!",
"日本语",
"(日本语)",
"吃键?真的吗?建议回放看看到底按没按到,按了多久",
"打铁.mp4",
"大概还是有人会看tip的",
@@ -999,7 +1005,7 @@ return{
--计算机技术梗
"点击添加标题",
"对编程有真·兴趣推荐Lua安装无脑 语法简单 执行速度快 远离枯燥学校编程",
"对编程有真·兴趣推荐Lua安装无脑 语法简单 执行速度快 远离枯燥学校编程(",
"绝大多数按钮上的图标是调用Unicode私用区里的自制字符实现的",
"科技骨牌 你的创新式块堆栈业务技术管理器",
"锟斤拷锟斤拷锟斤拷",
@@ -1025,7 +1031,7 @@ return{
--其他游戏梗
"不要大力拍打或滑动哦",
"车万方块是一家暴论",
"车万方块是一家(暴论",
"单手也能玩!",
"感谢Orzmic为这个tip框提供修改意见",
"感谢Phigros提供(确信)部分tip模板",
@@ -1093,7 +1099,7 @@ return{
--豆知识
"豆知识[001]总共有400多条tip哦",
"豆知识[002]背景影响游玩?可以去设置关闭",
"豆知识[003]方块默认出现的方向都是重心在下哦如果你没乱动设置",
"豆知识[003]方块默认出现的方向都是重心在下哦(如果你没乱动设置",
"豆知识[004]各种画面细节选项都可以在设置里找到哦",
"豆知识[005]觉得移动速度太慢或太快手感不好快去设置调整DAS/ARR",
"豆知识[006]无聊翻翻设置是好习惯",
@@ -1115,7 +1121,7 @@ return{
"豆知识[022]不同人打40行最合适的方式不一样s1w/63/散消/s2w……",
"豆知识[023]不同游戏(甚至不同模式)中不同战术的强度都不一样,并不能简单的按顺序排名",
"豆知识[024]除了雨宫太阳还有很多高手玩家尤其是不在PPT里甚至强出不少",
"豆知识[025]触发游戏报错后日志文件会越来越大不过顶多几百K",
"豆知识[025]触发游戏报错后日志文件会越来越大(不过顶多几百K)",
"豆知识[026]打好块跟学习一样没有捷径,多练!",
"豆知识[027]打网络对战前请确认自己有一定的水平,不然会毫无游戏体验的",
"豆知识[028]大量使用开局定式的数据是不准的",
@@ -1158,7 +1164,7 @@ return{
"豆知识[065]三连块只有2种",
"豆知识[066]四连块总共7种",
"豆知识[067]五连块总共18种",
"豆知识[068]六连块总共有……?那不重要,不会做的大概",
"豆知识[068]六连块总共有……?那不重要,不会做的(大概",
"豆知识[069]上面这个不是录像,是机器人实时在玩",
"豆知识[070]使用固定堆叠方法达成20TSD难度很低",
"豆知识[071]手机玩也可以外接键盘哦(iOS除外)",
@@ -1210,7 +1216,7 @@ return{
--Frt评
"Frt评[01]“成天被夸赞‘好玩’的”",
"Frt评[02]“可以形成方块圈子小中心话题,同作者一起衍生一些概念与梗的”",
"Frt评[03]“论方块的软工意义(就算这么小个范围内,各种取舍蒙混翻车现象都总会以很易懂的方式出现",
"Frt评[03]“论方块的软工意义(就算这么小个范围内,各种取舍蒙混翻车现象都总会以很易懂的方式出现(",
"Frt评[04]“民间微创新”",
"Frt评[05]“民间音lè与图案”",
"Frt评[06]“民间游戏设计”",
@@ -1241,7 +1247,7 @@ return{
--Z
"Z哲[01]方块教会我们,合群了就会消失,……",
"Z哲[02]假如生活欺骗了你,不要悲伤,不要心急,还有块陪着你",
"Z哲[03]……,合群了就会消失,不合群世界毁灭指game over",
"Z哲[03]……,合群了就会消失,不合群世界毁灭(指game over",
"Z哲[04]……,合群了就会消失,但消失不代表没有意义",
"Z哲[05]没有量化就没有对比,……",
"Z哲[06]……,没有对比就没有伤害",

View File

@@ -1,860 +0,0 @@
return{
fallback='zh',
loadText={
loadSFX="加载音效",
loadSample="装载仪器样品",
loadVoice="加载语音包",
loadFont="加载字体",
loadModeIcon="加载模式图标",
loadMode="加载方式",
loadOther="加载其他资产",
finish="按任意按钮开始!",
},
sureQuit="再次按退出",
sureReset="再次按下可重置",
sureDelete="再次按可删除",
newDay="新的一天,新的开始!",
playedLong="你已经玩了很长时间了。一定要好好休息!",
playedTooMuch="你玩得太久了!玩方块游戏很有趣,但现在是休息的时候了。",
settingWarn="修改设置时,请小心!",
atkModeName={"随机的","徽章","击败","攻击者"},
royale_remain="剩余$1球员",
powerUp={[0]="+000%","+025%","+050%","+075%","+100%"},
cmb={nil,"1连击","2连击","3连击","4连击","5连击","6连击","7连击","8连击","9连击","10连击","11连击","12连击","13连击","14连击","15连击","16连击","17连击","18连击","19连击","巨大连击"},
spin="-旋转",
clear={"单身的","双重的","三倍的","技术崩溃","五角碰撞","六面体碎裂","七冲击","八度碰撞","非碰撞","十点崩溃","不祥","十二面体碰撞","三十年代的崩溃","十四烷","十五烷碰撞","十六进制","七烷酸","十八进制崩溃","非十进制碰撞","超级崩溃","冒牌货"},
cleared="$1 线",
mini="迷你",b2b="背靠背",b3b="背靠背靠背",
PC="清清楚楚",HPC="半完美清晰",
replaying="[重播]",
tasUsing="[TAS]",
stage="第$1阶段已完成",
great="伟大的",
awesome="令人惊叹的!",
almost="几乎!",
continue="继续前进!",
maxspeed="最高速度!",
speedup="加快",
missionFailed="错误清除",
speedLV="速度水平",
piece="",line="线",atk="攻击",eff="效率",
rpm="转速",tsd="热关断",
grade="等级",techrash="技术崩溃",
wave="波动",nextWave="下一个",
combo="联合体",maxcmb="最大连击",
pc="清清楚楚",ko="击倒对手",
win="",
lose="失去",
finish="完成",
gamewin="你赢了",
gameover="游戏结束",
pause="暂停",
pauseCount="暂停计数",
finesse_ap="完美无缺",
finesse_fc="全组合",
page="页:",
cc_fixed="CC与固定序列不兼容",
cc_swap="CC与交换保持模式不兼容",
ai_prebag="AI与具有非四格拼板的自定义序列不兼容",
ai_mission="AI与自定义使命不兼容",
switchSpawnSFX="请打开繁殖特技效果",
needRestart="请重试以使更改生效",
loadError_errorMode="'$1' 加载失败:无加载模式 '$2'",
loadError_read="'$1' 加载失败:读取失败",
loadError_noFile="'$1' 加载失败:没有文件",
loadError_other="'$1' 加载失败:$2",
loadError_unknown="'$1' 加载失败:原因未知",
saveError_duplicate="'$1' 保存失败:文件名重复",
saveError_encode="'$1' 保存失败:编码失败",
saveError_other="'$1' 保存失败:$2",
saveError_unknown="'$1' 保存失败:原因未知",
copyDone="收到了!",
saveDone="保存的数据",
exportSuccess="成功导出",
importSuccess="导入成功",
dataCorrupted="数据损坏",
pasteWrongPlace="贴错地方了?",
noFile="找不到文件",
nowPlaying="现在播放:",
VKTchW="触重",
VKOrgW="起始重量",
VKCurW="现在的位置重量",
noScore="还没有分数",
modeLocked="锁定",
unlockHint="在先决条件模式下达到B级或更高级别以解锁",
highScore="个人最好成绩",
newRecord="新纪录!",
replayBroken="无法加载重播",
getNoticeFail="获取通知失败",
oldVersion="版本$1现已推出",
needUpdate="需要更新版本!",
versionNotMatch="版本不匹配!",
notFinished="马上就来!",
jsonError="JSON错误",
noUsername="请指定用户名",
wrongEmail="无效电邮地址",
noPassword="输入您的密码",
diffPassword="密码不匹配",
registerRequestSent="已发送注册请求",
registerOK="注册成功!",
loginOK="您现在已登录!",
accessOK="允许访问",
wsConnecting="双向通信连接",
wsFailed="双向通信连接失败",
wsClose="双向通信已关闭:",
netTimeout="网络连接超时",
onlinePlayerCount="在线的",
createRoomSuccessed="房间成功创建!",
started="",
joinRoom="加入了房间",
leaveRoom="离开了房间",
ready="准备好的",
connStream="连接",
waitStream="等待",
spectating="观赛",
chatRemain="在线的",
chatStart="------日志开始------",
chatHistory="------下面是新消息------",
keySettingInstruction="按绑定键\n退出:取消\n退格:删除",
customBGhelp="将图像文件拖放到此处以应用自定义背景",
customBGloadFailed="不支持自定义背景的图像格式",
errorMsg="技术米诺遇到问题,需要重新启动。\n您可以将错误日志发送给开发人员。",
tryAnotherBuild="[无效UTF-8]如果您在Windows上请尝试下载Techmino-win32或Techmino-win64(与您现在使用的不同)",
modInstruction="选择你的修改器\n多重器官衰竭允许您更改游戏。\n它们也可能以奇怪的方式破坏游戏。\n请注意,多重器官衰竭将导致您的游戏取消排名!",
modInfo={
next="下一步\n减少下一步的数量",
hold="保持\n减少保持件的数量",
hideNext="隐藏的下一个\n在下一个队列中包含特定数量的碎片",
infHold="无限持有\n允许您无限地持有碎片",
hideBlock="隐藏当前工件:\n使您控制的工件不可见",
hideGhost="无重影\n使鬼魂片段不可见",
hidden="隐藏锁定的片段\n使锁定的片段褪色",
hideBoard="隐藏板\n局部或完全隐藏字段",
flipBoard="翻转板\n翻转或旋转场",
dropDelay="重力\n以帧/块为单位降低下降速度",
lockDelay="锁定延迟\n以帧为单位减少锁定延迟",
waitDelay="繁殖延迟\n以帧为单位减少繁殖延迟",
fallDelay="线路清除延迟\n以帧为单位减少线路清除延迟",
life="寿命\n更改附加寿命的初始数量",
forceB2B="仅背靠背\n当背靠背仪表下降到初始线以下时,停止游戏",
forceFinesse="仅使用技巧\n在出现任何技巧错误的情况下使用该游戏",
tele="远程传送\n强制0直连式存储和0抗共振环",
noRotation="无旋转\n不允许工件旋转",
noMove="无移动\n禁止左右移动",
customSeq="随机发生器\n为块序列生成随机发生器",
pushSpeed="垃圾速度\n降低垃圾线(块/帧)的上升速度",
boneBlock="[]\n使用[]块播放",
},
pauseStat={
"时间:",
"按键/旋转/保持:",
"块:",
"行/挖掘:",
"攻击/数字攻击:",
"收到:",
"清除:",
"旋转:",
"背靠背/背靠背靠背/个人电脑/高性能计算机:",
"技巧:",
},
radar={"很棒","对象文件格式","攻击","发送","自给能探测器","挖掘"},
radarData={"下午","认证确定包标记","高级电源管理","冲击脉冲","下午好","每分钟衰变"},
stat={
"时代启动:",
"播放计数:",
"播放时间:",
"按键/旋转/保持:",
"块/行/攻击.:",
"记录/记录/分类:",
"挖掘/挖掘:",
"效率/挖掘效率:",
"背靠背/背靠背靠背:",
"个人电脑/高性能计算机:",
"技巧错误/技巧率:",
},
aboutTexts={
"这只是一个*普通的*积木堆垛机。真的,就这样",
"灵感来自C2/IO/JS/WWC/KOS等",
"",
"由LÖVE提供动力",
"任何建议或错误报告都将不胜感激!",
"确保只从官方渠道获得游戏,",
"因为如果你在别处找到它,我们无法确保你的安全",
"作者不对任何修改负责",
FNNS and"/"or"虽然游戏是免费的,但我们感谢捐款。",
FNNS and"/"or"查看Zictionary以了解更多信息",
},
staff={
"最初由Z先生",
"电子邮件: 1046101471@qq.com",
"",
"编程、开发和设计的",
"Z先生",
"",
"使用了音乐",
"蜂鸣器",
"FL工作室",
"FL移动",
"逻辑专业X",
"",
"[POWERED BY LÖVE]",
"",
"程序",
"Z先生",
"粒子G",
"皮恩",
"特雷伯尔",
"(呵呵)",
"(芬恩·坦佐)",
"(不是机器人)",
"(用户670)",
"",
"集线器CI外包装及后端",
"粒子G",
"特雷伯尔",
"劳伦斯刘",
"尼亚尔",
"废话",
"呵呵",
"",
"视觉设计,用户界面及用户体验",
"Z先生",
"尼亚尔",
"蛋白激酶G抑制剂",
"氟化钪",
"(旋律星萤)",
"(T0722)",
"",
"音乐设计",
"Z先生",
"柒栎流星",
"ERM",
"特雷伯尔",
"蛋白激酶G抑制剂",
"(T0722)",
"(以太)",
"(黑利)",
"",
"音效和语音包",
"米娅",
"小亚",
"东西",
"Z先生",
"特雷伯尔",
"",
"翻译和本土化",
"用户670",
"马特·马尤加",
"",
"法克先生",
"氟化钪",
"蛋白激酶G抑制剂",
"不是机器人",
"萨库尔",
"爱伦",
"幽灵3383",
"",
"性能",
"电动283",
"河北麦",
"",
"特别鸣谢",
"飞天",
"大真",
"不是机器人",
"思竣",
"余浩7370",
"放屁者",
"茶管",
"蕴空之灵",
"T9972",
"无用户名8",
"安德鲁4043",
"中小型银行-中小型银行",
"泡霍",
"暗示",
"浩然太阳",
"天灵刘",
"滑稽2369",
"伊提克",
"拉希动漫",
"[所有其他的测试人员]",
"…和你!",
},
used=[[
使用工具:
Beepbox
Goldwave
GFIE
FL Mobile
使用库:
Cold_Clear [MinusKelvin]
json.lua [rxi]
profile.lua [itraykov]
]],
support="供养作者!",
WidgetText={
main={
offline="单人",
qplay="最后玩",
online="多人游戏",
custom="海关",
setting="设置",
stat="统计",
dict="四联词典",
replays="重播",
},
main_simple={
sprint="冲刺",
marathon="马拉松赛跑",
},
mode={
mod="多重器官衰竭(F1)",
start="开始",
},
mod={
title="多重器官衰竭",
reset="重置(制表)",
unranked="未分级",
},
pause={
setting="设置(S)",
replay="重播(P)",
save="保存(O)",
resume="恢复(esc)",
restart="重试(R)",
quit="退出(Q)",
tas="TAS(T)",
},
net_menu={
league="技术联盟",
ffa="游离脂肪酸",
rooms="房间",
logout="注销",
},
net_league={
match="找到匹配项",
},
net_rooms={
password="密码",
refreshing="清新的房间",
noRoom="现在没有房间了...",
refresh="刷新",
new="新房间",
join="参加",
},
net_newRoom={
title="房间配置",
roomName="房间名称(默认为用户名的房间)",
password="密码",
description="房间描述",
life="生活",
pushSpeed="推进速度",
garbageSpeed="垃圾速度",
visible="可见度",
freshLimit="锁定重置限制",
fieldH="田间高度",
bufferLimit="缓冲区限制",
heightLimit="高度限制",
drop="下降延迟",
lock="锁定延迟",
wait="进入延迟",
fall="线路延迟",
hang="毁灭延迟",
hurry="是打扰吗",
capacity="容量",
create="创造",
ospin="O型自旋",
fineKill="100%精巧",
b2bKill="没有背靠背中断",
lockout="锁定时失败",
easyFresh="正常锁复位",
deepDrop="深滴",
bone="骨块",
eventSet="规则集",
holdMode="持有模式",
nextCount="下一个",
holdCount="持有",
infHold="无限持有",
phyHold="原地等待",
},
net_game={
ready="准备好的",
spectate="凝视",
cancel="取消准备",
},
setting_game={
title="游戏设置",
graphic="←视频",
sound="声音→",
style="风格",
ctrl="控制设置",
key="键映射",
touch="触摸设置",
showVK="显示虚拟密钥",
reTime="启动延迟",
RS="轮换制",
menuPos="菜单按钮位置",
sysCursor="使用系统游标",
autoPause="心不在焉",
autoSave="自动保存新的最佳",
autoLogin="启动时自动登录",
simpMode="简单化风格",
},
setting_video={
title="视频设置",
sound="←声音",
game="游戏→",
block="绘图块",
smooth="光滑下降",
upEdge="三维积木",
bagLine="袋式分离器",
ghostType="鬼型",
ghost="鬼魂",
center="居中",
grid="网格",
lineNum="线路号",
lockFX="锁定外汇",
dropFX="下降外汇",
moveFX="移动外汇",
clearFX="外汇结算",
splashFX="飞溅外汇",
shakeFX="磁场摆动",
atkFX="攻击外汇",
frame="渲染帧率(%)",
text="行清除弹出窗口",
score="分数弹出",
bufferWarn="缓冲区警报",
showSpike="尖峰计数器",
nextPos="繁殖预览",
highCam="屏幕滚动",
warn="危险警报",
clickFX="单击外汇",
power="蓄电池信息",
clean="快速绘制",
fullscreen="全屏",
bg_on="正常背景",
bg_off="没有背景",
bg_custom="应用自定义背景",
blockSatur="块饱和",
fieldSatur="场饱和",
},
setting_sound={
title="声音设置",
game="←游戏",
graphic="视频→",
mainVol="主卷",
bgm="血糖监测",
sfx="特技效果",
stereo="立体声",
spawn="发出声音",
warn="警告",
vib="振动",
voc="声音",
autoMute="不聚焦时保持沉默",
fine="精细度误差",
sfxPack="特技效果包",
vocPack="语音包",
apply="申请",
},
setting_control={
title="控制设置",
preview="预览",
das="直连式存储",arr="抗共振环",
dascut="直连式存储切",
dropcut="自动锁定切割",
sddas="软滴直连式存储",sdarr="软降抗共振环",
ihs="初始持有",
irs="初始旋转",
ims="初始运动",
},
setting_key={
a1="向左移动",
a2="向右方移动",
a3="右转",
a4="向左旋转",
a5="旋转180°",
a6="硬滴",
a7="软滴",
a8="持有",
a9="功能1",
a10="功能2",
a11="立即离开",
a12="即时权利",
a13="声波滴",
a14="向下1",
a15="下降4",
a16="下降10",
a17="左撇子",
a18="右转",
a19="左桑吉",
a20="右桑吉",
restart="重试",
},
setting_skin={
skinSet="块状表皮",
title="布局设置",
skinR="重置颜色",
faceR="重置目录",
},
setting_touch={
default="违约",
snap="捕捉到网格",
size="尺寸",
shape="形状",
},
setting_touchSwitch={
b1= "向左移动:", b2="右移:", b3="右转:", b4="向左旋转:",
b5= "旋转180°:", b6="硬滴:", b7="软跌落:", b8="持有:",
b9= "职能1:", b10="职能2:", b11="立即离开:",b12="即时权利:",
b13="声波滴:", b14="下降1:", b15="下降4:", b16="下降10:",
b17="左下降:", b18="右下角:",b19="左桑吉:", b20="右桑吉:",
norm="正常",
pro="专业的",
icon="偶像",
sfx="特技效果",
vib="振动",
alpha="阿尔法",
track="自动跟踪",
dodge="自动闪避",
},
customGame={
title="定制游戏",
defSeq="默认顺序",
noMsn="无使命",
drop="下降延迟",
lock="锁定延迟",
wait="进入延迟",
fall="线路延迟",
hang="毁灭延迟",
hurry="是打扰吗",
bg="背景",
bgm="音乐",
copy="复制字段+序号+使命",
paste="粘贴字段+序号+使命",
play_clear="清场",
play_puzzle="开始拼图",
reset="复位(del)",
advance="更多(A)",
mod="多重器官衰竭(F1)",
field="编辑字段(F)",
sequence="编辑序列(S)",
mission="编辑使命(M)",
eventSet="规则集",
holdMode="持有模式",
nextCount="下一个",
holdCount="持有",
infHold="无限持有",
phyHold="原地等待",
fieldH="田间高度",
visible="可见度",
freshLimit="锁定重置限制",
opponent="对手",
life="生活",
pushSpeed="推进速度",
garbageSpeed="垃圾速度",
bufferLimit="缓冲区限制",
heightLimit="高度限制",
ospin="O型自旋",
fineKill="100%精巧",
b2bKill="没有背靠背中断",
lockout="锁定时失败",
easyFresh="正常锁复位",
deepDrop="深滴",
bone="骨块",
},
custom_field={
title="定制游戏",
subTitle="领域",
any="擦除",
smart="聪明的",
push="添加行(K)",
del="中线(L)",
demo="不要展示×",
newPg="新页(N)",
delPg="德尔佩奇(M)",
prevPg="前页",
nextPg="下一页",
},
custom_sequence={
title="定制游戏",
subTitle="序列",
sequence="序列",
},
custom_mission={
title="定制游戏",
subTitle="使命",
_1="1.",_2="2.",_3="3.",_4="4.",
any1="any1",any2="any2",any3="any3",any4="任何4",
PC="个人电脑",
Z1="Z1",S1="S1",J1="J1",L1="L1",T1="T1",O1="O1",I1="I1",
Z2="Z2",S2="S2",J2="J2",L2="L2",T2="T2",O2="氧气",I2="I2",
Z3="Z3",S3="S3",J3="J3",L3="L3",T3="T3",O3="臭氧",I3="I3",
O4="O4",I4="I4",
mission="使命",
},
about={
staff="工作人员",
his="历史",
legals="法律",
},
dict={
title="四联词典",
},
stat={
path="打开数据文件夹",
save="数据管理",
},
music={
title="音乐培训室",
arrow="",
now="现在播放:",
bgm="血糖监测",
sound="特技效果",
},
launchpad={
title="特技效果",
bgm="血糖监测",
sfx="特技效果",
voc="声音",
music="音乐培训室",
label="标签",
},
login={
title="登录",
register="登记",
email="电子邮件地址",
password="密码",
showEmail="显示电子邮件",
keepPW="记得我吗",
login="登录",
},
register={
title="登记",
login="登录",
username="用户名",
email="电子邮件地址",
password="密码",
password2="重新输入密码",
register="登记",
registering="等待回应...",
},
account={
title="帐户",
},
app_15p={
color="颜色",
invis="英维斯",
slide="滑动",
pathVis="显示路径",
revKB="逆转",
},
app_schulteG={
rank="大小",
invis="英维斯",
disappear="隐藏",
tapFX="Tap外汇",
},
app_AtoZ={
level="水平仪",
keyboard="键盘",
},
app_2048={
invis="英维斯",
tapControl="抽头控制",
skip="跳转",
},
app_ten={
next="下一个",
invis="英维斯",
fast="快速的",
},
app_dtw={
color="颜色",
mode="模式",
bgm="血糖监测",
arcade="游乐中心",
},
app_link={
invis="英维斯",
},
savedata={
export="导出到剪贴板",
import="从剪贴板导入",
unlock="进展",
data="统计数据",
setting="设置",
vk="虚拟密钥布局",
couldSave="云存储(注意:测试)",
notLogin="[登录访问云保存]",
upload="上传到云",
download="从云端下载",
},
},
modes={
['sprint_10l']= {"冲刺", "10升", "清除10行"},
['sprint_20l']= {"冲刺", "20升", "清除20行"},
['sprint_40l']= {"冲刺", "40升", "清除40行"},
['sprint_100l']= {"冲刺", "100升", "清除100行"},
['sprint_400l']= {"冲刺", "400升", "清除400行"},
['sprint_1000l']= {"冲刺", "1000升", "清除1000行"},
['sprintPenta']= {"冲刺", "五联骨牌", "40升配18个五分钟"},
['sprintMPH']= {"冲刺", "每小时英里数", "无记忆\n无先前\n无记忆"},
['dig_10l']= {"挖掘", "10升", "挖10条垃圾线"},
['dig_40l']= {"挖掘", "40升", "挖40条垃圾线"},
['dig_100l']= {"挖掘", "100升", "挖100条垃圾线"},
['dig_400l']= {"挖掘", "400升", "挖400条垃圾线"},
['dig_eff_10l']= {"挖掘", "管理 10升", "挖掘10条数量最少的线路"},
['dig_eff_40l']= {"挖掘", "管理 40升", "挖掘40条数量最少的线路"},
['dig_eff_100l']= {"挖掘", "管理 100升", "挖掘100条数量最少的线路"},
['dig_eff_400l']= {"挖掘", "管理 400升", "挖掘400条数量最少的线路"},
['drought_n']= {"干旱", "100升", "没有工装"},
['drought_l']= {"干旱+", "100升", "搞什么呀"},
['marathon_n']= {"马拉松赛跑", "正常", "200线加速马拉松"},
['marathon_h']= {"马拉松赛跑", "硬的", "200线高速马拉松"},
['solo_e']= {"战争", "容易", "打败AI"},
['solo_n']= {"战争", "正常", "打败AI"},
['solo_h']= {"战争", "硬的", "打败AI"},
['solo_l']= {"战争", "疯子", "打败AI"},
['solo_u']= {"战争", "终极", "打败AI"},
['techmino49_e']= {"技术49", "容易", "49人战斗\n最后一个站着的人获胜"},
['techmino49_h']= {"技术49", "硬的", "49人战斗\n最后一个站着的人获胜"},
['techmino49_u']= {"技术49", "终极", "49人战斗\n最后一个站着的人获胜"},
['techmino99_e']= {"科技99", "容易", "99人战斗\n最后一个站着的人获胜"},
['techmino99_h']= {"科技99", "硬的", "99人战斗\n最后一个站着的人获胜"},
['techmino99_u']= {"科技99", "终极", "99人战斗\n最后一个站着的人获胜"},
['round_e']= {"回合制", "容易", "轮流玩AI"},
['round_n']= {"回合制", "正常", "轮流玩AI"},
['round_h']= {"回合制", "硬的", "轮流玩AI"},
['round_l']= {"回合制", "疯子", "轮流玩AI"},
['round_u']= {"回合制", "终极", "轮流玩AI"},
['master_n']= {"主人", "正常", "适合20G初学者"},
['master_h']= {"主人", "硬的", "20克的职业选手"},
['master_m']= {"主人", "M21", "20克大师赛"},
['master_final']= {"主人", "最终", "20G及以上"},
['master_ph']= {"主人", "幻觉", ""},
['master_ex']= {"主人", "额外的", "比瞬间还短的永恒"},
['master_instinct']={"主人", "情绪", "步行的秘密部分"},
['strategy_e']= {"策略堆叠", "简单", "20G堆叠中速决策练习"},
['strategy_h']= {"策略堆叠", "困难", "20G堆叠快速决策练习"},
['strategy_u']= {"策略堆叠", "极限", "20G堆叠极速决策练习"},
['strategy_e_plus']={"策略堆叠", "简单", "20G堆叠中速决策练习"},
['strategy_h_plus']={"策略堆叠", "困难", "20G堆叠快速决策练习"},
['strategy_u_plus']={"策略堆叠", "极限", "20G堆叠极速决策练习"},
['blind_e']= {"看不见的", "一半", "对于新手来说"},
['blind_n']= {"看不见的", "全部", "对于中间产品"},
['blind_h']= {"看不见的", "突然", "对于有经验的人"},
['blind_l']= {"看不见的", "突然+", "对于专业人士"},
['blind_u']= {"看不见的", "", "你准备好了吗?"},
['blind_wtf']= {"看不见的", "世界跆拳道联盟", "你还没准备好"},
['classic_e']= {"经典", "容易", "80年代的低速娱乐"},
['classic_h']= {"经典", "困难", "80年代的中速娱乐"},
['classic_u']= {"经典", "终极", "80年代的高速娱乐"},
['survivor_e']= {"幸存者", "容易", "你能活多久?"},
['survivor_n']= {"幸存者", "正常", "你能活多久?"},
['survivor_h']= {"幸存者", "硬的", "你能活多久?"},
['survivor_l']= {"幸存者", "疯子", "你能活多久?"},
['survivor_u']= {"幸存者", "终极", "你能活多久?"},
['attacker_h']= {"攻击者", "硬的", "练习你的进攻技巧!"},
['attacker_u']= {"攻击者", "终极", "练习你的进攻技巧!"},
['defender_n']= {"防守者", "正常", "练习你的防守技巧!"},
['defender_l']= {"防守者", "疯子", "练习你的防守技巧!"},
['dig_h']= {"钻机", "硬的", "挖掘练习!"},
['dig_u']= {"钻机", "终极", "挖掘练习!"},
['clearRush']= {"清晰的冲", "普通", "所有旋转教程\n[在建]"},
['c4wtrain_n']= {"C4W训练", "正常", "无限组合"},
['c4wtrain_l']= {"C4W训练", "疯子", "无限组合"},
['pctrain_n']= {"电脑培训", "正常", "完美清晰的实践"},
['pctrain_l']= {"电脑培训", "疯子", "更难的完美清晰的练习"},
['pc_n']= {"电脑挑战", "正常", "让电脑在100线以内"},
['pc_h']= {"电脑挑战", "硬的", "让电脑在100线以内"},
['pc_l']= {"电脑挑战", "疯子", "让电脑在100线以内"},
['pc_inf']= {"无尽个人电脑挑战", "", "尽可能多地获取个人电脑"},
['tech_n']= {"技术人员", "正常", "试着保持背靠背的链条!"},
['tech_n_plus']= {"技术人员", "正常+", "仅限旋转和个人电脑"},
['tech_h']= {"技术人员", "硬的", "试着保持背靠背的链条!"},
['tech_h_plus']= {"技术人员", "硬的+", "仅限旋转和个人电脑"},
['tech_l']= {"技术人员", "疯子", "试着保持背靠背的链条!"},
['tech_l_plus']= {"技术人员", "疯子+", "仅限旋转和个人电脑"},
['tech_finesse']= {"技术人员", "手腕", "没有技巧错误!"},
['tech_finesse_f']= {"技术人员", "技巧+", "没有正常的清除和技巧错误!"},
['tsd_e']= {"热关断挑战赛", "容易", "只有T-Spin双打"},
['tsd_h']= {"热关断挑战赛", "硬的", "只有T-Spin双打"},
['tsd_u']= {"热关断挑战赛", "终极", "只有T-Spin双打"},
['backfire_n']= {"适得其反", "正常", "挡住回火的垃圾管道"},
['backfire_h']= {"适得其反", "硬的", "挡住回火的垃圾管道"},
['backfire_l']= {"适得其反", "疯子", "挡住回火的垃圾管道"},
['backfire_u']= {"适得其反", "终极", "挡住回火的垃圾管道"},
['sprintAtk']= {"冲刺", "100次攻击", "发送100行"},
['sprintEff']= {"竞速", "效率", "在40行内发动更多攻击"},
['zen']= {"禅宗", "200", "没有时间限制的200线跑步"},
['ultra']= {"Ultra", "额外", "2分钟的得分进攻"},
['infinite']= {"无限", "", "这只是一个沙箱"},
['infinite_dig']= {"无限:挖掘", "", "挖,挖,挖"},
['marathon_inf']= {"马拉松", "无尽", "无尽马拉松"},
['custom_clear']= {"习俗", "正常"},
['custom_puzzle']= {"习俗", "令人费解的"},
},
}

View File

@@ -250,6 +250,12 @@ return{
"(旋律星萤)",
"(T0722)",
"",
"插圖",
"Miya",
"Mono",
"Xiaoya",
"葉枭",
"",
"音樂設計",
"MrZ",
"柒栎流星",
@@ -772,7 +778,8 @@ return{
['dig_eff_10l']= {"挖掘", "效率 10L", "挖掘10行用最少的件數"},
['dig_eff_40l']= {"挖掘", "效率 40L", "挖掘40行用最少的件數"},
['dig_eff_100l']= {"挖掘", "效率 100L","挖掘100行用最少的件數"},
['dig_eff_400l']= {"挖掘", "效率 400L","挖掘400行用最少的件數"},
['dig_eff_400l']= {"挖掘", "效率 400L","挖掘400行用最少的件數"},
['dig_quad_10l']= {"挖掘", "消四10L", "挖掘10行但只能消四"},
['drought_n']= {"乾旱", "100L", "你I沒了"},
['drought_l']= {"乾旱+", "100L", "後 媽 發 牌"},
['marathon_n']= {"馬拉松", "普通", "200行加速馬拉松"},
@@ -831,7 +838,6 @@ return{
['defender_l']= {"防守", "瘋狂", "防守練習"},
['dig_h']= {"挖掘", "困難", "挖掘練習"},
['dig_u']= {"挖掘", "極限", "挖掘練習"},
['clearRush']= {"清版競速", "普通", "All-spin 入門教程\n施工中"},
['c4wtrain_n']= {"C4W練習", "普通", "無 限 連 擊"},
['c4wtrain_l']= {"C4W練習", "瘋狂", "無 限 連 擊"},
['pctrain_n']= {"全清訓練", "普通", "簡易PC題集熟悉全清定式的組合"},

View File

@@ -7,7 +7,8 @@ Gameplay:
Play until the end or achieve the levels goal to win.
Rotation system:
Uses TRS (Techmino Rotation System) by default. The game allows players to choose other commonly used rotation systems (generally unnecessary)
Uses TRS (Techmino Rotation System) by default.
The game allows players to choose other commonly used rotation systems (generally unnecessary)
Spin detection:
Satisfies “3-corner” rule +2 points
@@ -19,31 +20,35 @@ Spin detection:
Attack system:
Special clear:
A special clear refers to a situation where you perform a spin, Techrash (or clear more than four lines at a time), PC, or HPC. Special clears can elevate the B2B gauge.
A special clear refers to a situation where you perform a spin, Techrash (or clear more than four lines at a time), PC, or HPC.
Special clears can elevate the B2B gauge.
Super clear:
A super clear refers to a situation where you perform a special clear when the B2B gauge is not empty.
Special clears (spins):
sends (lines cleared ×2) attack,
- B2B sends extra 1/1/2/4/8 for Spin Single/Double/Triple/Techrash/Techrash+
- B2B2B sends (lines cleared ×0.5), and +1 extra blocking
- B2B2B sends (lines cleared ×0.5) on top of that of B2B, and +1 extra blocking
- Minis reduces the attack to 25% (×0.25 multiplier)
Special clears (Techrash/techrash+ without spins):
- B2B sends 1 additional line
- B2B2B will have an attack boost of 50% and +1 extra blocking
Non-special clears:
send (attack-0.5) attack.
Combos (REN):
The numbers of the combos are equal to (the numbers you clear lines consecutively 1). All damage above (except attack from PC/HPC) will be given a (combo ×25%) bonus, or (combo ×15%) for Single clear (capped at 12 combos), +1 more attack for 3 Combo or more.
The numbers of the combos are equal to (the numbers you clear lines consecutively 1) (capped at 12 combos).
All damage above (except attack from PC/HPC) gets a (combo ×25%) bonus, or (combo ×15%) for Single clear.
+1 more attack for 3 Combo or more.
Hemi Perfect Clear (a P.C. “with blocks left below.” If just one line cleared, the remaining blocks must not be player-placed):
- Attack +4, Extra Blocking +2
Perfect Clear (All Clear):
- Sends 8 to 16 (increments within a game by 2 for every PC) OR every other damage above, whichever is higher, and +2 extra blocking.
- Sends 8 to 16 (increments within a game by 2 for every PC) OR every other damage above, whichever is higher.
- +2 extra blocking.
After calculating the above, the damage value will be rounded down and sent.
@@ -97,4 +102,4 @@ Custom mode:
empty cells can be in any state;
regular colored cells have to be made of the corresponding block;
garbage-colored cells can be any block but not air.
Once you make the shape, you will win.
Once you make the shape, you will win.

View File

@@ -1,62 +1,126 @@
ゲームプレイ:
システムから与えられ全7種類のテトロミ
(4ブロックで構成されたピース) をプレイヤーが操作します,
(主に左右移動と90°, 180°, 270°回転)。
各行ブロックで埋め尽くされるとその行のブロックが消えます。
相手が居る場合, ラインの消し方等で攻撃と火力が異なります。
勝利する為にはそのレベルの目標達成もしくは最後までプレイする必要があります。
システムから与えられ全7種類のテトロミ
(4ブロックで構成されたピース) をプレイヤーが操作します
(主に左右移動と90°180°270°回転を用いて)。
各行ブロックが揃うとその行のブロックが消えます。
相手が居る場合ラインの消し方等で攻撃と火力が異なります。
クリアする為にはそのレベルの目標達成もしくは最後までプレイする必要があります。
回転システム:
回転システム:
初期設定はTRS (Techmino Rotation System) で設定されています。
プレイヤーは他の一般的な回転システムも使う事ができます (基本的には変えなくても大丈夫)。
スピンの検出:
「3コーナ」ルールを満たした時 +2点
「インモービル (Immobile)」 ルールを満たした時 +2点
- 上のどちらかを満たした時, スピンが確定します。
- 上のどちらかを満たした時スピンが確定します。
もし回転システムがキックテーブルから2番チェック (2nd check) を採用していなかった場合 +1点
- もしスピンの合計点が2点しかない場合は「ミニ」扱いになりますがS, Z, J, L, Tのいずれかで, ラインクリア時にそのミノを全て消せなかった場合のみ
もし回転システムがキックテーブルから2番目のチェック (2nd check) を採用していなかった場合 +1点
- もしスピンの合計点が2点しかない場合は「ミニ」扱いになります。
ただしこれは、ミがS,Z,J,L,Tのいずれかで、line消去の時にそのミのブロックが全部消せなかった場合のみ。
Attack system:
[TODO]
Back to Back (B2B) gauge:
[TODO]
攻撃システム:
Special clear:
Special clearとは、spin、techrash(もしくは一度に4段以上のline消去)、PC、HPCのどれかを行うことです。
Special clearを行うとB2Bゲージが上昇します。
Super clear:
Super clearとは、B2Bゲージがある状態でSpecial clearを行うことです。
Special clears (spin):
消したline数の2倍の火力を送ります、
- B2Bは、spin single/doubleで1line、spin tripleで2line、spin techrashで4line、spin techrash+で8lineを火力に加算します。
- B2B2Bは、消したline数の半分を火力に加算し、更に+1lineを相殺専用火力に加算します。
- またspinの場合は、B2BとB2B2Bは両方付与されます。
- ミニは、火力を25%に減少させます。(倍率0.25倍)
Special clears (spin以外のtechrash/techrash+):
- B2Bは、火力に+1lineします。
- B2B2Bは、火力を50%上昇させ、更に+1lineを相殺専用火力に加算します。
Non-special clears:
火力-0.5段を送ります。
ren:
ren数は、連続してline消去した回数-1回です。(上限12ren、13ren以上行っても総ren数12renと処理されます。)
1line消しの時に総ren数*15%(1+ren*0.15)、2line以上の時に総ren数*25%(1+ren*0.25)を乗算します。
更に合計3line以上消していた場合、火力に+1line加算します。
Half Perfect Clear (下にブロックが残っている状態でのPC、1line消去した場合はプレイヤーが置いたブロックが残ってはいけない):
- 火力に+4line加算し、更に+2lineを相殺専用火力に加算します。
Perfect Clear (全消し):
- PC火力の8~16line(PCを取る度に2ずつ上昇)とそれ以外の火力を比較、火力が高い方を選択し。
- 更に+2lineを相殺専用火力に加算します。
これらは、計算した後小数点以下を切り捨てて火力を送ります。
例:2ren目にB2B2B S-spin doubleでHPCを取った場合
- SSD =>火力+4line
- B2B =>火力+1line
- B2B2B=>(double/2)=1で火力+1line、更に相殺専用火力+1line
- 2ren =>(1+2ren*25%)=1.5、更に3line以上消しているので火力+1line、よって{(4+1+1)*1.5+1=10}で火力10line
- HPC =>火力+4line、更に相殺専用火力+2line
合計 火力:14line 相殺専用火力:3line
Back to Back (B2B)ゲージ:
B2Bゲージは、0~1,000まであります。Special clearをした時にゲージが50以上ならB2B、800以上ならB2B2Bが付与されます。
ライン消去:
Special clears:
- spin single/double/triple/techrash/techrash+を行った場合、それぞれ+50/100/180/800/1,000ゲージが上昇します。
(ただしミニの場合は、×50%減少します。)
- techrash/techrash+の場合は、それぞれ+150/200/...ゲージが上昇します。
- 1ゲーム中に4lineより多く消した状態でPCを行った場合、+800ゲージが上昇します。
- HPCを行った場合、+100ゲージが上昇します。
- 通常のline消去を行った場合、ゲージが250減少します。
line消去なし:
- 空spinの場合+20ゲージが上昇します。(なおこの方法では、B2Bゲージが800を超えることはありません。)
スコアシステム:
上手くプレイすれば, スコアも上がります。
上手くプレイすれば スコアも上がります。
攻撃遅延システム:
ダブル, トリプルの攻撃が一番早く効果が出ます;
その次にゆっくりとした攻撃を送るTechrash, スピン等, の効果が出ます;
高いコンボ数の攻撃が飛躍的に遅いです;
B2BやB2B2B等は, 送るライン数が増えれば増えるほど遅くなります;
ミニの攻撃は攻撃自体の効果を大幅に遅らせます。
2,3line消去の攻撃が一番早く下穴になります
Techrashスピン等が二番目に早く下穴になります
高いrenが付くと飛躍的に遅くなります。
B2BやB2B2Bは、送るライン数が増えれば増えるほど遅くなります
ミニの攻撃は、下穴になるのを大幅に遅らせます。
カウンター:
攻撃を送る際, もしお邪魔ゲージにお邪魔がある場合,
追加相殺がまず使われ, その次に攻撃体とお邪魔を1対1の割合でお邪魔の相殺に当てます。
使わなかった追加相殺は破棄され、残った攻撃のパワーは相手に送られます。
相殺:
攻撃を送る際、ダメージゲージに火力がある場合
最初に相殺専用火力が相殺に当てられ、その次に攻撃体とダメージゲージにある火力を1対1の割合で相殺します。
相殺を終えた後、相殺専用火力が余っていた場合は、その分破棄されます。
そして攻撃本体の火力が余っていた場合には、余った分相手に送られます。
例:相手から2line送られ、B2B2B S-spindouble HPCで相殺した場合
火力:10line 相殺専用火力:3line
- 相殺専用火力3lineが相手の2lineに当てられる
- 残りは火力10line、相殺専用火力1line
- 相殺を終えたので相殺専用火力は破棄され、10lineが相手に送られる。
バトルロイヤルモード:
沢山のプレイヤーが同時にゲームをプレイします (対AIです, 本物の人ではありません)。
人数が減れば減るほど、ミノの落下速度は加速していき、お邪魔の効果が早く出る同時にせり上がる速度も上がります。
他のプレイヤーを倒してバッジを得て、そしてそのバッジであなた自身の攻撃力を上げましょう。
沢山のプレイヤーが同時にゲームをプレイします (対AIです本物の人ではありません)。
人数が減れば減るほど、ミノの落下速度は加速していき、更に攻撃がダメージになる早さとせり上がりの速さも上昇します。
他のプレイヤーを倒してバッジを得て、そのバッジであなた自身の攻撃力を上げましょう。
プレイヤーは4つの攻撃モードから選ぶことができます:
1: ランダム: 毎回攻撃を送る際, 10%の確率で他のプレイヤーに照準を合わせます。
2: バッジ狙い: 攻撃を送った後もしくは標的が落とされた場合, バッジの数が一番多いプレイヤーに照準を合わせます。
3. トドメ撃ち: 攻撃を送った後もしくは標的が落とされた場合, 各プレイヤの中からフィールドの高さが一番高いプレイヤーに照準を合わせます。
(毎秒更新されます)
4. カウンター: あなたに照準を向けられてるプレイヤー全員に照準を同時に向けます。
あなたの攻撃は照準を向けてるプレイヤー全てに送られます。照準をあなたに向けられていない場合、ランダムにプレイヤーを攻撃します (プレイヤー照準固定無し)
全てのプレイヤーが落とされた場合, 最後のプレイヤーが勝者となります
1: ランダム:
毎回攻撃を送る際、 10%の確率で他のプレイヤーに照準を合わせます。
2: バッジ狙い:
攻撃を送った後もしくは標的が倒れた場合、バッジの数が一番多いプレイヤーに照準を合わせます
3. トドメ撃ち:
攻撃を送った後もしくは標的が倒れた場合、各プレイヤーの中から盤面の高さが一番高いプレイヤー照準を合わせます。
(プレイヤーの盤面の高さは、毎秒更新されます)
4. カウンター:
あなたに照準を向けているプレイヤー全員に照準を同時に向けます。
あなたの攻撃は照準を向けてるプレイヤー全員に送られます。
あなたに向いている標準がない場合、ランダムにプレイヤーを攻撃します。
(特定のプレイヤーに標準を固定しません)
全てのプレイヤーが倒れた時に最後のプレイヤーが勝者となります。
カスタムモード:
殆どの変数を自由に変えられます (他のゲームモードの特殊エフェクトを除いて)
更に消す為のフィールドを描いたりまたは積み上げる為のテンプレも作れます。
ビルド (パズル) モードの場合, テンプレの表示をファンクションキーで操作できます:
X印の場所にはブロック置けない;
無印の場所は何来ても構わない;
色付きの場所にはその色に合わせてのミノブロックを置かないいけない;
おじゃまミノ色の場所にはあるブロックが来てる扱いで空きスペースではない。
形を整えた後に, 勝ち判定となります。
殆どの設定を自由に変えられます(他のゲームモードの特殊エフェクトを除いて)
更に盤面を自由に設定したり、積み上げる為のも作れます。
ビルド(パズル)モードの場合、影の表示をファンクションキーで操作できます:
X印の場所にはブロック置けない
無印の場所には、何を置いても構わない
色付きの場所にはその色に対応したミノブロックを置かなければならない
下穴の色の場所にはブロックが既にある判定で何も置けない。
影通りに形を作った場合にクリアとなります。

View File

@@ -2,14 +2,14 @@ return{
{name='sprint_10l', x=0, y=0, size=40,shape=1,icon="sprint1", unlock={'sprint_20l','sprint_40l'}},
{name='sprint_20l', x=-200, y=200, size=50,shape=1,icon="sprint1"},
{name='sprint_40l', x=0, y=-300, size=40,shape=1,icon="sprint2", unlock={'dig_10l','sprint_100l','marathon_n','sprintPenta','sprintMPH','sprint123','secret_grade'}},
{name='sprint_100l', x=-400, y=200, size=50,shape=1,icon="sprint2", unlock={'sprint_400l','drought_n'}},
{name='sprint_400l', x=-600, y=200, size=40,shape=1,icon="sprint3", unlock={'sprint_1000l'}},
{name='sprint_1000l', x=-800, y=200, size=40,shape=1,icon="sprint3"},
{name='sprint_100l', x=-400, y=200, size=50,shape=1,icon="sprint2", unlock={'sprint_400l','drought_n'}},
{name='sprint_400l', x=-600, y=200, size=40,shape=1,icon="sprint3", unlock={'sprint_1000l'}},
{name='sprint_1000l', x=-800, y=200, size=40,shape=1,icon="sprint3"},
{name='sprint123', x=160, y=-400, size=40,shape=1,icon="sprint_tri"},
{name='sprintMPH', x=200, y=-260, size=40,shape=3,icon="sprint2"},
{name='sprintPenta', x=130, y=-140, size=40,shape=3,icon="sprint_pento"},
{name='sprintPenta', x=180, y=-160, size=40,shape=3,icon="sprint_pento"},
{name='sprintMPH', x=220, y=-300, size=40,shape=3,icon="sprint2"},
{name='sprint123', x=180, y=-440, size=40,shape=1,icon="sprint_tri"},
{name='secret_grade', x=-200, y=-400, size=40,shape=1,icon="secret_grade"},
{name='drought_n', x=-600, y=400, size=40,shape=1,icon="drought", unlock={'drought_l'}},
@@ -19,13 +19,13 @@ return{
{name='dig_40l', x=-400, y=-200, size=40,shape=1,icon="dig_sprint", unlock={'dig_100l'}},
{name='dig_100l', x=-600, y=-200, size=40,shape=1,icon="dig_sprint", unlock={'dig_400l'}},
{name='dig_400l', x=-800, y=-200, size=40,shape=1,icon="dig_sprint"},
{name='dig_eff_10l', x=-400, y=0, size=40,shape=1,icon="dig_sprint", unlock={'dig_eff_40l'}},
{name='dig_eff_40l', x=-600, y=0, size=40,shape=1,icon="dig_sprint", unlock={'dig_eff_100l'}},
{name='dig_eff_100l', x=-800, y=0, size=40,shape=1,icon="dig_sprint", unlock={'dig_eff_400l'}},
{name='dig_eff_400l', x=-1000, y=0, size=40,shape=1,icon="dig_sprint"},
{name='marathon_n', x=0, y=-600, size=60,shape=1,icon="marathon", unlock={'marathon_h','solo_e','round_e','big_n','blind_e','classic_e','survivor_e','clearRush','zen'}},
{name='dig_eff_10l', x=-400, y=0, size=40,shape=1,icon="dig_sprint", unlock={'dig_eff_40l'}},
{name='dig_eff_40l', x=-600, y=0, size=40,shape=1,icon="dig_sprint", unlock={'dig_eff_100l'}},
{name='dig_eff_100l', x=-800, y=0, size=40,shape=1,icon="dig_sprint", unlock={'dig_eff_400l'}},
{name='dig_eff_400l', x=-1000, y=0, size=40,shape=1,icon="dig_sprint"},
{name='marathon_n', x=0, y=-600, size=60,shape=1,icon="marathon", unlock={'marathon_h','solo_e','round_e','big_n','blind_e','classic_e','survivor_e','c4wtrain_n','pctrain_n','sprintAtk','zen'}},
{name='marathon_h', x=0, y=-800, size=50,shape=1,icon="marathon", unlock={'master_n','strategy_e'}},
{name='solo_e', x=-600, y=-1000, size=40,shape=1,icon="solo", unlock={'solo_n'}},
@@ -58,12 +58,12 @@ return{
{name='master_g', x=0, y=-1600, size=40,shape=3,icon="master"},
{name='master_ex', x=170, y=-1450, size=40,shape=2,icon="master_ex"},
{name='strategy_e', x=-150, y=-1020, size=40,shape=3,icon="master", unlock={'strategy_e_plus'}},
{name='strategy_h', x=-150, y=-1150, size=35,shape=3,icon="master", unlock={'strategy_h_plus'}},
{name='strategy_u', x=-150, y=-1280, size=30,shape=2,icon="master", unlock={'strategy_u_plus'}},
{name='strategy_e_plus',x=-300, y=-1120, size=40,shape=3,icon="master"},
{name='strategy_h_plus',x=-300, y=-1250, size=35,shape=3,icon="master"},
{name='strategy_u_plus',x=-300, y=-1380, size=30,shape=2,icon="master"},
{name='strategy_e', x=-150, y=-1020, size=40,shape=3,icon="master", unlock={'strategy_e_plus'}},
{name='strategy_h', x=-150, y=-1150, size=35,shape=3,icon="master", unlock={'strategy_h_plus'}},
{name='strategy_u', x=-150, y=-1280, size=30,shape=2,icon="master", unlock={'strategy_u_plus'}},
{name='strategy_e_plus',x=-300, y=-1120, size=40,shape=3,icon="master"},
{name='strategy_h_plus',x=-300, y=-1250, size=35,shape=3,icon="master"},
{name='strategy_u_plus',x=-300, y=-1380, size=30,shape=2,icon="master"},
{name='blind_e', x=150, y=-700, size=40,shape=1,icon="hidden", unlock={'blind_n','master_instinct'}},
{name='blind_n', x=150, y=-800, size=40,shape=1,icon="hidden", unlock={'blind_h'}},
@@ -93,40 +93,39 @@ return{
{name='dig_h', x=850, y=-800, size=40,shape=1,icon="dig", unlock={'dig_u'}},
{name='dig_u', x=850, y=-1000, size=40,shape=1,icon="dig"},
{name='clearRush', x=400, y=-400, size=50,shape=1,icon="bigbang", unlock={'c4wtrain_n','pctrain_n','sprintAtk'}},
{name='c4wtrain_n', x=700, y=-400, size=40,shape=1,icon="pc", unlock={'c4wtrain_l'}},
{name='c4wtrain_l', x=900, y=-400, size=40,shape=1,icon="pc"},
{name='c4wtrain_n', x=700, y=-450, size=40,shape=1,icon="pc", unlock={'c4wtrain_l'}},
{name='c4wtrain_l', x=900, y=-450, size=40,shape=1,icon="pc"},
{name='pctrain_n', x=700, y=-250, size=40,shape=1,icon="pc", unlock={'pctrain_l','pc_n'}},
{name='pctrain_l', x=900, y=-250, size=40,shape=1,icon="pc"},
{name='pctrain_n', x=700, y=-300, size=40,shape=1,icon="pc", unlock={'pctrain_l','pc_n'}},
{name='pctrain_l', x=900, y=-300, size=40,shape=1,icon="pc"},
{name='pc_n', x=800, y=-110, size=40,shape=1,icon="pc", unlock={'pc_h'}},
{name='pc_h', x=950, y=-110, size=40,shape=3,icon="pc", unlock={'pc_l','pc_inf'}},
{name='pc_l', x=1100, y=-110, size=40,shape=3,icon="pc"},
{name='pc_inf', x=1100, y=-250, size=40,shape=2,icon="pc"},
{name='pc_n', x=800, y=-140, size=40,shape=1,icon="pc", unlock={'pc_h'}},
{name='pc_h', x=950, y=-140, size=40,shape=3,icon="pc", unlock={'pc_l','pc_inf'}},
{name='pc_l', x=1100, y=-140, size=40,shape=3,icon="pc"},
{name='pc_inf', x=1100, y=-280, size=40,shape=2,icon="pc"},
{name='sprintAtk', x=530, y=-150, size=40,shape=1,icon="sprint2", unlock={'sprintEff','tech_n','tech_finesse','tsd_e','backfire_n'}},
{name='sprintAtk', x=500, y=-280, size=40,shape=1,icon="sprint2", unlock={'sprintEff','tech_n','tech_finesse','tsd_e','backfire_n'}},
{name='sprintEff', x=360, y=-150, size=40,shape=1,icon="sprint2"},
{name='tech_n', x=400, y=50, size=40,shape=1,icon="tech", unlock={'tech_n_plus','tech_h'}},
{name='tech_n_plus', x=200, y=20, size=40,shape=3,icon="tech"},
{name='tech_h', x=400, y=200, size=40,shape=1,icon="tech", unlock={'tech_h_plus','tech_l'}},
{name='tech_h_plus', x=200, y=170, size=35,shape=3,icon="tech"},
{name='tech_l', x=400, y=350, size=40,shape=1,icon="tech", unlock={'tech_l_plus'}},
{name='tech_l_plus', x=200, y=320, size=35,shape=3,icon="tech"},
{name='tech_n', x=400, y=20, size=40,shape=1,icon="tech", unlock={'tech_n_plus','tech_h'}},
{name='tech_n_plus', x=200, y=-10, size=40,shape=3,icon="tech"},
{name='tech_h', x=400, y=170, size=40,shape=1,icon="tech", unlock={'tech_h_plus','tech_l'}},
{name='tech_h_plus', x=200, y=140, size=35,shape=3,icon="tech"},
{name='tech_l', x=400, y=320, size=40,shape=1,icon="tech", unlock={'tech_l_plus'}},
{name='tech_l_plus', x=200, y=290, size=35,shape=3,icon="tech"},
{name='tech_finesse', x=800, y=50, size=40,shape=1,icon="tech", unlock={'tech_finesse_f'}},
{name='tech_finesse_f',x=1000, y=50, size=40,shape=1,icon="tech"},
{name='tech_finesse', x=800, y=20, size=40,shape=1,icon="tech", unlock={'tech_finesse_f'}},
{name='tech_finesse_f',x=1000, y=20, size=40,shape=1,icon="tech"},
{name='tsd_e', x=720, y=200, size=40,shape=1,icon="tsd", unlock={'tsd_h'}},
{name='tsd_h', x=960, y=200, size=40,shape=1,icon="tsd", unlock={'tsd_u'}},
{name='tsd_u', x=1200, y=200, size=40,shape=1,icon="tsd"},
{name='tsd_e', x=720, y=170, size=40,shape=1,icon="tsd", unlock={'tsd_h'}},
{name='tsd_h', x=960, y=170, size=40,shape=1,icon="tsd", unlock={'tsd_u'}},
{name='tsd_u', x=1200, y=170, size=40,shape=1,icon="tsd"},
{name='backfire_n', x=650, y=350, size=40,shape=1,icon="backfire", unlock={'backfire_h'}},
{name='backfire_h', x=850, y=350, size=40,shape=1,icon="backfire", unlock={'backfire_l'}},
{name='backfire_l', x=1050, y=350, size=40,shape=3,icon="backfire", unlock={'backfire_u'}},
{name='backfire_u', x=1250, y=350, size=35,shape=2,icon="backfire"},
{name='backfire_n', x=650, y=320, size=40,shape=1,icon="backfire", unlock={'backfire_h'}},
{name='backfire_h', x=850, y=320, size=40,shape=1,icon="backfire", unlock={'backfire_l'}},
{name='backfire_l', x=1050, y=320, size=40,shape=3,icon="backfire", unlock={'backfire_u'}},
{name='backfire_u', x=1250, y=320, size=35,shape=2,icon="backfire"},
{name='zen', x=-1000, y=-600, size=40,shape=1,icon="zen", unlock={'ultra','infinite','infinite_dig','marathon_inf'}},
{name='ultra', x=-1200, y=-600, size=40,shape=1,icon="ultra"},

View File

@@ -7,7 +7,7 @@ return{
eventSet='big_h',
bg='cubes',bgm='push',
},
score=function(P)return{P.stat.row,P.stat.time}end,
score=function(P)return{math.min(P.stat.row,200),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)

View File

@@ -7,7 +7,7 @@ return{
eventSet='big_n',
bg='bg2',bgm='push',
},
score=function(P)return{P.stat.row,P.stat.time}end,
score=function(P)return{math.min(P.stat.row,200),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)

View File

@@ -1,23 +0,0 @@
return{
env={
das=8,arr=1,
drop=30,lock=30,
holdCount=0,
eventSet='clearRush',
bg='blockhole',bgm='peak',
},
score=function(P)return{P.modeData.stage,P.stat.time}end,
scoreDisp=function(D)return D[1].." Stage "..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)
do return 1 end
local L=P.modeData.stage
return
L>=100 and 5 or
L>=70 and 4 or
L>=40 and 3 or
L>=20 and 2 or
L>=10 and 1 or
L>=3 and 0
end,
}

View File

@@ -0,0 +1,46 @@
return{
env={
pushSpeed=6,
bg='bg1',bgm='way',
mesDisp=function(P)
setFont(55)
mStr(10-P.stat.dig_quad,63,265)
end,
hook_drop=function(P)
if P.lastPiece.row>0 and P.lastPiece.row<4 then
P:lose()
else
P.stat.dig_quad = P.stat.dig
end
if P.stat.dig==10 then
P:win('finish')
end
end,
task=function(P)
local last = -1
for _=1,10 do
local garbage = last
repeat
garbage = P:getHolePos()
until garbage ~= last
last = garbage
P:garbageRise(21,1,garbage)
end
P.fieldBeneath=0
P.stat.dig_quad = 0
end,
},
score=function(P)return{P.stat.dig_quad,P.stat.piece}end,
scoreDisp=function(D)return D[1].." Techrash "..D[2].." Pieces"end,
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.dig_quad<4 then return end
return
P.stat.piece<=81 and 5 or
P.stat.piece<=92 and 4 or
P.stat.piece<=103 and 3 or
P.stat.dig_quad>=10 and 2 or
P.stat.dig_quad>=7 and 1 or
0
end,
}

View File

@@ -2654,7 +2654,7 @@ function Player:_die()
self.b2b=0
self.tasks={}
self:clearAttackBuffer()
for i=1,#self.field do
for i=1,#self.visTime do
for j=1,10 do
self.visTime[i][j]=min(self.visTime[i][j],20)
end
@@ -2758,7 +2758,7 @@ function Player:win(result)
if result=='finish'then
for i=#PLY_ALIVE,1,-1 do
if PLY_ALIVE[i]~=self then
PLY_ALIVE[i]:lose()
PLY_ALIVE[i]:lose(true)
end
end
end

View File

@@ -25,7 +25,7 @@ local penKey={
['1']=1,['2']=2,['3']=3,['4']=4,['5']=5,['6']=6,['7']=7,['8']=8,
q=9,w=10,e=11,r=12,t=13,y=14,u=15,i=16,
a=17,s=18,d=19,f=20,g=21,h=22,j=23,k=24,
z=0,x=-1,
z=0,x=-1,c=-2,
}
local minoPosCode={
[102]=1,[1121]=1,--Z
@@ -250,8 +250,8 @@ function scene.keyDown(key)
else
SCN.back()
end
else
pens[curPen]=penKey[key]or pens[curPen]
elseif penKey[key] then
pens[1]=penKey[key]
end
end
function scene.keyUp(key)

View File

@@ -7,7 +7,6 @@ local langList={
pt="Português",
id="Bahasa Indonesia",
ja="日本語",
zh_grass="机翻",
symbol="?????",
}
local languages={
@@ -49,21 +48,21 @@ local function _setLang(lid)
end
scene.widgetList={
WIDGET.newButton{x=271,y=210,w=346,h=100,font=40, fText=langList.en, color='R',sound='click',code=function()_setLang('en')end},
WIDGET.newButton{x=271,y=329,w=346,h=100,font=40, fText=langList.fr, color='F',sound='click',code=function()_setLang('fr')end},
WIDGET.newButton{x=271,y=449,w=346,h=100,font=35, fText=langList.es, color='O',sound='click',code=function()_setLang('es')end},
WIDGET.newButton{x=271,y=568,w=346,h=100,font=35, fText=langList.id, color='Y',sound='click',code=function()_setLang('id')end},
WIDGET.newButton{x=270,y=210,w=330,h=100,font=40, fText=langList.en, color='R',sound='click',code=function()_setLang('en')end},
WIDGET.newButton{x=270,y=330,w=330,h=100,font=40, fText=langList.fr, color='F',sound='click',code=function()_setLang('fr')end},
WIDGET.newButton{x=270,y=450,w=330,h=100,font=35, fText=langList.es, color='O',sound='click',code=function()_setLang('es')end},
WIDGET.newButton{x=270,y=570,w=330,h=100,font=35, fText=langList.id, color='Y',sound='click',code=function()_setLang('id')end},
WIDGET.newButton{x=637,y=210,w=346,h=100,font=40, fText=langList.pt, color='A',sound='click',code=function()_setLang('pt')end},
WIDGET.newButton{x=637,y=329,w=346,h=100,font=40, fText=langList.symbol, color='G',sound='click',code=function()_setLang('symbol')end},
WIDGET.newButton{x=637,y=449,w=346,h=100,font=40, fText=langList.ja, color='J',sound='click',code=function()_setLang('ja')end},
WIDGET.newButton{x=637,y=568,w=346,h=100,font=40, fText=langList.zh_grass,color='L',sound='click',code=function()_setLang('zh_grass')end},
WIDGET.newButton{x=640,y=210,w=330,h=100,font=40, fText=langList.pt, color='A',sound='click',code=function()_setLang('pt')end},
WIDGET.newButton{x=640,y=330,w=330,h=100,font=40, fText=langList.symbol, color='G',sound='click',code=function()_setLang('symbol')end},
WIDGET.newButton{x=640,y=450,w=330,h=100,font=40, fText=langList.ja, color='J',sound='click',code=function()_setLang('ja')end},
WIDGET.newKey {x=640,y=570,w=330,h=100,font=40, fText='', color='L'},
WIDGET.newButton{x=1003,y=210,w=346,h=100,font=40,fText=langList.zh, color='C',sound='click',code=function()_setLang('zh')end},
WIDGET.newButton{x=1003,y=329,w=346,h=100,font=40,fText=langList.zh_trad, color='S',sound='click',code=function()_setLang('zh_trad')end},
-- WIDGET.newButton{x=1003,y=449,w=346,h=100,font=40,fText=langList.zh_trad, color='S',sound='click',code=function()_setLang('zh_trad')end},
WIDGET.newButton{x=1000,y=210,w=330,h=100,font=40,fText=langList.zh, color='C',sound='click',code=function()_setLang('zh')end},
WIDGET.newButton{x=1000,y=330,w=330,h=100,font=40,fText=langList.zh_trad, color='S',sound='click',code=function()_setLang('zh_trad')end},
WIDGET.newKey {x=1000,y=450,w=330,h=100,font=40,fText='', color='P'},
WIDGET.newButton{name='back',x=1003,y=568,w=346,h=100,sound='back',font=60,fText=CHAR.icon.back,code=backScene},
WIDGET.newButton{name='back',x=1000,y=570,w=330,h=100,sound='back',font=60,fText=CHAR.icon.back,code=backScene},
}
return scene

View File

@@ -122,8 +122,6 @@ function scene.keyDown(key,isRep)
VOC.play('bye')
SCN.swapTo('quit','slowFade')
end
elseif key=='c'then
enterConsole()
else
return true
end

View File

@@ -2,7 +2,7 @@ local scene={}
function scene.sceneInit()
BG.set('cubes')
local fileData=love.filesystem.read('parts/language/manual_'..(SETTING.locale:find'zh'and'zh'or'en')..'.txt')
local fileData=FILE.load('parts/language/manual_'..(SETTING.locale:find'zh'and'zh'or SETTING.locale:find'ja'and'ja'or'en')..'.txt','-string')
if fileData then
WIDGET.active.texts:setTexts(fileData:split('\n'))
else

View File

@@ -4,15 +4,6 @@ local sin=math.sin
local setFont=FONT.set
local author={
blank="MrZ (old works)",
["end"]="MrZ (old works)",
cruelty="MrZ (old works)",
final="MrZ (old works)",
infinite="MrZ (old works)",
push="MrZ (old works)",
race="MrZ (old works)",
reason="MrZ (old works)",
way="MrZ (old works)",
battle="Aether & MrZ",
moonbeam="Beethoven & MrZ",
empty="ERM",
@@ -75,9 +66,10 @@ function scene.keyDown(key,isRep)
end
function scene.draw()
local t=TIME()
--Character
gc.push('transform')
local t=love.timer.getTime()
gc.setColor(1,1,1)
gc.translate(906,456)
gc.scale(.6)
@@ -106,15 +98,14 @@ function scene.draw()
--Title
if BGM.nowPlay then
GC.draw(TEXTURE.title,562,180,nil,.42)
GC.draw(TEXTURE.title,570,190,nil,.42)
local a=-t%2.3/2.3
gc_setColor(1,1,1,math.min(a,1))
GC.draw(TEXTURE.title_color,562,180,nil,.42+.062-.062*a)
GC.draw(TEXTURE.title_color,570,190,nil,.42+.062-.062*a)
end
--Music player
if BGM.nowPlay then
local t=TIME()
setFont(45)
GC.shadedPrint(BGM.nowPlay,710,508,'left',2)
gc_setColor(sin(t*.5)*.2+.8,sin(t*.7)*.2+.8,sin(t)*.2+.8)

View File

@@ -65,7 +65,7 @@ function scene.draw()
gc.draw(IMG.miyaHeart,162,52,nil,.3)
elseif vocPack=="mono"then
local jump=math.max(30-(TIME()-last1)*60,0)%10
gc.translate(800,340+6*sin(TIME()*.5)+(jump-10)*jump*.3)
gc.translate(760,340+6*sin(TIME()*.5)+(jump-10)*jump*.3)
gc.draw(IMG.monoCH,-30)
elseif vocPack=="xiaoya"then
gc.translate(770,340+4*sin(TIME()*.5))

View File

@@ -84,7 +84,7 @@ function scene.draw()
local L=text.staff
setFont(40)
for i=1,#L do
mStr(L[i],640,950+70*i-T)
mStr(L[i],640,950+65*i-T)
end
gc.setColor(1,1,1)
mDraw(TEXTURE.title_color,640,900-T,nil,.6)

View File

@@ -2,22 +2,35 @@ return[=[
未来计划:
R E M A K E
0.17.4: 昏暗 Dim
改动:
移除地图上的clearRush模式
移除机翻语言
说明书有日文版本了
更新语言文件
修复:
TRS的V的踢墙表错误,不对称
TRS的O变JL条件错误
0.17.3: 矿井 Mine
改动:
一点魔法
重新开放mono语音包选择
代码:
升级着色器相关(aura背景表现应该好多了)
移除一个没用到的库(虽然也没一点点大)
修复:
修复Master-G一些问题
Master-G一些问题
一些背景相关的问题 #672
键盘编辑自定义场地不能切换画笔(顺便补充智能画笔快捷键c)
big模式统计行数可能超出200 #682
0.17.2: 服务区 Service Area
新增:
把一些模式加入到大地图上(by NOT_A_ROBOT) #640
登录界面会隐藏自动填充的邮箱防止信息泄露 #639
改动:
移除FTLock设置全局开启
移除FTLock设置,全局开启
大幅度调低高级机器人速度
词典新增一条比较详细的新人指引
master_g模式不再限定旋转系统

View File

@@ -1,7 +1,7 @@
return{
["apkCode"]=438,
["code"]=1703,
["string"]="V0.17.3",
["apkCode"]=441,
["code"]=1704,
["string"]="V0.17.4",
["room"]="ver A-7",
["name"]="矿井 Mine",
}