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();
}
}
}
}
}
}