4

私のスペリング ゲームには、単語が入力されたグリッドがあります。単語は隠されています。ゲームの目的は、音と絵を使って強調表示された単語を綴ることです。

単語を強調表示するには、「次へ」ボタンを押します。この時点で単語のつづりが正しい場合は「よくできました」と表示され、次の単語に進むことができますが、つづりが間違っている場合は、単語が完成するまで試行を続ける必要があります。

ゲームは子供向けに設計されているため、これが最善のアプローチだとは思わないため、3 回失敗した後に進むことができるようにしたいと考えています。

私はスクリプトをいじって、間違った試行にカウンターを置き、ボタンをアクティブにしようとしましたが、機能しないようです。誰か助けてくれませんか?

ボタンのスクリプトはこちら

var noExist = $('td[data-word=' + listOfWords[rndWord].name + ']').hasClass('wordglow2');
if (noExist) {
    $('.minibutton').click();

} else {
    $('.minibutton').click('disable');
    $("#mysoundclip").attr('src', listOfWords[rndWord].audio);
    audio.play();
    $("#mypic").attr('src', listOfWords[rndWord].pic);
    pic.show();
}
});

「wordglow2」は、単語のスペルが正しい場合に適用されるスタイルです。ここに理解を助けるためのフィドルがあります... http://jsfiddle.net/smilburn/ZAfVZ/4/

4

2 に答える 2

2

できることは、jQueryの.data()関数を使用して、各TRにカウンターをアタッチすることです。試行が失敗した場合は、カウンターをインクリメントし、それに基づいてボタンを無効にするか有効にするかを決定します。送信したjsfiddleを変更し、この動作を追加しました。コメントのある行を見てください(Ctrl + Fを押して見つけることができます)//ここで編集

http://jsfiddle.net/dflor003/ZAfVZ/7/

于 2012-10-09T16:56:42.880 に答える
2

スクリプトにグローバル変数を追加する

var numberOfTries = 0;

次に、$('.drag').on('click') リスナー コールバックに、単語が正しいか正しくないかを判断する if ステートメントがあります。

if (!$('.drop-box.spellword:not(.occupied)').length)

if ステートメント内で、numberOfTries を 0 にリセットします。else ステートメント内に、次のように記述します。

numberOfTries++;
if (numberOfTries >= 3)
{
    $('.minibutton').prop('disabled', false);
}

これにより、試行回数がカウントされ、3 回目の試行後に「次へ」ボタンが有効になります。ユーザーが正しい単語を取得すると、変数が 0 にリセットされます。

于 2012-10-04T21:35:02.453 に答える