你可以做這樣的事情:
if(Number(Harvesters.name.slice(-1)) < 3)
Game.spawns.Spawn1.createCreep([Game.WORK, Game.CARRY, Game.MOVE],'Harvester'+ Harvesters.length, 'Harvester');
在這裏是要注意的事情索引不是一個屬性,欺騙性的id屬性是唯一的,因此不是你要找的。此代碼,而不是着眼於當前爬行的名稱,得到的最後一個字符,然後輪流到這一個數字,並將其與3
你分配內存的方式是好的,但。如果你真的想要,你可以在那裏做一個對象,但是現在你怎麼設置它似乎是不必要的。它應該是這樣的:
Game.spawns.Spawn1.createCreep([Game.WORK, Game.CARRY, Game.MOVE],'Harvester'+ Harvesters.length, {role: 'Harvester'});
而且你必須一定要改變你的memory
檢查memory.role
。
重讀,我想我所做的並不是真的你在問什麼。如果我理解正確的話這應該更好地工作(雖然不漂亮)
module.exports = function() {
var totalHarv = 0;
for(var q in Game.creeps)
if (Game.creeps[q].memory == 'Harvester')
totalHarv++;
for(var i in Game.creeps) {
if(Game.creeps[i].memory == 'Harvester') {
while(totalHarv < 3) {
Game.spawns.Spawn1.createCreep([Game.WORK, Game.CARRY, Game.MOVE], 'Harvester'+ totalHarv, 'Harvester');
totalHarv++;
}
}
}
}
這遍歷毛骨悚然,如果它發現一個收穫,那麼以後當你試圖產卵之類的東西,它可以檢查計數器加一看看是否有足夠的人,如果有必要增加更多。
你要分配內存中的角色預先存在的小兵或派生小兵已經分配了角色? – dlkulp 2014-11-21 10:10:15
產卵潛伏着已分配的角色,以便一個人死於另一個人。 – Axenth 2014-11-21 10:26:37