练习 - 完成挑战,添加使游戏可玩的方法

已完成

在这些模块中,代码挑战将强化所学知识,有助于在继续操作之前增强自信。

此挑战的重点是创建具有适当参数和返回类型的正确方法。

骰子小游戏挑战

你的挑战是设计一个小游戏。 该游戏应选择一个目标数字,该数字是介于 1 和 5(含)之间的随机数。 玩家必须掷出一个六面骰子。 玩家必须掷出一个大于目标数字的数字才算获胜。 每轮结束时,应询问玩家是否愿意再次玩游戏,游戏应相应地继续或终止。

在此挑战中,你将获得一些起始代码。 必须确定要创建的方法、其参数及其返回类型。

代码挑战:添加使游戏可玩的方法

在开始的代码中,引用了两个不可用的方法:

  • ShouldPlay:此方法应检索用户输入并确定用户是否要再次玩游戏
  • WinOrLose:此方法应确定玩家是赢还是输

还有两个未初始化的变量:

  • target:1 和 5 之间的随机目标数字
  • roll:随机掷六面骰的结果

你的挑战是创建 ShouldPlayWinOrLose 方法,并创建将 targetroll 设置为正确范围内的随机值的方法。 完成所有方法后,游戏应成功运行。

  1. 确保在 Visual Studio Code 中打开了一个空的 Program.cs 文件。

    如有必要,请打开 Visual Studio Code,然后完成以下步骤,以在编辑器中准备 Program.cs 文件:

    1. 在“文件”菜单中,选择“打开文件夹”

    2. 使用“打开文件夹”对话框导航到 CsharpProjects 文件夹,然后打开。

    3. 在 Visual Studio Code 的“资源管理器”窗格中,选择“Program.cs”。

    4. 在 Visual Studio Code“选择”菜单上,选择“全选”,然后按 Delete 键。

  2. 将以下代码复制粘贴到“编辑器”面板中。

    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();
        }
    }
    
  3. 更新代码以使用方法使游戏根据挑战规范运行。

    使用你学到的有关返回值和参数的知识来完成更新。

  4. 验证游戏是否正常运行

    代码应生成如下所示的输出:

    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
    

无论是遇到问题而需要查看解决方案,还是成功完成操作,都请继续查看此挑战的一种解决方案。