サンプルプログラム
jqueryを使用しています。ヘッダーにjQueryを組み込む宣言をしておきましょう。
jQueryの宣言
<script type="text/javascript" src="../js/jquery-1.4.2.min.js"></script>
問題を作成する処理
$("button.make-mondai").click(function() { var humax = eval($("select.humax").val()); //符の最高値をリストから取得 var humin = eval($("select.humin").val()); //符の最低値をリストから取得 var huhani = Math.random()*(humax-humin)+humin;//符を算出 var hu = Math.round(huhani/10)*10; ////10未満を丸める var hanmax = eval($("select.hanmax").val()); //翻数の最高値をリストから取得 var hanmin = eval($("select.hanmin").val()); //翻数の最低値をリストから取得 var hanhani = Math.random()*(hanmax-hanmin)+hanmin;//翻数を算出 var han = Math.round(hanhani); //1未満を丸める $("input.hu-mondai").val(hu); $("input.han-mondai").val(han); //alert(hu); //求めた符をダイアログボックスに表示する //alert(han); //求めた翻数をダイアログボックスに表示する /* 通常計算 */ suten = hu * Math.pow(2,han) * 4 * 4; ten1 = Math.ceil(suten*1.5/100) * 100; ten2 = Math.ceil(suten/100) * 100; /* 13翻以上 */ if (han>=13) { ten1 = 48000; ten2 = 32000; } /* 11翻以上 */ if ( han >= 11 && han <=12) { ten1 = 36000; ten2 = 24000; } /* 8翻以上 */ if ( han >= 8 && han <=10) { ten1 = 24000; ten2 = 16000; } /* 6翻以上 */ if ( han >= 6 && han <=7) { ten1 = 18000; ten2 = 12000; } /* 5翻 */ if ( han == 5 ) { ten1 = 12000; ten2 = 8000; } /* 130符以上かつ2翻 */ if ( hu >= 130 && han ==2) { ten1 = 12000; ten2 = 8000; } /* 70符以上かつ3翻 */ if ( hu >= 70 && han ==3) { ten1 = 12000; ten2 = 8000; } /* 40符以上かつ4翻 */ if ( hu >= 40 && han ==4) { ten1 = 12000; ten2 = 8000; } //親と子を算出して、条件にあった値を出力する var oyako = Math.ceil( Math.random()*2 );//親が「1」、子が「2」 if (oyako == "1"){ oyako = "親"; tensu = ten1; } else if (oyako == "2"){ oyako = "子"; tensu = ten2; } $("input.oyako-mondai").val(oyako); $("input.tensu-kekka").val(tensu); });
回答をチェックする処理
// 回答チェック $("button.tensu-kaiou").click(function() { var a = eval($("input.tensu-kekka").val()); var b = eval($("input.tensu-kaitou").val()); if (a==b){ alert("正解です^^"); }else{ alert("不正解です。正解は " + a + " です^^;"); } });
例:問題の作成と回答チェック
操作例
符の設定 最低値: 最高値:翻数の設定 最低値: 最高値:
■問題
符 翻 ←答えです。稼動時はhidden属性で隠しましょう。
■答え
点数を入力してください: