うーん、実用性がなさそうです... 全問正解でも全問不正解でも何もおこりません(汗
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でやるもんだからプログラムもフォームも大分ちがってしまいますし。
問題点といえば解答の位置が毎回同じだということです。