4

私は現在、コンテナ内に 0 ~ 9 の div がランダムに表示される、小学生向けの新しい数学ゲームを作成するための調査を行っています。

冒頭に質問が出ます。20 の倍数のようなものです。ユーザーは正しいものをクリックする必要があり、最後にそれらがカウントされ、スコアが与えられます。

基本的な構造ができた時点で、div がポップアップ表示され、クリックすると正解が追加されます。つまり、この時点で間違った答えはありません。

正しい答えと間違った答えを決定する最善の方法が何か知りたいです。答えが正しいか間違っているかを判断するために使用できるアルゴリズムはありますか?それをdivにどのようにリンクしますか?

<div id="container">
    <div id="char1" class="character right1" vaule="1"></div>
    <div id="char2" class="character right2" vaule="2"></div>
    <div id="char3" class="character right3" vaule="3"></div>
    <div id="char4" class="character right4" vaule="4"></div>
    <div id="char5" class="character right5" vaule="5"></div>
    <div id="char6" class="character right6" vaule="6"></div>
    <div id="char7" class="character right7" vaule="7"></div>
    <div id="char8" class="character right8" vaule="8"></div>
    <div id="char9" class="character right9" vaule="9"></div>
    <div id="char9" class="character right0" vaule="0"></div>
</div>

間違った答えには、「.right」の代わりに「.wrong」というクラスが与えられます。

フィドル: http://jsfiddle.net/SKB3Q/10/

4

3 に答える 3

1

実はこれに似た風船ゲームをやってみました...

デザインとアニメーションの作業を完全に行ったので、作業の70%が完了しました:D、ロジックの小さな変更で作業が完了します......

私の解決策は次のようになります:コンテナ内のdivが静的であり、それらのIDを指定した場合、ステップ1:クリックされたdivを確認し、次にどの値が割り当てられているかを確認します

ステップ2:(要件に応じて)ここでブール式を確認し、ブール式に従ってグローバルに宣言されている正しいフラグまたは誤ったフラグを増やします

あなたを助けるかもしれないサンプルコード

for(var i=0;i<8;i++)
{
    $("#char"+i).click(function(){
        //boolean expression comes here
        //increase the correct count or the incorrect count you want to do it
    })
}
于 2012-10-22T10:08:31.610 に答える
1

最初に行う必要があるのは、正しいか間違っているかの概念を理解するための質問を考え出すことです。

例: 「20 より大きいすべての数字をクリックしてください」

2 番目に行う必要があるのは、この質問を true または false に評価されるブール式として表現することです。

(selection>20)

次に、選択ごとにこの式を評価して、正しいか間違っているかを判断します。

これが私の言いたいことの例です。ゲームが始まる前に、スクリプトは各要素に適切なクラスを追加します。問題は「5より大きい数をすべて選べ」

于 2012-10-22T09:48:29.007 に答える
0

char1、char2、char3、....がランダムに作成されたdivであり、1,2,3、.....がそれに関連付けられている値である場合、私はあなたのコードを正確に見ませんでした。次に、このコードを試してくださいお知らせ下さい

<script type="text/javascript">
    for (var i = 0; i < 8; i++) {
        $("#char" + i).click(function () {
            var val = $("#char" + i).val(); // so by this you will get the which one is clicked
            if (val % 15 == 0)
                hit++;
            else
                miss++;

            $("#hit").html("correct: " + hit);
            $("#miss").html("Incorrect: " + miss);
        })
    }
</script>

これにより、div が有効になり、ユーザーがそれをクリックすると、この関数が呼び出され、ブール式がチェックされ、ヒットまたはミス フラグが適切に増加します。

注: Char1、char2、... がランダムに有効な div であると仮定すると、適切にランダムに作成された div の条件を記述しない場合、正常に動作します。

「ブール式を変更するだけで倍数を確認できます。上で指定したのは (val%15 == 0 )」

于 2012-10-22T11:07:06.297 に答える