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

Health Bar(生命值条)条件下无法按预期隐藏对应按钮的问题

问题原因

你当前代码存在两个核心逻辑错误:

  • 每次比对失败进入else分支时,都会重新初始化局部变量a=0,后续三个while循环会顺次执行,直接将三个生命值控件一次性全部隐藏,完全无法实现「每次失败仅隐藏1格」的需求。
  • 使用while循环做单次条件判断属于完全冗余的写法,没有实际作用。

修复方案

步骤1:定义全局生命值变量

在窗体类的全局作用域定义变量记录当前剩余生命值,不要在点击事件的局部作用域定义:

// 初始生命值为3
int currentHealth = 3;

步骤2:修改比对逻辑

将原有的比对代码替换为如下逻辑,可根据你生命值格子的展示顺序调整对应隐藏的控件对象:

if (Input.SequenceEqual(OrderedList))
{
    richTextBox1.Text = "true both are equal";
}
else
{
    richTextBox1.Text = "false";
    currentHealth--;
    switch(currentHealth)
    {
        case 2:
            Health3.Hide();
            break;
        case 1:
            Health2.Hide();
            break;
        case 0:
            Health1.Hide();
            // 生命值耗尽时可在这里补充游戏结束的相关逻辑
            break;
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 05:15:05