我正在创建一个简单的C#控制台应用程序游戏,它创建一个随机数,然后显示“太高”,“太低”或“正确”,然后它应该要求用户输入另一个数字&然后告诉他们这个数字是“太高”,“太低”还是“正确”,一旦猜出正确的数字,它应该说“正确”,然后显示获得正确数字所需的猜测次数(这个部分我不知道该怎么办)。除此之外我还创建了代码&它会告诉你你的猜测是太高还是太低,一旦你尝试输入第二个猜测,它会自动说出它是正确的。如何让程序读取更多猜测,以及如何显示猜测数量?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _5.Number_Game
{
class Program
{
static void Main(string[] args)
{
double response, guess;
Random random = new Random();
int randomNumber = random.Next(1, 101);
do
{
Console.WriteLine("Enter your guess for a random number between 1 & 100");
guess = double.Parse(Console.ReadLine());
if (guess > randomNumber)
Console.WriteLine("Too high");
if (guess < randomNumber)
Console.WriteLine("Too low");
if (guess == randomNumber)
Console.WriteLine("Correct!");
Console.WriteLine("Enter another number");
response = double.Parse(Console.ReadLine());
}
while (response <= 1 && response >=100);
Console.WriteLine("Correct, Goodbye!");
Console.ReadLine();
}
}
}
答案 0 :(得分:0)
您的“同时”条件不正确,它目前检查该号码是否在1-100范围内,同时应检查该号码是否正确。
我会将其更改为:
while(guess != randomNumber);
当pp值正确时或中断:
if (guess == randomNumber)
{
Console.WriteLine("Correct!");
break;
}
我还会注意到,修复算法后,您的“响应”值目前无效。
答案 1 :(得分:0)
您不需要将猜测作为双精度,因为随机数只会生成一个整数。此外,也不需要responsece变量,因为循环可以循环直到:
while(guess != randomNumber);
像上面的回答说的那样。如果您想要添加用户猜测数量猜测次数的计数,请在开始“执行”循环之前添加计数变量。
int count = 0;
do
{
在每次猜测中,用户没有猜到它正确地将计数递增1,就像这样:
if (guess > randomNumber)
{
Console.WriteLine("Too high");
count += 1;
}
if (guess < randomNumber)
{
Console.WriteLine("Too low");
count += 1;
}
然后在用户猜对时结束
if (guess == randomNumber)
{
Console.WriteLine("Correct!");
Console.WriteLine("You took " + count + "guesses, to guess that number.");
}