我一直在尝试使用PhoneGap并设法创建一个基本的记忆游戏,它会逐渐淡入和淡出一系列数字,期望用户正确地重复它。只有裸骨,所以在你完成序列之前你不会得到任何确认。
可以在此处访问游戏:http://jdtremelling.com/mobile/index.html
如果您喜欢它,出于测试目的,可以通过扫描此QR码下载该应用程序:
问题是当应用程序加载时,序列中只有一个数字闪烁,然后没有其他任何事情发生。就好像递归函数永远不会执行一样。
使用随机数列表初始化JS数组的代码(增加每个级别的大小),然后显示第一个序列:
function initialiseArrays(){
for(var i=4; i<9; i++){
var numbers = [];
for(var j=0; j<i; j++){
numbers.push(Math.floor(Math.random() * (max - min) + min));
}
allNumbers.push(numbers.slice());
}
fadeThemOut(allNumbers[0]);
}
递归JavaScript函数:
function fadeThemOut(children) {
var tmp = [];
for(var i=0; i<children.length; i++){
tmp[i] = children[i];
}
if (tmp.length > 0) {
var currentChild = tmp.shift();
switch(currentChild){
case 1:
$('#one').fadeOut('slow').delay( 800 ).fadeIn('slow', function() {
fadeThemOut(tmp);
});
break;
case 2:
$('#two').fadeOut('slow').delay( 800 ).fadeIn('slow', function() {
fadeThemOut(tmp);
});
break;
case 3:
$('#three').fadeOut('slow').delay( 800 ).fadeIn('slow', function() {
fadeThemOut(tmp);
});
break;
}
}
}
答案 0 :(得分:1)
尝试更改:
fadeThemOut(allNumbers[0]);
到
fadeThemOut(allNumbers);