class Program{//猜数字游戏//具体的逻辑:/** 你说 猜,然后,我开始猜,在1-200中间,每次你都会返回 包含或者不包含* 如果猜中了 就说 猜中了。* 三个条件* 第一个,线性的 起始* 第二个,线性的结束* 第三 命中的数字* 第三,要包含在 第一和第二之间。* 第四,就是别人喊的数字* 第四来的时候,有三种情况,一,直接命中,那就直接输出。二,在第三的左边那就把 第一拉到最左,三,在第三的右边那就把第三拉到右边。* 直到 第一种情况发生。* 所以,while 条件,while的是 IsHit*/private static int start = 1;private static int end = 100;private static int _needGuessNumber = 0;static void Main(string[] args){Console.WriteLine("开始猜数字游戏喽: 范围 1-100");while (!GetNeedGuessNumber()){}while (!GuessNumber()){}Console.Write("恭喜你 猜到了! 喜提 500听崂山啤酒!!!");Console.ReadLine();}public static bool GuessNumber(){Console.WriteLine("请输入你说的数字:");if (int.TryParse(Console.ReadLine(), out var guessNumber)){if (guessNumber == _needGuessNumber){return true;}else if (guessNumber > start && guessNumber < _needGuessNumber){start = guessNumber;}else if (guessNumber < end && guessNumber > _needGuessNumber){end = guessNumber;}else{Console.WriteLine($"哎呀呀,你这猜的都不在范围内呢,现在范围 {start} -> {end}");}}Console.WriteLine("没有猜对呦,请再次输入数字哦!");return false;}public static bool GetNeedGuessNumber(){Console.WriteLine("请输入需要猜中的数字:");if (int.TryParse(Console.ReadLine(), out var guessNumber)){if (guessNumber >= start && guessNumber <= end){_needGuessNumber = guessNumber;return true;}else{Console.WriteLine("猜的数字不符合规定呦!");}}else{Console.WriteLine("请输入数字哦!");}return false;}}
最后来个截图,看看效果。
勿以恶小而为之,勿以善小而不为。