javascript - Screeps:计算 body 的构建成本

标签 javascript screeps

玩游戏的时候screeps.com我想计算 build 所需车身的成本。请参阅下面的尝试,其中 cfg.body 是 bodypart 数组,例如[Game.ATTACK, Game.MOVE, Game.WORK, Game.CARRY, Game.MOVE]:

var buildCost = 0;

for(var bodypart in cfg.body){
  switch(bodypart){
    case "MOVE":
    case "CARRY":
       buildCost+=50;
       break;
    case "WORK":
       buildCost+=20;
       break;
    case "HEAL":
       buildCost+=200;
       break;
    case "TOUGH":
       buildCost+=20;
       break;
    case "ATTACK":
       buildCost+=80;
       break;
    case "RANGED_ATTACK":
       buildCost+=150;
       break;
  }
  console.log(bodypart + " costs " + buildCost);
}

当打印 bodypart 到控制台时,它显示索引(0、1、2、3、...)并且 buildCost 保持为 0。

成本和零件描述on the Screeps page .

最佳答案

也许 BODYPART_COST 常量以前不可用,但有了它您可以这样做:

function bodyCost (body) {
    return body.reduce(function (cost, part) {
        return cost + BODYPART_COST[part];
    }, 0);
}

关于javascript - Screeps:计算 body 的构建成本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27101080/

相关文章:

javascript - 将类添加到动态创建的 HTML 节点

javascript - 使用 javascript 在新选项卡中打开链接停止工作

javascript - js功能无法实现跨浏览器兼容

javascript - 如何在javascript中对多维数组进行排序

javascript - 如何使用transferEnergy(creep)瞄准房间 Controller

typescript - Screeps:如何使用 TypeScript 和 Webpack 设置源映射?

javascript - 可以在 Screeps 中获取行号或堆栈跟踪吗?

javascript - Google Maps Api 检查地点是否在路线上

screeps - Screeps 中如何攻击建筑物?

javascript - 对象属性键与另一个属性值 javaScript 相同