2014-11-21 99 views
2

我玩的屏幕(http://screeps.com),我正在嘗試使用lodash模塊來過濾我的收割機。下面的代碼應該工作,但是當我運行它時,我得到一個ReferenceError: _ is not defined at <main>:6:18。有什麼不對?遊戲屏幕 - 使用lodash模塊

var harvesters = _.filter(Game.creeps, {memory: 'harvester'}); 
if(_.size(harvesters) < 3 && Memory.creep_queue.length===0) { 
    Memory.creep_queue.push('harvester') 
} 

回答

7

當使用lodash模塊,有必要要求它到模塊的beggining像下面一個變種,然後它應該工作:

var _ = require('lodash'); 
+0

Lodash已經在[simulation](https://screeps.com/a/#!/sim)中導入。 – Basilevs 2015-09-01 16:46:38

+0

不再需要這樣做。 lodash默認包含在內。 – jfren484 2017-04-24 19:53:32

0

修訂

你可以這樣寫你的代碼:

var harvesters = room.find(Game.creeps, { 
    filter: {memory: 'harvester'} 
}); 

if(harvesters.length < 3 && Memory.creep_queue.length === 0) { 
    Memory.creep_queue.push('harvester'); 
} 

自2014-12-01以來,沒有必要以黑客的方式找到room。現在有一個全球功能Game.getRoom()

OLD片段:唯一的問題是有room價值,但你可以從例如得到它。 Game.spawns.Spawn1.room