Dus*_*ler 1 c# loops project while-loop
我一直在为我的高级RAP项目开发一款游戏,直到最近我一直在努力.当玩家或敌人的生命值等于0时,我需要一种方法来迭代它.我不希望它们都等于0,这两个例子都有.我试过改写这几种方法,但它没有用.感谢所有为此提供帮助的人.
while (!(enemyHealth == 0 || playerHealth == 0)
{ //START WHILE
Console.WriteLine("[System:] Here are the list of moves that you can do:\n1)Punch\n2)Kick\n3)Round House Kick");
Console.WriteLine();
decision = Console.ReadLine();
Console.WriteLine();
decisionNumber = int.Parse(decision);
if (decisionNumber < 1 || decisionNumber > 3)
{ //STARTS IF
throw new Exception();
} //ENDS IF
else
{ //STARTS ELSE
enemyHealth = enemyHealth - attackNumber;
playerHealth = playerHealth - enemyAttackNumber;
Console.WriteLine();
Console.WriteLine("[System:] Enemy Health: " + enemyHealth + "\nYour Health: " + playerHealth);
} //ENDS ELSE
} //ENDS WHILE
while (enemyHealth > 0 || playerHealth > 0)
{ //START WHILE
Console.WriteLine("[System:] Here are the list of moves that you can do:\n1)Punch\n2)Kick\n3)Round House Kick");
Console.WriteLine();
decision = Console.ReadLine();
Console.WriteLine();
decisionNumber = int.Parse(decision);
if (decisionNumber < 1 || decisionNumber > 3)
{ //STARTS IF
throw new Exception();
} //ENDS IF
else
{ //STARTS ELSE
enemyHealth = enemyHealth - attackNumber;
playerHealth = playerHealth - enemyAttackNumber;
Console.WriteLine();
Console.WriteLine("[System:] Enemy Health: " + enemyHealth + "\nYour Health: " + playerHealth);
} //ENDS ELSE
} //ENDS WHILE
Run Code Online (Sandbox Code Playgroud)
任何人都可以解决这个问题,因为我遇到了重大问题.
如,对健康的负面级别的条件可以简化!= 0,这将产生逻辑错误,也是我们需要不断循环的生命,直到健康enemy和player为> 0
while ((enemyHealth > 0 && playerHealth > 0))
Run Code Online (Sandbox Code Playgroud)
好像,问题是你的循环编码,
throw new Exception(); 似乎是一个错误的逻辑,我的建议是丢弃忽略错误的输入.
可以实现像
while ((enemyHealth > 0 || playerHealth > 0))
{
Console.WriteLine("[System:] Here are the list of moves that you can do:\n1)Punch\n2)Kick\n3)Round House Kick");
Console.WriteLine();
decision = Console.ReadLine();
Console.WriteLine();
decisionNumber = int.Parse(decision);
if (decisionNumber >= 1 && decisionNumber <= 3)
{
enemyHealth = enemyHealth - attackNumber;
playerHealth = playerHealth - enemyAttackNumber;
Console.WriteLine();
Console.WriteLine("[System:] Enemy Health: " + enemyHealth + "\nYour Health: " + playerHealth);
}
else
{
Console.WriteLine("Invalid Input : press enter to input again");
Console.ReadKey();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
155 次 |
| 最近记录: |