练习 - 使用 do 和 while 迭代语句完成挑战活动
代码挑战将强化所学知识,有助于在继续操作之前增强自信。
角色扮演游戏战斗挑战
在某些角色扮演游戏中,玩家角色会与非玩家角色战斗,这些非玩家角色通常是怪物或者“坏人”。 有时,一场战斗由各角色组成,每个角色会使用骰子生成一个随机值,该值就是从对手的生命值中减掉的部分。 一旦角色的生命值变为零,它们便会输掉游戏。
在此挑战中,我们将归纳出互动过程的本质。 英雄和怪物在开始时的生命值相同。 在英雄攻击时,他们将生成一个随机值,将从怪物的生命值中减去该值。 如果怪物的生命值大于零,则会轮到它们攻击英雄。 只要英雄和怪物的生命值都大于零,战斗就会继续。
代码挑战 - 编写代码来实现游戏规则
下面是需要在代码项目中实现的战斗游戏的规则:
- 必须使用
do-while
语句或while
语句作为外部游戏循环。 - 英雄和怪物在开始时的生命值都为 10。
- 所有攻击的值都介于 1 到 10 之间。
- 英雄先发起攻击。
- 打印怪物损失的生命值,以及剩余的生命值。
- 如果怪物的生命值大于 0,则它会攻击英雄。
- 打印打印英雄损失的生命值,以及剩余的生命值。
- 继续此攻击顺序,直到怪物或英雄任意一方的生命值为零或更低。
- 打印胜利者。
确保在 Visual Studio Code 中打开了一个空的 Program.cs 文件。
如有必要,请打开 Visual Studio Code,然后完成以下步骤,以在编辑器中准备 Program.cs 文件:
在“文件”菜单中,选择“打开文件夹”。
使用“打开文件夹”对话框导航到 CsharpProjects 文件夹,然后打开。
在 Visual Studio Code 的“资源管理器”窗格中,选择“Program.cs”。
在 Visual Studio Code 的“选择”菜单上,选择“全选”,然后按 Delete 键。
编写可实现每个规则的游戏代码。
运行应用程序并验证输出是否满足要求。
无论如何操作,代码都应生成以下类似的输出:
Monster was damaged and lost 1 health and now has 9 health. Hero was damaged and lost 1 health and now has 9 health. Monster was damaged and lost 7 health and now has 2 health. Hero was damaged and lost 6 health and now has 3 health. Monster was damaged and lost 9 health and now has -7 health. Hero wins!
由于代码每次使用随机数字,并且结果每次都不同,因此你的结果与上面显示的输出不同。 但可以将其用作代码应生成的输出的示例。
无论是遇到问题而需要查看解决方案,还是成功完成操作,都请继续查看此挑战的一种解决方案。