gpt4 book ai didi

javascript - 如何让 Screeps 找到资源?

转载 作者:行者123 更新时间:2023-11-29 23:55:56 30 4
gpt4 key购买 nike

在 Screeps 中,这段代码不起作用:

var sources = creep.room.find(Game.FIND_SOURCES_ACTIVE);

它是这样说的:

Cannot read property 'find' of undefined

我一直在四处寻找,找不到任何其他方式来查找资源。

我还注意到大多数其他人的代码在实际游戏中都不起作用,甚至教程的代码也不再起作用。

最佳答案

我不能完全确定你的问题,因为我没有你的完整代码可以解决,但一个问题可能是 creep 未定义。

您需要在代码中的某处定义 creep,例如用于循环遍历游戏或房间中的每个 creep 的 for 循环。

var roleMiner = require('role.miner') // role.miner being the module name for miner actions
for(var name in Game.creeps) {
var creep = Game.creeps[name];
//
// do whatever you wish with the current selected creep.
//
// most of the time you will call a module similar to what the tutorials suggest and put your actions for it in there
//
if(creep.memory.role == 'miner'){
roleMiner.run(creep); // passes the current selected creep to the run function in the module
}
}

因此,在您的 roleMiner 模块中,您将拥有定义矿工操作的内容。

var roleMiner = {
run: function(creep) {
// this one returns an array of the sources that are in the room with the creep
var sourcesRoom = creep.room.find(FIND_SOURCES);

// this one returns the source object which is closest to the creeps positon
var sourcesClose = creep.pos.findClosestByRange(FIND_SOURCES);
}
}
module.exports = roleMiner;

希望这对您有所帮助。

关于javascript - 如何让 Screeps 找到资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41707132/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com