我正在制作一个记忆匹配游戏,你可以将两张牌翻过来让它们匹配。
我正在使用简单的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
}
正如你可以看到两张牌是否匹配,他们被设置为显示:无。我想要做的是链接到一个“结束游戏”html页面,一旦所有36个div设置为display:none或者我想一旦函数delayMatch()被调用了18次。
我完全不知道如何做到这一点。
我的目标是这样的:
flippedArray [0]和flippedArray [1]只是一个临时数组,用于检查当前正在播放的两张牌是否匹配。
我在想这样的事情:
endGameCounter =0;
endGameCounter++; //in the matching if-statement
then if(endGameCounter == 18)
{
location.href='link here'
}
答案 0 :(得分:0)
尝试
function GameIsOver(){
for (var i = 0; i < allCards.length; i++) {
if(allCards[i].style.display === 'none')return false;
}
return true;
}
答案 1 :(得分:0)
您可以在页面内使用一个变量进行计数。 如果您在JSP中执行此操作,JSTL可以在此处为您提供帮助。
用于设置变量,只是检查时间值。
c:set var="COUNT" value="SOMETHING"/>