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

如何让C#烤箱模拟器中切换炉灶状态的if语句仅70%概率执行?

C#烤箱模拟器:实现70%概率关闭炉灶的逻辑

嘿,作为编程新手能写出这样的开关逻辑已经很棒啦!要实现70%概率关闭的需求其实不难,咱们一步步来:

核心思路

我们需要用C#的Random类生成随机数,通过判断随机数的范围来模拟70%的触发概率——简单来说,就是生成0-99的随机数,当数值落在0-69区间时(共70个数值,对应70%概率),才执行关闭炉灶的操作,否则就模拟点火失败。

具体步骤与代码修改

1. 声明全局的Random实例

不要每次点击按钮都新建Random对象,不然短时间连续点击可能会得到重复的随机数。我们把它放在窗体类的所有方法外面:

// 放在窗体类的顶部,所有方法之前
private Random _random = new Random();

2. 修改按钮点击事件逻辑

保留开启炉灶的100%成功逻辑,只修改关闭时的判断:

private void button1_Click(object sender, EventArgs e)
{
    if (button1.Text == "OFF")
    {
        // 开启炉灶逻辑保持不变,100%成功
        button1.Text = "ON";
        pictureBox1.BackgroundImage = Properties.Resources.Ring_Burner_On;
    }
    else if (button1.Text == "ON")
    {
        // 生成0到99的随机整数(包含0和99)
        int randomChance = _random.Next(100);
        
        // 70%概率触发关闭(0-69共70个数值)
        if (randomChance < 70)
        {
            button1.Text = "OFF";
            pictureBox1.BackgroundImage = Properties.Resources.Ring_Burner_Off;
        }
        else
        {
            // 可选:添加点火失败的提示,更贴近真实场景
            MessageBox.Show("哎呀,点火失败了,再试一次吧!");
        }
    }
}

代码说明

  • _random.Next(100):生成0到99的随机数,确保有100种均等的可能性,方便我们对应百分比概率。
  • 关闭逻辑的判断:randomChance < 70对应70%的触发概率,如果你想调整概率,比如改成60%,只需要把70改成60就行。
  • 提示框是可选的,如果不需要提示,直接删掉else分支的代码,点击后无反应也能模拟点火失败的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 17:17:52