练习 - 完成挑战,添加使游戏可玩的方法
在这些模块中,代码挑战将强化所学知识,有助于在继续操作之前增强自信。
此挑战的重点是创建具有适当参数和返回类型的正确方法。
骰子小游戏挑战
你的挑战是设计一个小游戏。 该游戏应选择一个目标数字,该数字是介于 1 和 5(含)之间的随机数。 玩家必须掷出一个六面骰子。 玩家必须掷出一个大于目标数字的数字才算获胜。 每轮结束时,应询问玩家是否愿意再次玩游戏,游戏应相应地继续或终止。
在此挑战中,你将获得一些起始代码。 必须确定要创建的方法、其参数及其返回类型。
代码挑战:添加使游戏可玩的方法
在开始的代码中,引用了两个不可用的方法:
-
ShouldPlay:此方法应检索用户输入并确定用户是否要再次玩游戏 -
WinOrLose:此方法应确定玩家是赢还是输
还有两个未初始化的变量:
-
target:1 和 5 之间的随机目标数字 -
roll:随机掷六面骰的结果
你的挑战是创建 ShouldPlay 和 WinOrLose 方法,并创建将 target 和 roll 设置为正确范围内的随机值的方法。 完成所有方法后,游戏应成功运行。
确保在 Visual Studio Code 中打开了一个空的 Program.cs 文件。
如有必要,请打开 Visual Studio Code,然后完成以下步骤,以在编辑器中准备 Program.cs 文件:
在“文件”菜单中,选择“打开文件夹”。
使用“打开文件夹”对话框导航到 CsharpProjects 文件夹,然后打开。
在 Visual Studio Code 的“资源管理器”窗格中,选择“Program.cs”。
在 Visual Studio Code“选择”菜单上,选择“全选”,然后按 Delete 键。
将以下代码复制粘贴到“编辑器”面板中。
Random random = new Random(); Console.WriteLine("Would you like to play? (Y/N)"); if (ShouldPlay()) { PlayGame(); } void PlayGame() { var play = true; while (play) { var target; var roll; Console.WriteLine($"Roll a number greater than {target} to win!"); Console.WriteLine($"You rolled a {roll}"); Console.WriteLine(WinOrLose()); Console.WriteLine("\nPlay again? (Y/N)"); play = ShouldPlay(); } }更新代码以使用方法使游戏根据挑战规范运行。
使用你学到的有关返回值和参数的知识来完成更新。
验证游戏是否正常运行
代码应生成如下所示的输出:
Would you like to play? (Y/N) Y Roll a number greater than 1 to win! You rolled a 2 You win! Play again? (Y/N) Y Roll a number greater than 4 to win! You rolled a 6 You win! Play again? (Y/N) Y Roll a number greater than 1 to win! You rolled a 1 You lose! Play again? (Y/N) N
无论是遇到问题而需要查看解决方案,还是成功完成操作,都请继续查看此挑战的一种解决方案。