由于MD XF最近面临的挑战,我们现在可以读取许多不同语言的密码!问题是,现在我们需要将我们的应用程序移植到移动设备,并且它们的密码输入有所不同。
挑战
- 从键盘上读取一个字符串。
- 每次
k
输入一个字符时,都要短时间显示。 - 时间间隔过去之后,或者用户输入了另一个字符,请替换
k
为c
。
规则
c
必须恒定;它必须是相同的字符。c
可以是任何可见字符(即不能是换行符,空格,制表符或不可打印的字符)。c
不能基于任何输入k
;c
必须在k
读取第一个之前定义/常量。c
每次运行程序时都必须相同。c
k
只要遵守所有其他规则,它就可以是偶然给出的值之一。- 您必须
k
实时打印。用户输入新内容后k
,您必须立即显示它。 k
更改为最终用户之前应该对最终用户可见c
;时间间隔不得少于0.5秒。k
应c
在合理时间内更换;时间间隔不得超过5秒。- 输入新字符后,无论时间间隔是否到期,都应替换
k
为c
并k
立即使用输入的密钥作为新字符。 - 每次需要更改字符时都可以清除并重画屏幕。
- 您可以使用任何合理的输入和输出方法,只要遵循所有其他规则即可。
- 您可以假设输入的字符数永远不会超过终端/图形窗口的宽度。
- 如果使用终端,则应在输入换行符或到达EOF后终止程序。
- 您的程序应在移动和其他环境中均按此处概述的功能运行。
- 您的程序可能会假设输入将仅包含可打印字符(字母,数字,符号),并且可能包含终止换行符(无退格键,箭头键,删除键等)。
- 当按Ctrl + C时,您的程序可能会终止。
- 如果程序启动了一个窗口,则可以通过关闭窗口来终止程序。
计分
这是代码高尔夫球,因此每种语言中最短的答案将获胜!
例
这是一个外观示例。请注意,这是记录在移动平台上的,但也应在桌面平台上工作。
对于那些可以看到已删除帖子的人,这里是沙盒帖子
—
musicman523 '17
您在视频中使用哪个键盘?
—
Beta Decay
@BetaDecay在末尾的通知状态zenui键盘
—
ovs
@BetaDecay实际上是ZenUI键盘。只是好奇,还是有关系吗?
—
musicman523
@ musicman523只是好奇:)
—
Beta Decay