1. 簡易反射神経測定

簡単に反射神経を測定するためにつくってみました。 シンプルで面白いとおもいますよ。

[実行結果]

簡易反射神経測定
表示
結果
平均
履歴

使い方

Startボタンを押して、表示のところに「押せ!!」と出た瞬間にStopボタンを押す。それだけです。

StopボタンはStartボタンを押すとStopボタンに変わります 「押せ!!」がでてからの時間と押すまでの時間が[結果]にでます。

だいたい人間が目から認識して脳から命令を出すまで約0.2秒です。 なので、0.2秒〜0.3秒ぐらいで正常だと思います。

ボクは5回平均0.224でした、やればやるほど記録が落ちていくw

JavaScriptの性質上0.01秒までしか測定できません。本来なら0.001まで測定するとよいのですが... 下手すると毎回同じ人がいるかも。

あくまで簡易でこの時間は完全に正確ではありません。 といっても誤差はほとんどありませんけどね^^;

[プログラム]

<script type="text/javascript" charset="Shift_JIS">
   Flag1=0;
   Out="";
   Count1=0;
   TotalTime="";
   Average=0;
   StartTime=new Date();

   function ReflexTime()
   {
      for(Q=0;Q<3;Q++){
         Byou=Math.floor(Math.random() * 10);
         MilliByou=Math.floor(Math.random() * 10);

         if(Byou>5 || Byou<2){
            Byou=Math.floor(Math.random() * 10);
            Q--;
         }
      }

      LimitTime=Number(Byou+"."+MilliByou);

      if(Flag1 == 0){
         Flag1=1;
         document.form1.button1.value = "Stop!";
         document.form1.ResultOut.value="";
         DownTime();
      }else if(Flag1 == 1){
         Flag1=0;
         document.form1.button1.value = "Start";
         clearTimeout(CountDown);
         Outcome();
      }
   }


   function DownTime()
   {
      LimitTime=LimitTime-0.1;

      CountDown=setTimeout("DownTime()",100);

      if(LimitTime <= 0){
         clearTimeout(CountDown);
         document.form1.IndicationOut.value="押せ!!";
         StartTime=new Date();
      }
   }


   function Shisha(P)
   {
      keta=3;
      Ee=Math.pow(10,keta);
      N=(P)*Ee
      N=Math.round(N);
      N=N/Ee;
      return(N);
   }


   function Outcome()
   {
      StopTime=new Date();
      total=((StopTime-StartTime)/1000);
      document.form1.ResultOut.value=total+"秒";

      Count1++;
      Out=Count1+"回目"+total+"秒\n"+Out;
      document.form1.TextOut.value=Out;

      TotalTime=Number(TotalTime+total);
      Average=TotalTime/Count1;
      document.form1.AverageOut.value=Shisha(Average)+"秒";

      document.form1.IndicationOut.value="";
   }


   function Reset()
   {
      TotalTime=0;
      Average=0;
      Count1=0;
      Out="";
      document.form1.ResultOut.value="";
      document.form1.AverageOut.value="";
      document.form1.TextOut.value="";
   }
</script>

<form name="form1">
   <input type="button" name="button1" value="Start" onClick="ReflexTime()">
   <input type="button" name="button2" value="Reset" onClick="Reset()"><br />

   表示<input type="text" size="10" name="IndicationOut"><br />
   結果<input type="text" size="10" name="ResultOut"><br />
   平均<input type="text" size="10" name="AverageOut"><br />
   履歴<br />
   <textarea name="TextOut" cols="12" rows="10"></textarea>
</form>

[裏話]

ちょっとは話でも書いてみようかと思ったけど、つくったのが前過ぎて忘れちゃってます。 つくったキッカケはなんとなくだと思いますよ、多分。 ちょっと自分で作って遊んだ記憶があります。

自分がつくったプログラムなのにもう見直す気もありません。 だいたいどの変数が何に使ってるか分かりません、変数を何に使うかメモっておかないとダメですね。 最近は一応つけています。


© 2000-2003 Tsukimi / HobbySpace