实现一个简单的数字秒表,它将显示以秒和分钟为单位的时间,如下所述。
重要的请阅读显示和控制部分!
时间流逝,应该以MM:SS格式显示,方法是替换以前显示的时间字符串“就地”(也允许清除屏幕的全部或部分)。
秒表必须至少每秒钟更新一次。
示例:
0分0秒
00:000分33秒
00:331分50秒
01:50最初,您可以从'00:00‘或范围00:00-59:59中的任何其他值开始。
一旦您的秒表到达59:59,它应该重置为00:00并重新继续。
如果您愿意,可以使用不同的大小写(而不是十进制),甚至可以使用不同的数字系统,只要您遵循一般模式。
例如,可以将13:03显示为:
13:030D:03N:D10101:3XIII:III请注意,如果使用非十进制数字系统/基,则必须使用可打印的ASCII (或Unicode)字符进行编码,例如,不允许使用两个二进制(不可打印)字节进行分钟和秒的编码。
如果你的数字系统允许的话,你也必须在适当的情况下用零填充你的输出。
将分隔符:替换为任何其他可打印字符(包括数字)也是可以接受的。
秒表应该开始暂停,并停留在这种状态,直到用户显式启动它,按下“控制”键(见下文)。
当秒表计数时,用户再次按下“控制”键,秒表应该暂停(保持当前时间),直到“控制”键再按一次。
“控制”键可以是单个击键(例如s ),也可以是任何键组合(如Ctrl+Shift+X ),但必须是“原子”键,按多个键顺序,例如s然后Enter,是不允许的。
必须使用相同的“控制”键(或组合)暂停并恢复秒表。
您必须使用特定的“控件”键,即不允许使用“任何键”。
或者,您可以使用一个单一或双鼠标单击,而不是按下‘控制’。
发布于 2017-01-29 00:58:40
set/ar=0,m=s=100
:l
cls
@choice/t 1 /d y /m %m:~1%:%s:~1% /n
set/as+=r,m+=c=s/160,s-=c*60,m-=m/160*60,r^^=%errorlevel%-1
goto l按n将暂停计时器。输出闪烁可以以三个(或四个)字节为代价减少。
发布于 2017-02-02 12:54:24
Chrome控制台中的
f=document,m=s=g=i=0;setInterval(()=>{if(g%2){m=(i/60|0)%60;s=i++%60}f.write((m>9?m:'0'+m)+':'+(s>9?s:'0'+s));f.close();f.onclick=()=>g++},1e3)当在控制台中输入时,它会进入计数器到00:00,然后启用控件,即在文档上按下键。
不太神奇,特别是(i/60)|0地板上的数字
在Chrome控制台中完成和测试
https://codegolf.stackexchange.com/questions/108468
复制相似问题