ルービックキューブで簡単に時間差を計るソフトが欲しかったのでPHPスクリプトで実装。
大したことはやってませんが、十分な機能になっていると思います。
実際に動かすと以下のように出力されます。
Are you ready? Press enter.>>>
To stop, press enter again.>>>
Span : **** 13.39122 sec ****
PHPソースはこんな感じ。
#!/usr/bin/php
<?php
/************************************************************
* ルービックキューブ時間測定 --- qCp *
* このプログラムはエンターキーのみで時間差を計ります *
* URL : http://www13.atpages.jp/llan/wp/ *
***********************************************************/
/*>>>>>>>>>> 関数を呼び出した時間差を求める <<<<<<<<<<*/
function timespan()
{
static $t = false; // 計算に使う基軸タイム
/* 初動は false を返す */
if ($t == false) {
$t = microtime(true);
return false;
}
/*
* 新旧の差を割り出して、新しい時間に差し替える
*/
$n = microtime(true);
$span = $n - $t;
$t = $n;
return $span;
}
echo ("Are you ready? Press enter>>>");
fgets(STDIN);
timespan();
echo ("To stop, press enter again>>>");
fgets(STDIN);
$t = timespan();
printf ("Span : **** %.5f sec ****\n", $t);
一行で実行したい場合は
$ php -r 'function ts() { static $t = false; $n = microtime(true); $span = $n - $t; $t = $n; return $span;} echo ("Are you ready? Press enter>>>"); fgets(STDIN); ts(); echo ("To stop, press enter again>>>"); fgets(STDIN); $t = ts(); printf ("Span : **** %.5f sec ****\n", $t);'
と、上記をコピペするだけで実行できます(Unix系では)。
Windowsでは"(ダブルクォーテーション)と'(シングルクォーテーション)をいじる必要があります。
0 件のコメント:
コメントを投稿