在游戏中在5秒内打字挑战

时间:2018-05-31 18:22:16

标签: batch-file timer system points

我正在批处理文件中进行RPG游戏,我希望用户在5秒内输入类似“butter”的单词。如果他不打算这样做,他什么也得不到,然后回去。但如果他打算正确输入,他将获得金钱。我希望它能显示计时器。你们能帮忙吗?可以用PING命令完成吗?

1 个答案:

答案 0 :(得分:1)

算作你的努力,你不值得 只是为了给你一个起点,
批次不适合测量/处理/计算时间。

IEnumerable<IEnumerable<YourGroup>>

示例输出:

:: Q:\Test\2018\05\31\typingtest.cmd
@Echo off&SetLocal EnableExtensions EnableDelayedExpansion
:loop
cls
Echo enter butter
choice /n /C b >NUL
set start=%time%
choice /n /C u >NUL
choice /n /C t >NUL
choice /n /C t >NUL
choice /n /C e >NUL
choice /n /C r >NUL
set ready=%time%
Echo start:%start%
Echo ready:%ready%

尽管我最初发表评论,但以下版本更具通用性并且正确计算秒数,前提是enter butter start:21:00:50,50 ready:21:00:51,56 重新调整24小时格式并且数百秒。

%time%

示例输出:

:: Q:\Test\2018\05\31\typingtest.cmd
@Echo off&SetLocal EnableExtensions EnableDelayedExpansion

cls
Echo enter butter
Set "Start="
For %%A in (b u t t e r) do (
    choice /n /C %%A >NUL
    if not defined Start Set "Start=%time%"
)
Set "Ready=%time%"
Call :CalcTime Start
Call :CalcTime Ready
Set /A "Lapse=Ready-Start"
Echo Secs :        %Lapse:~0,-2%,%Lapse:~-2%
Pause
Goto :Eof

:CalcTime
Echo=%1: !%1!
For /f "tokens=1-4delims=:.," %%H in ("!%1!"
  ) Do Set /A "%1=(1%%H-100)*360000+(1%%I-100)*6000+(1%%J-100)*100+%%K"