2013-09-03 1 views
0

Я экспериментировал с PhoneGap и сумел создать игру с основной памятью, которая затухает последовательность чисел внутрь и снаружи, ожидая, что пользователь повторит ее правильно. Есть только голые кости, поэтому вы не получите подтверждения щелчка, пока не закончите последовательность.Рекурсивная функция JQuery в PhoneGap

В игре можно получить здесь: http://jdtremelling.com/mobile/index.html

И если вы представляете себе это, для целей тестирования, приложение может быть загружено с помощью сканирования этот QR-код: enter image description here

Проблема заключается в том, что только один номер мигает в последовательности, когда приложение загружается, а затем ничего не происходит. Как будто рекурсивная функция никогда не выполняется.

код для инициализации массива 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 Funciton:

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

Необходимо отправить код –

+0

Извините! Я собирался, а потом забыл. Подожди. – Jon

+0

Этот QR-код не предназначен для рекламы моего приложения. Это было так, что вы можете видеть, что это не работает! Кто хотел бы использовать сломанное приложение? – Jon

ответ

1

Попробуйте изменить:

fadeThemOut(allNumbers[0]); 

в

fadeThemOut(allNumbers); 
+0

Спасибо, но allNumbers - это массив массивов, и я просто получаю доступ к первой записи, чтобы начать игру. К сожалению, следовало бы упомянуть. – Jon