C# 如何在游戏机游戏中创造Hp价值?
好吧,我对编程还很陌生,我正在尝试做一个游戏,在这个游戏中,我为循环内的骰子掷随机整数,我希望能够从敌人的Hp值中减去骰子掷骰的结果,并在整个循环中保留该值,直到Hp值等于零,然后打破循环并结束游戏。我已经尝试过为这个值声明一个int,但是我不知道如何保存之前掷骰子循环造成的伤害。有人能给我指出正确的方向吗 编辑: 忘记添加代码了,哎呀。 这是我的烂代码C# 如何在游戏机游戏中创造Hp价值?,c#,C#,好吧,我对编程还很陌生,我正在尝试做一个游戏,在这个游戏中,我为循环内的骰子掷随机整数,我希望能够从敌人的Hp值中减去骰子掷骰的结果,并在整个循环中保留该值,直到Hp值等于零,然后打破循环并结束游戏。我已经尝试过为这个值声明一个int,但是我不知道如何保存之前掷骰子循环造成的伤害。有人能给我指出正确的方向吗 编辑: 忘记添加代码了,哎呀。 这是我的烂代码 class Program { static void Main(string[] args) {
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;
}
你应该展示给你带来麻烦的代码部分,并解释它做错了什么。哇,就是这么简单,谢谢