2 枚のカードを裏返して一致させるメモリー マッチ ゲームを作成しています。
以下に示すように、単純な if ステートメントでそれを行っています。
if(click == 2) //denotes two cards being clicked
{
if(flippedArray[1].src === flippedArray[0].src) // if click 1 == click 2 then refer to function 'delayMatch' which sets click 1 and 2 cards to not be displayed
{
window.setTimeout(function() { delayMatch() }, 500);
console.log("EQUAL");
score = +25000;
}
else
{
window.setTimeout(function() { delayNoMatch() }, 500); // if click 1 != click 2 then display card.png
console.log("NOT EQUAL");
score = -1999;
}
function delayMatch() //function for matching pairs
{
flippedArray[0].style = "display:none;";
flippedArray[1].style = "display:none;";
}
function delayNoMatch() //function for non-matching pairs
{
flippedArray[0].src = "card.png";
flippedArray[1].src = "card.png";
}
click = 0; // when clicked two cards set click back to zero
}
ご覧のとおり、2 つのカードが一致するかどうかは、display:none に設定されています。私がやろうとしているのは、36 個の div すべてが表示されるように設定されたら、「ゲーム終了」の html ページにリンクすることです: なしまたは関数 delayMatch() が 18 回呼び出されたらと思います。
どうすればこれができるのか、私は完全に途方に暮れています。
私の目標は次のようなものです:
FlippedArray[0] と FlippedArray[1] は、現在プレイ中の 2 枚のカードが一致するかどうかを確認するための単なる一時的な配列です。
私は次のようなことを考えていました:
endGameCounter =0;
endGameCounter++; //in the matching if-statement
then if(endGameCounter == 18)
{
location.href='link here'
}