C# 一场又一场的比赛。
(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
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设置为猜测量
干杯