我正在製作HTML5遊戲卡片的塔臺遊戲。我有一個塔的AI的子程序。但是,由於某種原因,沒有循環的這個函數調用會以無限循環結束。只有至少有兩個塔時纔會發生。爲什麼最終會導致Javascript中的無限循環?
function aiTower(id){
if(id === 1)alert("towerId = 1 call 1");
var l = zamerajCiel(id);
if (l !== null) towers[id].shoot(l.x,l.y);
if(id === 1)alert("towerId = 1 call 2");
};
調用它的循環:
function aiLoop(){
for(i=0;i<enemies.length;i++){
aiMon(i);
}
for(i=0;i<towers.length;i++){
aiTower(i);
if(i === 1)alert("towerId = 1 call 3");
}
}
調試封郵件是交替 「towerId = 1級的呼叫1」 和 「towerId = 1次調用2」,所以這個問題可能不是在aiLoop()。此外,我用一個正則表達式來搜索我的代碼aiTower()。這是唯一的兩次發生。
我想我們也需要'.shoot'和'zamerajCiel'的代碼。只是一個建議:使用'console.log('msg你想看'''),如果你使用螢火蟲它將是一個偉大的記錄工具。 https://getfirebug.com/logging – p1100i