小さなパズル/記憶ゲームの場合、パズルの 2 つのピースを比較したいと考えています。それらが同じ(同じ文字を持っている)場合、私は警告したい(「一致」)。私は正しい道を進んでいると思いますが、変数の 1 つが範囲外のようです。コードのどこに配置すればよいかわからないためです。そのため、2 番目の部分が返されますが、最初の部分は未定義のままです。助けてください。とても感謝しています!
シャッフル & ショーをクリックし、その後 2 ピースをクリックすると、「未定義」ステートメントが表示されます。なぜ機能しないのか、何が機能するのか、そしてその理由を知りたい:P
HTML
<button id="shuffle">Show and Shuffle</button>
<div id="container">
<div class="choices"><div class="letter">A</div></div>
<div class="choices"><div class="letter">B</div></div>
<div class="choices"><div class="letter">C</div></div>
<div class="choices"><div class="letter">A</div></div>
</div>
JS
var amountofclicks = 0;
var firstcard = false;
var secondcard = false;
$('#shuffle').bind('click', function() {
var divs = $("div.choices").get().sort(function() {
return Math.round(Math.random());
}).slice(0, 16);
$(divs).appendTo(divs[0].parentNode).show();
});
$('.choices').bind('click', function() {
if (amountofclicks < 2) {
amountofclicks++;
$(this).unbind('click');
if (amountofclicks == 1) {
firstcard = true;
var txt = $(this).find('.letter').text();
}
if (amountofclicks == 2) {
secondcard = true;
var txt2 = $(this).find('.letter').text();
alert(txt + ' ' + txt2);
}
}
});