You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JS增量游戏开发:如何给食物收入2倍乘数添加购买次数上限

2倍食物收入道具逻辑实现方案

你原有的逻辑依赖foodPerClick数值判断购买状态,后续如果有其他升级修改了食物点击产量,该判断会失效,因此推荐用独立的布尔标记位记录购买状态。

1. 扩展游戏基础数据

在gameData中新增两个字段,分别记录道具的购买状态和售价:

var gameData = {
  gold: 0,
  goldPerClick: 1,
  goldPerClickCost: 10,
  food: 0,
  foodPerClick: 2,
  foodUpgradeCost: 10,
  // 新增2倍食物道具配置
  hasBoughtFoodX2: false, // 购买状态标记,默认未购买
  foodX2Cost: 50 // 道具售价,可根据游戏数值需求自行调整
}

2. 重写购买逻辑

购买判断按「是否已购买→资源是否充足→执行购买」的顺序执行,从根源上限制仅可购买一次:

function x2() {
  // 已购买直接拦截
  if (gameData.hasBoughtFoodX2) {
    document.getElementById("applied").innerHTML = "该道具仅可购买一次";
    return;
  }
  // 金币不足拦截
  if (gameData.gold < gameData.foodX2Cost) {
    document.getElementById("applied").innerHTML = "金币不足,无法购买";
    return;
  }
  // 购买生效逻辑
  gameData.gold -= gameData.foodX2Cost;
  gameData.foodPerClick *= 2;
  gameData.hasBoughtFoodX2 = true;
  document.getElementById("applied").innerHTML = "已激活2倍食物收入效果";
  // 可选优化:直接禁用购买按钮,优化用户体验,替换为你实际的按钮ID即可
  // document.getElementById("x2BuyBtn").disabled = true;
}

可选优化

如果需要做存档功能,直接序列化gameData存储即可,hasBoughtFoodX2标记位会跟着存档同步,不会出现重置后可以重复购买的问题。

内容的提问来源于stack exchange,提问作者Yami

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 11:51:02