csharp
namespace C_program
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine(">>iGuess!!! [C#零基础] 猜数小游戏 <<");
Console.WriteLine("");
Console.WriteLine("请输入猜数范围的最大值和最小值,用英文逗号隔开(例如:0,100):");
string input = Console.ReadLine(); // 读入一串字符串
Console.WriteLine("");
if (string.IsNullOrEmpty(input)) //检测字符串是否为空
{
Console.WriteLine("输入的数据格式不对,程序结束");
}
else
{
string[] vs = input.Split(",");//将字符串以','为分界线分为不同字符串(英文逗号)
//判断是否为两个字符串(最小值和最大值),判断两个字符串是否可以转化为数字,将两个字符串转换为min和max
if (vs.Length != 2 || !int.TryParse(vs[0], out int min) || !int.TryParse(vs[1], out int max))
{
Console.WriteLine("输入的内容不是数字,程序结束");
}
else
{
if (min > max) //防止最大值和最小值颠倒
{
int temp = min;
min = max;
max = temp;
}
int target = new Random().Next(min, max);//在min和max区间生成一个随机数
int?guess = null; //初始化可能为null
do
{
Console.WriteLine($">>[猜测]请输入一个位于{min}和{max}之间的数:");
guess = null;
input = Console.ReadLine();
if (int.TryParse(input, out int aaa)) //判断字符串是否可以转化为数字,并将字符串转化为数字
guess = aaa; //赋值
if (guess == null)
{
Console.WriteLine("输入的数字有问题");
continue;
}
if (guess == target)
Console.WriteLine("恭喜,猜中了!");
else
{
if (guess < target)
Console.WriteLine("猜小了");
if (guess > target)
Console.WriteLine("猜大了");
}
}while (guess != target);
}
}
}
}
}