C#猜数字小游戏

B站视频

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);
                }
            }
        }
    }
}
相关推荐
raindayinrain6 小时前
c++设计模式
开发语言·c++·设计模式
hiahiahia1236 小时前
Streaming Model Output
开发语言·前端
熊猫钓鱼>_>7 小时前
鸿蒙PC高分屏与键鼠交互适配:DPI缩放、右键菜单一次讲清
开发语言·笔记·华为·ai编程·harmonyos·鸿蒙·鸿蒙心迹
octopus_c7 小时前
C++ 运算符重载详解 && 日期类的实现
开发语言·c++
Eiceblue8 小时前
用 Python 给 Word 文档加水印:文字、图片与批量处理
开发语言·vscode·python·word
j7~8 小时前
【C++ 面试笔记】(篇二):类与数据抽象 & STL 容器与算法
开发语言·c++·面试·stl容器和算法·类和数据抽象
Fuyo_11198 小时前
深入解析 C++ unordered_set 与 unordered_map 的核心特性与性能实战
开发语言·c++
ShineWinsu8 小时前
对于Qt:QPushButton常见属性的解析
开发语言·c++·qt·api·gui·按钮·qpushbutton
外贸GEO优化8 小时前
外贸独立站的可抓取性:JS 渲染、懒加载与无限滚动到底影响什么
开发语言·javascript·ecmascript
飞浪纪元[FWC–FE]8 小时前
Qt 工程创建与 CMake / qmake 构建规范
开发语言·数据库·qt