ロゴ

サンプルプログラム

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属性で隠しましょう。

■答え
点数を入力してください: