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

C# Monogame金矿金币上限设置失效问题求助

修复你的MonoGame金矿系统上限问题

先帮你梳理下代码里的核心问题——你的上限逻辑完全写反了,导致sMaxGold永远没法达到10的上限,反而会来回波动:

问题拆解

  1. 错误的上限处理逻辑:在定时增加金币储备时,你先执行sMaxGold +=2,紧接着又判断如果sMaxGold >=10就减2,这等于白加了!比如sMaxGold是8,加2到10后立刻减2回到8;如果是9,加2到11后减2回到9,永远到不了上限,更别说超过了。
  2. 多余的外层判断:if(MaxGoldLimit <=10)这个条件完全没必要,你已经在对象工厂里把MAXGoldLimit设为10了,这个条件只会无意义地限制逻辑执行。
  3. 硬编码数值:代码里多次直接写死10,应该统一用MaxGoldLimit变量,方便后续调整上限数值。
  4. 命名不一致:代码里同时出现MaxGoldLimit和MAXGoldLimit,大小写混乱容易引发隐性bug。

修正后的完整代码

首先确保sMaxGold的初始值设为MaxGoldLimit(也就是10,对应你需求里的初始10枚金币储备),然后修改CollectGold方法:

// 先统一命名,确保全局变量是MaxGoldLimit(和对象工厂里的赋值一致)
public static int MaxGoldLimit = 10;
public static int sMaxGold = 10; // 初始设置为上限值

public static void CollectGold(ObjectFactory.ObjectType type) 
{ 
    // 处理玩家收集金币:从储备转移到玩家钱包
    if (sMaxGold > 0) 
    {
        // 每次收集2枚,若需要收集全部可改为:Hud.mGold += sMaxGold; sMaxGold = 0;
        int collectAmount = Math.Min(2, sMaxGold);
        Hud.mGold += collectAmount;
        sMaxGold -= collectAmount;
    }

    // 处理定时新增金币储备的逻辑
    if (Hud.mCurrentTime >= Hud.mCountDuration) 
    {
        Counter++;
        Hud.mCurrentTime -= Hud.mCountDuration;
        
        // 新增后直接限制不超过上限,这是核心修复点
        sMaxGold += 2;
        if (sMaxGold > MaxGoldLimit)
        {
            sMaxGold = MaxGoldLimit;
        }
        // 也可以用更简洁的写法:sMaxGold = Math.Min(sMaxGold + 2, MaxGoldLimit);
    }
}

同时修正对象工厂里的命名问题:

case ObjectFactory.ObjectType.GoldVein: 
    mActiveButtons.Add(ObjectFactory.ObjectType.GoldVein.ToString()); 
    mButtons[ObjectFactory.ObjectType.GoldVein.ToString()].SetLocation(one); 
    mButtons[ObjectFactory.ObjectType.GoldVein.ToString()].mAction = GoldVein.CollectGold; 
    mButtons[ObjectFactory.ObjectType.GoldVein.ToString()].UpdateText("Collect"); 
    MaxGoldLimit = 10; // 统一成小写开头的MaxGoldLimit
break;

验证逻辑

修改后系统会完全符合你的需求:

  • 初始sMaxGold=10,达到上限,后续定时触发时新增后会被直接限制回10,不会超限;
  • 玩家收集2枚后sMaxGold=8,下一次定时触发时加2回到10,停止增长;
  • 玩家收集4枚后sMaxGold=6,两次定时触发后回到10,之后不再增长。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:55:29