ストップウォッチ-キー入力タイプ

説明

シンプルなストップウォッチです。キーを押すと計測が開始されます。再度キーを押すと計測が終わります。

Studioで試す

以下のリンクから Jasmine Tea でこのサンプルプログラムを Studio 画面で開いて実際に試すことができます。プログラムを実行したいときは、エディターの右下にある青色の「実行」ボタンを押してください。

Studio で開く

プログラム

// ストップウォッチ。キーを押すとスタート。もう一度キー入力で停止
cls
print "キーを押すと計測開始"
do
  if inkey$()<>"" then
    exit do
  end if
loop
cls
s=time()
do
  t=time()
  n=(t-s)/1000
  locate 0,0
  print n;"秒"
  if inkey$()<>"" then
    exit do
  end if
loop

解説

プログラムは大きく2つに分かれています。2〜9行目までが計測を開始する前の処理です。キーが入力されれるまで待つ必要があるのでdo...loopを使って無限に繰り返します。キーが入力されたかどうかはinkey$()を使います。空文字である""と比較することで何らかのキーが入力されたかをチェックすることができます。キーが押されたら無限ループから抜けます。do...loopから抜けるにはexit doを使います。これによりloopの次の行に処理が移ります。

10行目で計測開始時間を返すtime()の値を変数sに入れます。time()はプログラムが実行されてからの時間をミリ秒で返します。1秒は1000ミリ秒になります。

11〜19行目までがリアルタイムに時間を表示する部分です。12行目で現在の時間を変数tに入れます。変数tから変数sの値を引き算すれば計測開始からの時間を求めることができます。このままだとミリ秒になってしまうので、1000で割ることで秒数になります。

15行目で現在の秒数を表示します。

16〜18行目はキーが押されたら無限ループから抜ける処理になります。