多语言展示
当前在线:172今日阅读:23今日分享:25

C#基础练习 - C#小游戏 - 猜数字大小

要求:使用C#开发一个猜数字小游戏,随机生成一个1到200之间的数字坐位基础数,玩家每次通过键盘输入一个数字,如果结果与基准相同,则成功过关,否则重新输入。如果玩家输入-1,表示退出游戏。
思路&步骤
1

有两个小难点需要注意1、要随机生成1~200之间任意数字;2、要能判定数字与基准数大小的比较,不等于基准书要能循环输入。需要使用while和if...else嵌套

2

首先声明两个int类型变量iNum作为自动生成的标准数变量;iGuess作为我们随机输入的数值变量;这里一定要注意大小写!

3

然后随机生成一个1~200之间的数字,这里需要用到RandomRandom rand = new Random();iNum = rand.Next(1, 200);这两行语法就是生成1到200之间的随机数,也可以简写为:int iNum = new Random().Next(1, 200);

4

然后输入你猜测的数字:这里有个数据类型的转换需要注意,一般默认输入数据类型为string,我们需要将他转换为int类型的时候需要用到Convert.ToInt32();语法:Console.Write('请输入你猜的数字:');iGuess = Convert.ToInt32(Console.ReadLine());//输入首次猜测的数字

5

接着我们用到while循环判定语法,表达式为:猜测的数值部位-1,并且猜测的数值也不是标准值。只有满足这两个条件while语法中的循环语句才能无线循环,我们才可以去做下一步判定,数值是大还是小。 while ((iGuess != -1) && (iGuess != iNum))            {                        }

6

在while循环语句中就要嵌套if语句来判定输入数值的大小。如果大了提示:'太大,请重新输入:'如果下了提示:'太小,请重新输入:'if (iGuess < iNum)//若猜测的数字小于基准数,则提示用户输入的数太小,并让用户重新输入                {                    Console.Write('太小,请重新输入:');                    iGuess = Convert.ToInt32(Console.ReadLine());                }                else//若猜测的数字大于基准数,则提示用户输入的数太大,并让用户重新输入                {                    Console.Write('太大,请重新输入:');                    iGuess = Convert.ToInt32(Console.ReadLine());                }

7

直至输入的数值为标准值,或为-1时。即可跳出while循环语句。接下来需要判断输入的值到底是标准值还是-1;所以有需要使用上if...else语句。if (iGuess == -1)//若最后一次输入的数字是-1,循环结束的原因是用户选择退出游戏            {                Console.WriteLine('退出游戏!');            }            else//若最后一次输入的数字不是-1,用户猜对数字,获得成功,游戏结束            {                Console.WriteLine('恭喜你,你赢了,猜中的数字是:' + iNum);            }输入数值如果为-1直接跳出循环游戏结束;输入数值如果为标准值也直接跳出循环并显示恭喜你,你赢了,猜中的数字是:

8

最后记得收尾,否则内容只会在屏幕上一闪而过,你根本看不到任何东西;Console.WriteLine('\n———————游戏结束———————');Console.ReadLine();

9

完成程序如下:  Console.WriteLine('——————猜数字游戏——————\n');            int iNum;            int iGuess;            Random rand = new Random();            iNum = rand.Next(1, 200);//生成1到200之间的随机数            Console.Write('请输入你猜的数字:');            iGuess = Convert.ToInt32(Console.ReadLine());//输入首次猜测的数字            while ((iGuess != -1) && (iGuess != iNum))            {                if (iGuess < iNum)//若猜测的数字小于基准数,则提示用户输入的数太小,并让用户重新输入                {                    Console.Write('太小,请重新输入:');                    iGuess = Convert.ToInt32(Console.ReadLine());                }                else//若猜测的数字大于基准数,则提示用户输入的数太大,并让用户重新输入                {                    Console.Write('太大,请重新输入:');                    iGuess = Convert.ToInt32(Console.ReadLine());                }            }            if (iGuess == -1)//若最后一次输入的数字是-1,循环结束的原因是用户选择退出游戏            {                Console.WriteLine('退出游戏!');            }            else//若最后一次输入的数字不是-1,用户猜对数字,获得成功,游戏结束            {                Console.WriteLine('恭喜你,你赢了,猜中的数字是:' + iNum);            }            Console.WriteLine('\n———————游戏结束———————');            Console.ReadLine();

推荐信息