gpt4 book ai didi

screeps - Creep.moveTo() 是非阻塞方法吗?

转载 作者:行者123 更新时间:2023-12-01 18:04:38 27 4
gpt4 key购买 nike

        // Creep has Energy packed
creep.say('E: ' + creep.carry.energy);
if (creep.carry.energy > 0) {
creep.moveTo(creep.room.controller);
creep.upgradeController(creep.room.controller);
}
// Creep has no Energy
else {
creep.moveTo(Game.spawns.Spawn1);
Game.spawns.Spawn1.transferEnergy(creep, creep.carryCapacity);
creep.moveTo(creep.room.controller);
creep.upgradeController(creep.room.controller);
}

上面的代码应该发送一个 Creep 来升级 Controller 。当它没有能量时,它会去产卵处获取一些能量。但它并没有移动到生成点,而是停留在 Controller 处。

问题:哪个命令正在取消 creep.moveTo(Game.spawns.Spawn1);

我是否必须使用 Creep 的内存并添加一种状态,例如 isMoving: true 并跟踪它?

最佳答案

这正是你命令小兵要做的事情。倒数第三行将 moveTo 更改为 Controller 。删除此行和以下行。

如果你向 Creep 发送多个 moveTo,它只会执行最后一个。因为它覆盖了之前的 moveTo 命令。

关于screeps - Creep.moveTo() 是非阻塞方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31997285/

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