C# 如何在游戏机游戏中创造Hp价值?

C# 如何在游戏机游戏中创造Hp价值?,c#,C#,好吧,我对编程还很陌生,我正在尝试做一个游戏,在这个游戏中,我为循环内的骰子掷随机整数,我希望能够从敌人的Hp值中减去骰子掷骰的结果,并在整个循环中保留该值,直到Hp值等于零,然后打破循环并结束游戏。我已经尝试过为这个值声明一个int,但是我不知道如何保存之前掷骰子循环造成的伤害。有人能给我指出正确的方向吗 编辑: 忘记添加代码了,哎呀。 这是我的烂代码 class Program { static void Main(string[] args) {

好吧,我对编程还很陌生,我正在尝试做一个游戏,在这个游戏中,我为循环内的骰子掷随机整数,我希望能够从敌人的Hp值中减去骰子掷骰的结果,并在整个循环中保留该值,直到Hp值等于零,然后打破循环并结束游戏。我已经尝试过为这个值声明一个int,但是我不知道如何保存之前掷骰子循环造成的伤害。有人能给我指出正确的方向吗

编辑: 忘记添加代码了,哎呀。 这是我的烂代码

class Program
    {
        static void Main(string[] args)
        {
          
                Program.hit();
            
        }

        static void hit()
        {
            bool enemyAlive = true;
            while (enemyAlive)
            {

                

            Random rnd = new Random();
            int roll20 = rnd.Next(1, 21);
            int roll6 = rnd.Next(1, 7);
            int rollCrt = rnd.Next(1, 7);
            int critDmg = roll6 + rollCrt + 4;

            if (roll20 == 20)
            {
                WriteLine($"\nyou rolled. { roll20} CRIT!!");
                WriteLine($"you deal.  {roll6} + {rollCrt} + 4 = {critDmg} damage.");
                //currentEhp = enemyHp - critDmg;
                   // WriteLine(currentEhp);
                
            }
            else if (roll20 <= 14)
            {
                WriteLine($"\nyou rolled. {roll20} you miss");
            }
            
            else if (roll20 >= 15)
            {
                WriteLine($"\nyou rolled. {roll20} you hit");
                WriteLine($"you deal. {roll6} damage");
                    //currentEhp = enemyHp - roll6;

                   // WriteLine(currentEhp);
            }

                ReadLine();
            }
        }
    }

在循环外部声明int变量,并在循环内部进行减法

例如:

int hp = 100;

// I'm guessing this is the dice roll loop
for (int i = 0; i < NumOfTimes; i++)
{
   if (hp <= 0)
       break;
   
   DiceRoll();

   hp -= ValueOfDiceRoll;
}

你应该展示给你带来麻烦的代码部分,并解释它做错了什么。哇,就是这么简单,谢谢