C# 在C中尝试在重试后随机生成答案# 使用系统; 名称空间测试 { 班级计划 { 静态void Main(字符串[]参数) { int num1=int.Parse(args[0]); int num2=int.Parse(args[1]); bool GameOver=false; 整圈=3; 随机=新随机(); int answer=random.Next(num1,num2); //字符串输入=”; Console.WriteLine(“您好,欢迎参加猜数字挑战”); 而(!GameOver) { 如果(转动!=0) { 转--; WriteLine($”请选择介于{num1}到{num2}之间的数字:”); int SelectedNumber=int.Parse(Console.ReadLine()); if(SelectedNumber=num1) { System.Console.WriteLine(“差不多了,只是数字太小了\n”); }否则,如果(SelectedNumber>answer&&SelectedNumber

C# 在C中尝试在重试后随机生成答案# 使用系统; 名称空间测试 { 班级计划 { 静态void Main(字符串[]参数) { int num1=int.Parse(args[0]); int num2=int.Parse(args[1]); bool GameOver=false; 整圈=3; 随机=新随机(); int answer=random.Next(num1,num2); //字符串输入=”; Console.WriteLine(“您好,欢迎参加猜数字挑战”); 而(!GameOver) { 如果(转动!=0) { 转--; WriteLine($”请选择介于{num1}到{num2}之间的数字:”); int SelectedNumber=int.Parse(Console.ReadLine()); if(SelectedNumber=num1) { System.Console.WriteLine(“差不多了,只是数字太小了\n”); }否则,如果(SelectedNumber>answer&&SelectedNumber,c#,random,C#,Random,您需要一个外部循环,以便在结束后开始新游戏: 下面是一个带有必要控制流的框架程序 using System; namespace Test { class Program { static void Main(string[] args) { int num1 = int.Parse(args[0]); int num2 = int.Parse(args[1]);

您需要一个外部循环,以便在结束后开始新游戏:

下面是一个带有必要控制流的框架程序

using System;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {   

            int num1 = int.Parse(args[0]);
            int num2 = int.Parse(args[1]);            
            bool GameOver = false;
            int turn = 3;
            Random random = new Random();
            int answer = random.Next(num1, num2);        
            // string input = "";

            Console.WriteLine("Hello, welcome to the guess a number challenge");

            while (!GameOver)
            {
                if (turn != 0)
                {                    
                    turn--;
                    Console.WriteLine($"Please Select number between {num1} to {num2}:");                    
                    int SelectedNumber = int.Parse(Console.ReadLine());
                    if (SelectedNumber < answer && SelectedNumber >= num1)
                    {
                        System.Console.WriteLine("Almost there, just the number is too small\n");
                    } else if (SelectedNumber > answer && SelectedNumber <= num2)
                    {
                        System.Console.WriteLine("Your number is too big\n");
                    } else if(SelectedNumber == answer)
                    {
                        System.Console.WriteLine("CONGRATULATIONS!!!! You guess it right\n");
                        GameOver = true;
                        retry();
                    } else
                    {
                        System.Console.WriteLine("Your number is out of range\n");
                    }
                } else
                {
                    System.Console.WriteLine($"GAME OVER!!!! The answer is {answer}");
                    GameOver = true;
                    retry();
                }

                void retry() {
                    System.Console.WriteLine("Would you like to retry? Y/N");
                    string input = Console.ReadLine();
                    string ConsoleInput = input.ToLower();
                    if(ConsoleInput == "y")
                    {
                        GameOver = false;
                        turn = 3;
                    } else if(ConsoleInput == "n")
                    {
                        GameOver = true;
                    } else
                    {
                        Console.WriteLine("Invalid input");
                        retry();
                    }
                }
            }
        }
    }
}

我删掉了你的代码

class Program
{
    static void Main(string[] args)
    {
        bool retry = false;
        do
        {
            // start of game
            bool gameOver = false;
            int turn = 3;
            do
            {
                // game here
                // set gameOver when guess is corrent
                turn--;
            } while (turn>0 && !gameOver);
            // post game scores
            // ask to retry
        } while (retry);
        // end here
    }
}
使用系统;
名称空间测试
{
班级计划
{
静态void Main(字符串[]参数)
{
Console.WriteLine(“输入num1”);
int num1=int.Parse(Console.ReadLine());
Console.WriteLine(“输入num2”);
int num2=int.Parse(Console.ReadLine());
bool GameOver=false;
整圈=3;
随机=新随机();
int answer=random.Next(num1,num2);
//字符串输入=”;
Console.WriteLine(“您好,欢迎参加猜数字挑战”);
而(!GameOver)
{
如果(转动!=0)
{
转--;
WriteLine($”请选择介于{num1}到{num2}之间的数字:”);
int SelectedNumber=int.Parse(Console.ReadLine());
if(SelectedNumber=num1)
{
System.Console.WriteLine(“差不多了,只是数字太小了\n”);
}

else if(SelectedNumber>answer&&SelectedNumber添加
answer=random.Next(num1,num2+1);
if(ConsoleInput==“y”)
之后,生成一个新的
答案,玩家希望重试。请注意上限是独占的。因此,如果初始参数是
1
10
,则
random.Next(num1,num2)
将生成范围为
1-9
的数字。在(!GameOver)
重试时,您需要在
之外进行另一个循环才能重新运行游戏。这很有效。非常感谢,伙计。实际上,我之所以将num1的值与args[]这样我就不需要输入范围了。只要用设置的参数运行程序,让玩家猜出答案。无论如何,谢谢你的帮助。谢谢你的回复,伙计。我从来没有想过使用do while循环。我会在这之后尝试使用它。
using System;

namespace Test
{
    class Program
    {

        static void Main(string[] args)
        {
            Console.WriteLine("Enter num1");
            int num1 = int.Parse(Console.ReadLine());
            Console.WriteLine("Enter num2");
            int num2 = int.Parse(Console.ReadLine());
            bool GameOver = false;
            int turn = 3;
            Random random = new Random();
            int answer = random.Next(num1, num2);
            // string input = "";

            Console.WriteLine("Hello, welcome to the guess a number challenge");

            while (!GameOver)
            {
                if (turn != 0)
                {
                    turn--;
                    Console.WriteLine($"Please Select number between {num1} to {num2}:");
                    int SelectedNumber = int.Parse(Console.ReadLine());
                    if (SelectedNumber < answer && SelectedNumber >= num1)
                    {
                        System.Console.WriteLine("Almost there, just the number is too small\n");
                    }
                    else if (SelectedNumber > answer && SelectedNumber <= num2)
                    {
                        System.Console.WriteLine("Your number is too big\n");
                    }
                    else if (SelectedNumber == answer)
                    {
                        System.Console.WriteLine("CONGRATULATIONS!!!! You guess it right\n");
                        GameOver = true;
                        retry();
                    }
                    else
                    {
                        System.Console.WriteLine("Your number is out of range\n");
                    }
                }
                else
                {
                    System.Console.WriteLine($"GAME OVER!!!! The answer is {answer}");
                    GameOver = true;
                    retry();
                }

                void retry()
                {
                    System.Console.WriteLine("Would you like to retry? Y/N");
                    string input = Console.ReadLine();
                    string ConsoleInput = input.ToLower();
                    if (ConsoleInput == "y")
                    {
                        answer = random.Next(num1, num2);
                        GameOver = false;
                        turn = 3;
                    }
                    else if (ConsoleInput == "n")
                    {
                        GameOver = true;
                    }
                    else
                    {
                        Console.WriteLine("Invalid input");
                        retry();
                    }
                }
            }
        }
    }
}