以下に説明するように、経過時間を秒と分で表示する単純なデジタルストップウォッチを実装します。
重要
ディスプレイとコントロールの両方のセクションをお読みください!
表示
経過時間はMM:SS
、以前に表示された時間文字列を「その場で」置き換えることにより、形式で表示する必要があります(画面の全体または一部をクリアすることもできます)。
ストップウォッチは少なくとも1秒ごとに更新する必要があります。
例:
0分0秒
00:00
0分33秒
00:33
1分50秒
01:50
最初は、「00:00」または範囲[00:00-59:59]の他の値で開始できます。
ストップウォッチがに到達すると59:59
、リセットし00:00
て新たに続行する必要があります。
一般的なパターンに従っている限り、(10進数の代わりに)別の基数、または必要に応じて別の数字システムを使用できます。
たとえば、次の13:03
ように表示できます。
13:03
0D:03
N:D
10101:3
XIII:III
10進数以外の数字システム/ベースを使用する場合は、印刷可能なASCII(またはUnicode)文字を使用してエンコードする必要があります。たとえば、分と秒に2つのバイナリ(印刷不可)バイトを使用することはできません。
数値システムで許可されている場合は、出力に適切なゼロを左詰めする必要もあります。
区切り文字:
を他の印刷可能な文字(数字を含む)に置き換えることも可能です。
コントロール
ストップウォッチは、ユーザーが「control」キーを押して明示的に開始するまで、一時停止状態で開始し、この状態を維持する必要があります(以下を参照)。
ストップウォッチがカウントしている間に、ユーザが押下し、場合「コントロール」再度キーを、ストップウォッチべき一時停止されるまで、(現在の時刻を維持する)「コントロール」キーを一回押下されます。
「コントロール」キーを1回のキーストローク、例えばすることができs
、例えば、またはキーの組み合わせCtrl+Shift+X
が、それは例えば、順番に複数のキーを押すと、「アトミック」でなければなりませんs
、その後Enter
、されて許可されていません。
ストップウォッチを一時停止および再開するには、同じ「コントロール」キー(または組み合わせ)を使用する必要があります。
特定の「コントロール」キーを使用する必要があります。つまり、「任意のキー」は許可されません。
または、「コントロール」のキーを押す代わりに、シングルクリックまたはダブルマウスクリックを使用できます。
ルール
- これはcode-golfで、バイト単位の最短回答が勝ちます。
- 標準的なコードとゴルフの抜け穴が適用されます。
- プログラムは(理論的には)永久に実行可能でなければなりません。
00:05
が印刷後に約7000ミリ秒一時停止し、ある時点で再開する場合00:06
、再開キーを押してから3000ミリ秒後に表示する必要がありますか、または再開キーを押してから1秒後に印刷しても大丈夫ですか?