2.四者択一クイズ フォーム版

うーん、実用性がなさそうです... 全問正解でも全問不正解でも何もおこりません(汗

[実行結果]

四者択一クイズ フォーム版

1
2
3
4



使い方

Startを押すと問題が出題されます。
答えが1〜4のフォーム内にあるのでとなりのボタンを選びNextボタンを押します。
下に正解か不正解(の場合答えがでる)、正答率、のこり問題数などが出ます。

とりあえず5問入っています、今回は足し算しか入っていませんが文章題も出すことはできます。 とりあえず使えるようにはなっていますが、課題研究が進んできたら進化するかも・・・

問題の作り方

QuestionNumber=5;
ここで問題数を設定します。

Question[000]=new Array( //問題番号をいれる 0から始めてください
  '1+1=',    //問題をここに記入(文章題でもOK) \nを入れると改行できる
  '5,2,1,3', //解答をここに入れる(文章でもOK) 一つの解答を , で区切る
  '2'        //答えの場所を指定
);

[プログラム]

<form name="form1">
   <textarea name="TextOut" cols="50" rows="10"></textarea><br /><br />

   1<input type="radio" name="radio1"><input type="text" size="60" name="text1"><br />
   2<input type="radio" name="radio1"><input type="text" size="60" name="text2"><br />
   3<input type="radio" name="radio1"><input type="text" size="60" name="text3"><br />
   4<input type="radio" name="radio1"><input type="text" size="60" name="text4"><br /><br />

   <input type="text" size="60" name="text12"><br />
   <input type="text" size="60" name="text10"><br />

   <input type="button" name="button1" value="Start" onClick="Q_A4_out()">
   <input type="reset" name="button2" value="Reset" onClick="Reset1()">
</form>

<script type="text/javascript" charset="Shift_JIS">
   QuestionNumber=5;

   Question=new Array(QuestionNumber);
   Question[000]=new Array(
      '1+1=',
      '5,2,1,3',
      '2'
   );

   Question[001]=new Array(
      '2+2=',
      '2,3,4,1',
      '3'
   );

   Question[002]=new Array(
      '3+3=',
      '7,5,11,6',
      '4'
   );

   Question[003]=new Array(
      '4+4=',
      '8,5,7,15',
      '1'
   );

   Question[004]=new Array(
      '5+5=',
      '0,10,9,12',
      '2'
   );

   for(A in Question)   Question[A][1]=Question[A][1].split(",");

   flag=0;
   Reset1();

   function Q_A4_out()
   {
      if(flag1==1){
         if(document.form1.radio1[Question[Qcount][2]].checked){
            document.form1.text12.value="正解";
            Point++;
         }else{
            document.form1.text12.value="不正解 正解は"+Question[Qcount][1][(Question[Qcount][2])];
         }

         document.form1.radio1[0].checked=false;
         document.form1.radio1[1].checked=false;
         document.form1.radio1[2].checked=false;
         document.form1.radio1[3].checked=false;
         Qcount++;
         document.form1.text10.value="現在の正答率"+Math.round((Point/Qcount)*100)+"% 残り"+(QuestionNumber-Qcount)+"問";

         if(Qcount == QuestionNumber){
            Reset1();
            alert("end");
         }

      }else if(flag1==0){
         flag1=1;
         document.form1.button1.value = "Next";
         document.form1.text10.value="";
         document.form1.text12.value="";
      }

      if(flag1==1) Q_A4_in();
   }

   function Q_A4_in()
   {
      document.form1.TextOut.value=Question[Qcount][0];
      document.form1.text1.value=Question[Qcount][1][0];
      document.form1.text2.value=Question[Qcount][1][1];
      document.form1.text3.value=Question[Qcount][1][2];
      document.form1.text4.value=Question[Qcount][1][3];
   }

   function Reset1()
   {
      Qcount=0;
      flag1=0;
      Point=0;

      for(i=0;i<100;i++){
         Q1=Math.floor(Math.random() * (QuestionNumber-1));
         Q2=Math.floor(Math.random() * (QuestionNumber-1));
         BackUp=Question[Q1];
         Question[Q1]=Question[Q2];
         Question[Q2]=BackUp;
      }

      document.form1.TextOut.value="";
      document.form1.text1.value="";
      document.form1.text2.value="";
      document.form1.text3.value="";
      document.form1.text4.value="";

      document.form1.button1.value="Start";
   }
</script>

[裏話]

四者択一クイズは学校の課題研究でつくるモノのイメージをつかむためにつくってみました。 現在(2002/11/04)となってはまったく意味のないものとなってしまいましたが。 VBでやるもんだからプログラムもフォームも大分ちがってしまいますし。

問題点といえば解答の位置が毎回同じだということです。


© 2000-2003 Tsukimi / HobbySpace