リアクション速度テスト
赤→緑に変わった瞬間にクリック、反応速度を計測して平均とランクを表示。
アプリを試す
別タブで開く ↗ユーザーが投稿した外部アプリを埋め込み表示しています。表示されない場合は「別タブで開く」からご利用ください。
画面が赤から緑に変わった瞬間にクリックして、反応にかかったミリ秒を測るテストです。5回続けて計測し、平均値からランクを出します。フライングも検出します。自分の反応が速いのか遅いのか、体感でしか言えなかったものに数字を付けたくて作りました。
こんなときに使う
- 対戦ゲームで反応負けが続いたとき、実際に何ミリ秒かかっているのか確かめたい
- 寝起きと夜、カフェインの前後などで自分の反応がどれだけ変わるか比べたい
- マウスやモニターを買い替えたあと、体感の差を数字で確かめたい
- 友人と同じ条件で測って、結果を見せ合いたい
使い方
- 「スタート」を押します。画面に手順が4行で出ているので、初めてでも読めば分かります。
- 大きなエリアが赤くなり「待て…」と表示されます。ここでは何もせずに待ちます。
- 緑に変わって「今だ!」と出た瞬間にクリックします。かかった時間がミリ秒で記録されます。
- これを5回くり返します。エリアの下の丸いドットが、何回済んだかを示します。
- 5回終わると結果画面に切り替わります。「もう一度」で再挑戦、「結果をシェア」で共有用のテキストを作れます。
赤い間に押してしまうと、画面が黄色くなって「早すぎ!」と表示されます。この回は記録されず、もう一度クリックすると同じラウンドをやり直せます。回数が減ることはありません。
仕様と機能
| 項目 | 値 |
|---|---|
| 計測回数 | 5回 |
| 緑になるまでの待機 | 1.5秒〜4.5秒のランダム |
| 計測方法 | performance.now() の差分を四捨五入 |
| 自己ベスト | 5回のうちの最速値。localStorage に保存 |
ランクは5回の平均値で決まります。
| 平均 | ランク |
|---|---|
| 180ms 未満 | プロゲーマー級 |
| 220ms 未満 | 超人 |
| 270ms 未満 | 上級者 |
| 330ms 未満 | 平均的 |
| 420ms 未満 | のんびり |
| 420ms 以上 | ねむい? |
結果画面には平均値のほかに、5回分の記録が横並びで出ます。そのうち最速のものだけ色が変わります。自己ベストが更新されたときは保存され、次に開いたときのスタート画面に「自己ベスト最速」として表示されます。
「結果をシェア」は、端末が共有機能を持っていればそれを呼び出し、使えない場合や取り消した場合はクリップボードへのコピーに切り替わります。コピーできると、ボタンの表示が2秒だけ「コピーしました」に変わります。
作るときに決めたこと
待機時間をランダムにしたのは、当たり前のようで一番大事な部分です。固定秒にすると数回で間隔を覚えてしまい、反応ではなく予測を測ることになります。下限を1.5秒にしたのは、押した直後に緑になると押しっぱなしの惰性で当たってしまうため。上限を4.5秒にしたのは、それ以上待たせると集中が切れて、遅さの原因が反応速度なのか飽きなのか分からなくなるからです。
計測に performance.now() を使い、Date.now() を避けたのも意図があります。前者はミリ秒より細かい精度で単調に増える時刻を返すので、システム時刻の補正に影響されません。数十ミリ秒を競る計測でこれは無視できない差です。
フライングを「失格」ではなく「同じラウンドのやり直し」にしたのは、5回という回数を守るためです。フライング分を1回とカウントすると平均が壊れ、逆にペナルティなしで次に進めると、押しっぱなしで最速値が取れてしまいます。記録には入れず回数も減らさない、という中間に落ち着けました。
自己ベストとして残すのは平均ではなく5回中の最速値にしています。平均は当日の体調や集中に引きずられやすいのに対し、最速値は「一番良かったときの自分」を表す指標として安定するからです。日付ごとの履歴は残していません。それをやると結果画面の情報量が一気に増え、5回押して終わる気軽さが失われると判断しました。
注意点
- 計測値にはモニターの表示遅延、入力機器の遅延、ブラウザの描画タイミングが含まれます。純粋な人間の反応速度ではなく、環境込みの値として見てください。
- 記録はブラウザの localStorage に保存され、外部には送信されません。別の端末とは共有されず、サイトデータを消すと自己ベストも消えます。
- ランクの区切りは目安として設定した値で、医学的・統計的な根拠にもとづくものではありません。遊びの指標として扱ってください。