gpt4 book ai didi

c# - 完成后如何告诉我的程序执行 "re-do"不同的操作(由用户输入选择),直到设置了 do-while 要求?

转载 作者:太空宇宙 更新时间:2023-11-03 13:06:23 25 4
gpt4 key购买 nike

我只是 C# 的初学者,正在开发控制台应用程序,我希望程序能够读取用户的输入并执行命令,直到他的 HP 为 0。它基本上是“格斗游戏”。

我现在的问题是,我只能要求用户输入一次(而且它只会执行程序曾经得到的输入)。我也想添加额外的战斗选项,但现在我卡在这里了。

static void Main(string[] args)
{
int playerHealth = 100;
int playerDamageSword = 10;
int playerDamageFire = 10;
int playerHeal = 20;

int enemyHealth = 100;


Console.WriteLine("Hey! Enter your Character Name!");
string name = Console.ReadLine();
Console.Clear();

Console.WriteLine("Okay! " + name + " You have encountered an Enemy! Which Action do you choose?\n1.Sword-Attack\n2.Fire-Attack\n3.Heal\n8.Flee\n9.Quit\n" );
string Input = Console.ReadLine();

do
{
if (Input == "1")
{
Console.WriteLine("You hit your Opponment for 10 Damage!");
enemyHealth = enemyHealth - 10;
Console.WriteLine("Your Opponment hit you back for 10 Damage!");
playerHealth = playerHealth - 10;
Console.WriteLine("Your Current Hp: " + playerHealth);
Console.WriteLine("Opponment Current HP: " + enemyHealth);

}

else if (Input == "2")
{
Console.WriteLine("You healed yourself for 20 HP");
playerHealth = playerHealth + 20;
Console.WriteLine("Your Current Hp: " + playerHealth);
Console.WriteLine("Opponment Current HP: " + enemyHealth);


}
} while (playerHealth > 0);

最佳答案

你已经非常接近了,你需要像这样将读取的输入移动到你的循环中:

    string Input;

do
{
Input = Console.ReadLine();

if (Input == "1")
{
Console.WriteLine("You hit your Opponment for 10 Damage!");
enemyHealth = enemyHealth - 10;
Console.WriteLine("Your Opponment hit you back for 10 Damage!");
playerHealth = playerHealth - 10;
Console.WriteLine("Your Current Hp: " + playerHealth);
Console.WriteLine("Opponment Current HP: " + enemyHealth);

}

else if (Input == "2")
{
Console.WriteLine("You healed yourself for 20 HP");
playerHealth = playerHealth + 20;
Console.WriteLine("Your Current Hp: " + playerHealth);
Console.WriteLine("Opponment Current HP: " + enemyHealth);


}
} while (playerHealth > 0);

这将做什么:

  1. 开始循环
  2. 获取用户输入并将其存储到Input 字符串中
  3. 检查 if (Input == "1")else if (Input == "2") 条件
  4. 检查 (playerHealth > 0) 然后回到循环的顶部或退出循环

关于c# - 完成后如何告诉我的程序执行 "re-do"不同的操作(由用户输入选择),直到设置了 do-while 要求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30647012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com