C# 一场又一场的比赛。

C# 一场又一场的比赛。,c#,properties,C#,Properties,(C#)这个游戏将让计算机生成一个随机数,用户将不得不继续猜测,直到他们发现它是什么。我的问题是,我必须显示最好的分数,这是他们玩的所有时间中猜测次数最少的分数,我不知道如何使用属性来完成 class OverUnder { string playAgain = ""; Random random = new Random(); int randomNumber = random.Next(1, 101); int guess = 1; int use

(C#)这个游戏将让计算机生成一个随机数,用户将不得不继续猜测,直到他们发现它是什么。我的问题是,我必须显示最好的分数,这是他们玩的所有时间中猜测次数最少的分数,我不知道如何使用属性来完成

class OverUnder
{
    string playAgain = "";

    Random random = new Random();
    int randomNumber = random.Next(1, 101);

    int guess = 1;
    int userGuess;



    public string playerGuess()
    {
        Console.WriteLine("Guess a number from 1 - 100");
        string playerGuess = Console.ReadLine();
        return playerGuess;
    }
    public string userPlayAgain()
    {
        Console.WriteLine("Do you want to play again? Yes or No");
        string userPlayAgain = Console.ReadLine();
        return userPlayAgain;
    }
    public void playGame()
    {

        Console.WriteLine(randomNumber);

        do
        {
            userGuess = Convert.ToInt32(playerGuess());


            if (randomNumber > userGuess)
            {
                Console.WriteLine("Your guess is LOW");
                Console.WriteLine("# of guesses: " + guess);
                Console.WriteLine("Best score: " + guess);
                guess++;
                Console.ReadLine();
            }

            else if (randomNumber < userGuess)
            {
                Console.WriteLine("Your guess is HIGH");
                Console.WriteLine("# of guesses: " + guess);
                Console.WriteLine("Best score: " + guess);
                guess++;
                Console.ReadLine();
            }

            if (userGuess == randomNumber)
            {
                Console.WriteLine("You got it! Congratulations, You Win!");
                Console.WriteLine("# of guesses: " + guess);
                Console.WriteLine("Best score: " + guess);
                Console.ReadLine();
                playAgain = userPlayAgain();
            }
        } while (userGuess != randomNumber || playAgain == "Yes" );
    }
class-OverUnder
{
字符串“”再次播放;
随机=新随机();
int randomNumber=random.Next(1011);
int guess=1;
int-userGuess;
公共字符串playerGuess()
{
Console.WriteLine(“从1-100猜一个数字”);
字符串playerGuess=Console.ReadLine();
返回playerGuess;
}
公共字符串userplayreach()
{
Console.WriteLine(“您想再次播放吗?是或否”);
字符串userplayreach=Console.ReadLine();
再次返回;
}
公共游戏
{
控制台写入线(随机数);
做
{
userGuess=Convert.ToInt32(playerGuess());
如果(随机数>用户猜测)
{
Console.WriteLine(“你的猜测很低”);
Console.WriteLine(“#猜测:“+猜测”);
Console.WriteLine(“最佳分数:+猜测”);
猜测++;
Console.ReadLine();
}
else if(随机数<用户猜测)
{
WriteLine(“你的猜测很高”);
Console.WriteLine(“#猜测:“+猜测”);
Console.WriteLine(“最佳分数:+猜测”);
猜测++;
Console.ReadLine();
}
if(userGuess==随机数)
{
控制台。WriteLine(“你成功了!祝贺你,你赢了!”);
Console.WriteLine(“#猜测:“+猜测”);
Console.WriteLine(“最佳分数:+猜测”);
Console.ReadLine();
playreach=userplayreach();
}
}while(userGuess!=randomNumber | | playreach==“Yes”);
}

它显示计算机随机分配的测试内容。

只需在类上创建一个字段以保持最佳分数:

class OverUnder
{
    int bestScore = Int.MaxValue; // initally max to reset it after the first game

    ...
}
然后,当用户猜测时,设置其值。不要忘记将猜测次数重置为零

    if (userGuess == randomNumber)
        {
            if (guess < bestScore)
                bestScore = guess;
            Console.WriteLine("You got it! Congratulations, You Win!");
            Console.WriteLine("# of guesses: " + guess);
            Console.WriteLine("Best score: " + bestScore.Value);
            Console.ReadLine();
            playAgain = userPlayAgain();
            guess = 1;
        }
if(userGuess==randomNumber)
{
如果(猜测<最佳分数)
最佳分数=猜测;
控制台。WriteLine(“你成功了!祝贺你,你赢了!”);
Console.WriteLine(“#猜测:“+猜测”);
Console.WriteLine(“最佳分数:+bestScore.Value”);
Console.ReadLine();
playreach=userplayreach();
猜测=1;
}

您可以创建另一个变量,当用户猜到随机数时,该变量将被保留和设置

差不多

class OverUnder
{
    string playAgain = "";

    Random random = new Random();

    public OverUnder()
    {
        randomNumber = random.Next(1, 101);
    }

    int randomNumber = 0;
    int bestScore = int.MaxValue;
    int guess = 1;
    int userGuess;


    public string playerGuess()
    {
        Console.WriteLine("Guess a number from 1 - 100");
        string playerGuess = Console.ReadLine();
        return playerGuess;
    }

    public string userPlayAgain()
    {
        Console.WriteLine("Do you want to play again? Yes or No");
        string userPlayAgain = Console.ReadLine();
        return userPlayAgain;
    }

    public void playGame()
    {

        Console.WriteLine(randomNumber);

        do
        {
            userGuess = Convert.ToInt32(playerGuess());


            if (randomNumber > userGuess)
            {
                Console.WriteLine("Your guess is LOW");
                Console.WriteLine("# of guesses: " + guess);
                Console.WriteLine("Best score: " + guess);
                guess++;
                Console.ReadLine();
            }

            else if (randomNumber < userGuess)
            {
                Console.WriteLine("Your guess is HIGH");
                Console.WriteLine("# of guesses: " + guess);
                Console.WriteLine("Best score: " + guess);
                guess++;
                Console.ReadLine();
            }

            if (userGuess == randomNumber)
            {
                if (guess < bestScore)
                    bestScore = guess;

                Console.WriteLine("You got it! Congratulations, You Win!");
                Console.WriteLine("# of guesses: " + guess);
                Console.WriteLine("Best score: " + bestScore);
                Console.ReadLine();
                playAgain = userPlayAgain();
            }
        } while (userGuess != randomNumber || playAgain == "Yes");
    }
}
class-OverUnder
{
字符串“”再次播放;
随机=新随机();
公众过度关注
{
随机数=随机数。下一个(1011);
}
int随机数=0;
int bestScore=int.MaxValue;
int guess=1;
int-userGuess;
公共字符串playerGuess()
{
Console.WriteLine(“从1-100猜一个数字”);
字符串playerGuess=Console.ReadLine();
返回playerGuess;
}
公共字符串userplayreach()
{
Console.WriteLine(“您想再次播放吗?是或否”);
字符串userplayreach=Console.ReadLine();
再次返回;
}
公共游戏
{
控制台写入线(随机数);
做
{
userGuess=Convert.ToInt32(playerGuess());
如果(随机数>用户猜测)
{
Console.WriteLine(“你的猜测很低”);
Console.WriteLine(“#猜测:“+猜测”);
Console.WriteLine(“最佳分数:+猜测”);
猜测++;
Console.ReadLine();
}
else if(随机数<用户猜测)
{
WriteLine(“你的猜测很高”);
Console.WriteLine(“#猜测:“+猜测”);
Console.WriteLine(“最佳分数:+猜测”);
猜测++;
Console.ReadLine();
}
if(userGuess==随机数)
{
如果(猜测<最佳分数)
最佳分数=猜测;
控制台。WriteLine(“你成功了!祝贺你,你赢了!”);
Console.WriteLine(“#猜测:“+猜测”);
Console.WriteLine(“最佳分数:+bestScore”);
Console.ReadLine();
playreach=userplayreach();
}
}while(userGuess!=randomNumber | | playreach==“Yes”);
}
}
注意,我确实修复了一些编译器错误,但您将看到设置为最大int值的字段bestScore。当玩家猜到正确的数字时,您将检查他们的猜测计数是否小于他们的最佳分数。如果是,则您只需将bestScore设置为猜测量

干杯