模块:Pwd/doc:修订间差异
Staf Irity(讨论 | 贡献) 小无编辑摘要 标签:(旧)WikiEditor |
AtomTheory(讨论 | 贡献) 无编辑摘要 标签:(旧)WikiEditor |
||
第5行: | 第5行: | ||
不写教程了,自己去看模块的注释,我先爬了 | 不写教程了,自己去看模块的注释,我先爬了 | ||
==简要教程(来自AtomTheory)== | |||
<poem> | |||
===一、密码盘源代码=== | |||
模块:Pwd的密码盘分为数字密码盘和字母密码盘,二者对应的最基础的源代码如下(未指定任何特殊按键,即为上方出现的密码盘): | |||
数字密码盘:<nowiki>{{#invoke:pwd|get|Number|a}}</nowiki> | |||
字母密码盘:<nowiki>{{#invoke:pwd|get|Word|b}}</nowiki> | |||
目前已有使用的页面的密码盘通常都以以下源代码为基础,在其中添加元素而成: | |||
<nowiki>{{#invoke:pwd|get|Word|class=def|2=w|2-10=def|3-8=def}}</nowiki> | |||
(请注意,此处的“3-8=def”在有的地方“def”需要变成其他内容,具体在下方有提及) | |||
'''每一个<nowiki>{{#invoke:pwd|get|Word|a}}</nowiki>对应一个键盘,密码盘包括多行此类代码''' | |||
此处可以按照自己的需求加上指定按钮,只需要在其中加入相应指定内容(详见下方第二部分),用“|”隔开即可 | |||
===二、指定按钮=== | |||
以字母密码盘为例,在模块中,若需要指定正确密码为password,并且指定此步骤输入字母正确为r,错误为w。 | |||
*那么在第一步时密码盘就应该是这个样子: | |||
''<nowiki>{{#invoke:pwd|get|Word|class=def|2=w|2-10=def|3-8=def|1-10=r}}</nowiki>'' | |||
此处的class=def指密码盘处于初始状态,“def”可以更改为其他任何文本内容 | |||
这里2-10对应的是“X”,即清空按钮;3-8对应的是退格按钮 | |||
“1-10=r”即指定第一行第十个按钮(p)对应r状态(相当于就是指定了一个TreeButton) | |||
“2=w”即指定剩余所有没有被指定的按钮对应w状态 | |||
*假设第一步输入正确,第二部则是这个样子: | |||
''<nowiki>{{#invoke:pwd|get|Word|class=r|2=rw|2-10=def|3-8=def|2-1=rr|style=display:none;}}</nowiki>'' | |||
此处,密码盘第一步正确(class=r)。此时若输入错误,为了让下一步退格可以回到此步骤而非被直接判错,指定错误状态为rw,相当于按照步骤顺序记录了不同步骤的正确情况,下一步时按退格可以回到r状态(3-8=r)。输入a正确,则a对应状态为rr。 | |||
*假设第一步输入错误,第二步则是这个样子: | |||
''<nowiki>{{#invoke:pwd|get|Word|class=w|2=ww|2-10=def|3-8=def|style=display:none;}}</nowiki>'' | |||
此处的“style=display:none;”即指这行代码对应的键盘只有在密码盘处于w状态时才会展示,避免页面打开时此键盘错误地出现(页面打开时应当只有初始状态键盘显示)影响观感以及解密体验。 | |||
显然,此处由于第一步已经错误(因此密码盘已经处于w的状态,class=w),所以接下来除了退格和删除之外无论做什么都是错误的,故不需要指定特殊按钮,只需要指定“2=ww”即可 | |||
*假设前面均输入正确,最后一步则是这个样子: | |||
''<nowiki>{{#invoke:pwd|get|Word|class=rrrrrrr|2=wwwwwwww|2-10=def|3-8=rrrrrr|2-3=rrrrrrrr|style=display:none;}}</nowiki>'' | |||
这里因为是最后一步,输入过后直接判定密码是否正确,故不论任何的含有错误字母的情况都视作全错处理更佳。 | |||
===排版建议&其他=== | |||
对于一般的只有一个密码的密码盘,建议按照如下排版顺序摆放(这里用def,w,r等代指处于不同状态的键盘): | |||
def | |||
w | |||
r | |||
ww | |||
rw | |||
rr | |||
www | |||
rww | |||
rrw | |||
rrr | |||
…… | |||
参考: | |||
[[金域]]的密码盘,含有两个6位字母密码,占用字节约3400 | |||
[[末日的幻想乡]]的密码盘,4位数字密码,占用字节不足1000 | |||
</poem> |
2022年12月10日 (六) 08:17的版本
123
456
789
X0←
qwertyuiop
asdfghjklX
zxcvbnm←
不写教程了,自己去看模块的注释,我先爬了
简要教程(来自AtomTheory)
===一、密码盘源代码===
模块:Pwd的密码盘分为数字密码盘和字母密码盘,二者对应的最基础的源代码如下(未指定任何特殊按键,即为上方出现的密码盘):
数字密码盘:{{#invoke:pwd|get|Number|a}}
字母密码盘:{{#invoke:pwd|get|Word|b}}
目前已有使用的页面的密码盘通常都以以下源代码为基础,在其中添加元素而成:
{{#invoke:pwd|get|Word|class=def|2=w|2-10=def|3-8=def}}
(请注意,此处的“3-8=def”在有的地方“def”需要变成其他内容,具体在下方有提及)
每一个{{#invoke:pwd|get|Word|a}}对应一个键盘,密码盘包括多行此类代码
此处可以按照自己的需求加上指定按钮,只需要在其中加入相应指定内容(详见下方第二部分),用“|”隔开即可
===二、指定按钮===
以字母密码盘为例,在模块中,若需要指定正确密码为password,并且指定此步骤输入字母正确为r,错误为w。
- 那么在第一步时密码盘就应该是这个样子:
{{#invoke:pwd|get|Word|class=def|2=w|2-10=def|3-8=def|1-10=r}}
此处的class=def指密码盘处于初始状态,“def”可以更改为其他任何文本内容
这里2-10对应的是“X”,即清空按钮;3-8对应的是退格按钮
“1-10=r”即指定第一行第十个按钮(p)对应r状态(相当于就是指定了一个TreeButton)
“2=w”即指定剩余所有没有被指定的按钮对应w状态
- 假设第一步输入正确,第二部则是这个样子:
{{#invoke:pwd|get|Word|class=r|2=rw|2-10=def|3-8=def|2-1=rr|style=display:none;}}
此处,密码盘第一步正确(class=r)。此时若输入错误,为了让下一步退格可以回到此步骤而非被直接判错,指定错误状态为rw,相当于按照步骤顺序记录了不同步骤的正确情况,下一步时按退格可以回到r状态(3-8=r)。输入a正确,则a对应状态为rr。
- 假设第一步输入错误,第二步则是这个样子:
{{#invoke:pwd|get|Word|class=w|2=ww|2-10=def|3-8=def|style=display:none;}}
此处的“style=display:none;”即指这行代码对应的键盘只有在密码盘处于w状态时才会展示,避免页面打开时此键盘错误地出现(页面打开时应当只有初始状态键盘显示)影响观感以及解密体验。
显然,此处由于第一步已经错误(因此密码盘已经处于w的状态,class=w),所以接下来除了退格和删除之外无论做什么都是错误的,故不需要指定特殊按钮,只需要指定“2=ww”即可
- 假设前面均输入正确,最后一步则是这个样子:
{{#invoke:pwd|get|Word|class=rrrrrrr|2=wwwwwwww|2-10=def|3-8=rrrrrr|2-3=rrrrrrrr|style=display:none;}}
这里因为是最后一步,输入过后直接判定密码是否正确,故不论任何的含有错误字母的情况都视作全错处理更佳。
===排版建议&其他===
对于一般的只有一个密码的密码盘,建议按照如下排版顺序摆放(这里用def,w,r等代指处于不同状态的键盘):
def
w
r
ww
rw
rr
www
rww
rrw
rrr
……
参考:
金域的密码盘,含有两个6位字母密码,占用字节约3400
末日的幻想乡的密码盘,4位数字密码,占用字节不足1000