首页 [小学]猜数字小游戏ver1.26及后续开发建议

[小学]猜数字小游戏ver1.26及后续开发建议

举报
开通vip

[小学]猜数字小游戏ver1.26及后续开发建议[小学]猜数字小游戏ver1.26及后续开发建议 以下为源代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace RM { class Program { static void Main(string[] args) { Console.WriteLine("****猜数字游戏****"); Console.WriteLine("****ver1.2...

[小学]猜数字小游戏ver1.26及后续开发建议
[小学]猜数字小游戏ver1.26及后续开发建议 以下为源代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace RM { class Program { static void Main(string[] args) { Console.WriteLine("****猜数字游戏****"); Console.WriteLine("****ver1.2****"); Console.WriteLine("Copyright Guan heng-Ye"); case1: Console.WriteLine("请输入1--6的值"); Console.WriteLine(">1.简单<\n>2.较易<"); Console.WriteLine(">3.普通<"); Console.WriteLine(">4.较难<"); Console.WriteLine(">5.困难<\n>6.疯狂<\n>7.RM应用<"); Console.WriteLine("=8.清屏="); Console.WriteLine("?9.关于?"); Console.WriteLine("{0.退出}"); string str = Console.ReadLine(); if (str == "")//空格,无输入 { Console.Clear(); Console.WriteLine("您尚未输入任何数据~"); goto case1; } if (str == "1")//简单 { Console.Clear(); Console.WriteLine("简单"); Console.WriteLine("请输入1--20的值"); Random c = new Random(); int s = c.Next(1, 21); int z = int.Parse(Console.ReadLine()); do { if (z == 0) { Console.Clear(); Console.WriteLine("返回主菜单"); goto case1; } if (z == -1) { Console.WriteLine("请输入整数"); z = int.Parse(Console.ReadLine()); } if (z > 20) { Console.WriteLine("请输入小于20的数"); z = int.Parse(Console.ReadLine()); } else if (z < s) { Console.WriteLine("对不起,猜错啦~太小了,请继续猜可能的数:\n(猜不到,请输入0返回菜单~)"); z = int.Parse(Console.ReadLine()); } else { Console.WriteLine("对不起,猜错啦~太大了,请继续猜可能的 (猜不到,请输入0返回菜单~)");数:\n z = int.Parse(Console.ReadLine()); } } while (s != z); Console.Clear(); Console.WriteLine("真行,猜对啦~的确是{0}", z); Console.ReadLine(); goto case1; } else if (str == "2")//较易 { Console.Clear(); Console.WriteLine("较易"); Console.WriteLine("请输入1--25的数值,您只有10次机会"); Random p = new Random(); int a = p.Next(1, 26); int b = int.Parse(Console.ReadLine()); for (int i = 0; i < 10; ) { if(b == 0) { Console.WriteLine("返回主菜单"); goto case1; } if (a == b) { Console.WriteLine("您猜对了。\n您可以尝试一下疯狂级别,但要冷静~"); b = int.Parse(Console.ReadLine()); goto case1; } if (b > 25) { Console.WriteLine("请输入25以内的数~您还有{0}次机会",10-i); b = int.Parse(Console.ReadLine()); i--; } if (b == -1) { Console.WriteLine("请输入正整数~您还有{0}次机会", 10 - i); b = int.Parse(Console.ReadLine()); i--; } else if (b < a) { Console.WriteLine("太小了,请您继续输入,否则输入0返回,您还有{0}次机会", 10-i); b = int.Parse(Console.ReadLine()); i++; } else { Console.WriteLine("太大了,请您继续输入,否则输入0返回,您还有{0}次机会", 10-i); b = int.Parse(Console.ReadLine()); i++; } } Console.WriteLine("10次机会已用完,返回主菜单~"); goto case1; } else if (str == "3")//普通 { Console.Clear(); Console.WriteLine("普通"); Console.WriteLine("请输入1--50的数"); Random p = new Random(); int a = p.Next(1, 51); int b = int.Parse(Console.ReadLine()); do { if (b == 0) { Console.Clear(); Console.WriteLine("返回主菜单"); goto case1; } if (b == -1) { Console.WriteLine("请输入整数"); b = int.Parse(Console.ReadLine()); } if (b > 50) { Console.WriteLine("请输入小于50的数"); b = int.Parse(Console.ReadLine()); } else if (b < a) { Console.WriteLine("对不起,猜错啦~太小了,请继续猜可能的数:\n(猜不到,请输入0返回菜单~)"); b = int.Parse(Console.ReadLine()); } else { Console.WriteLine("对不起,猜错啦~太大了,请继续猜可能的数:\n(猜不到,请输入0返回菜单~)"); b = int.Parse(Console.ReadLine()); } } while (a != b); Console.Clear(); Console.WriteLine("真行,猜对啦的确是{0}", b); Console.ReadLine(); goto case1; } else if (str == "4")//较难 { Console.Clear(); Console.WriteLine("较难"); Console.WriteLine("请输入1--100的数"); Random p = new Random(); int a = p.Next(1, 101); int b = int.Parse(Console.ReadLine()); do { if (b == 0) { Console.Clear(); Console.WriteLine("返回主菜单"); goto case1; } if (b == -1) { Console.WriteLine("请输入整数"); b = int.Parse(Console.ReadLine()); } if (b > 100) { Console.WriteLine("请输入小于100的数"); b = int.Parse(Console.ReadLine()); } else if (b < a) { Console.WriteLine("对不起,猜错啦~太小了,请继续猜可能的数:\n(猜不到,请输入0返回菜单~)"); b = int.Parse(Console.ReadLine()); } else { Console.WriteLine("对不起,猜错啦~太大了,请继续猜可能的数:\n(猜不到,请输入0返回菜单~)"); b = int.Parse(Console.ReadLine()); } } while (a != b); Console.Clear(); Console.WriteLine("真行,猜对啦~的确是{0}", b); Console.ReadLine(); goto case1; } else if (str == "5")//困难 { Console.Clear(); Console.WriteLine("困难"); Console.WriteLine("请输入1--500的数"); Random p = new Random(); int a = p.Next(1, 501); int b = int.Parse(Console.ReadLine()); do { try { if (b == 0) { Console.Clear(); Console.WriteLine("返回主菜单"); goto case1; } if (b == -1) { Console.WriteLine("请输入整数"); b = int.Parse(Console.ReadLine()); } if (b > 500) { Console.WriteLine("请输入小于500的数"); b = int.Parse(Console.ReadLine()); } else if (b < a) { Console.WriteLine("对不起,猜错啦~太小了,请继续猜可能的数:\n(猜不到,请输入0返回菜单~)"); b = int.Parse(Console.ReadLine()); } else { Console.WriteLine("对不起,猜错啦~太大了,请继续猜可能的数:\n(猜不到,请输入0返回菜单~)"); b = int.Parse(Console.ReadLine()); } } catch (Exception e) { Console.WriteLine(""); }//未成功执行错误 } while (a != b); Console.Clear(); Console.WriteLine("真行,猜对啦~的确是{0}", b); Console.ReadLine(); goto case1; } else if (str == "6")//疯狂 { Console.Clear(); Console.WriteLine("疯狂"); Console.WriteLine("您确定您要玩疯狂等级,请输入0继续。。。"); string ty = Console.ReadLine(); if (ty == "0") { Console.Clear(); Console.WriteLine("疯狂"); Console.WriteLine("请输入1--999999的数,您只有五次机会~\n(为了您家人的健康,请勿为此而发疯,注意时间!)"); Random p = new Random(); int a = p.Next(1, 1000000); int b = int.Parse(Console.ReadLine()); for (int i = 0; i < 5; ) { if (b == 0) { Console.Clear(); Console.WriteLine("返回主菜单"); goto case1; } if (b < 0) { Console.WriteLine("请输入整数,您还有{0}次机会~", 5 - i); b = int.Parse(Console.ReadLine()); i--; } if (b > 999999) { Console.WriteLine("请输入小于999999的数,您还有{0}次机会", 5 - i); b = int.Parse(Console.ReadLine()); i--; } else if (a == b) { Console.WriteLine("这样也给你猜对了,真是不可思议啊~"); break; } else if (b < a) { Console.WriteLine("sorry,猜错了,您还有{0}次机会~", 5 - i); b = int.Parse(Console.ReadLine()); i++; } else { Console.WriteLine("sorry,猜错了,您还有{0}次机会~", 5 - i); b = int.Parse(Console.ReadLine()); i++; } } Console.WriteLine("5次机会已用完,返回主菜单~"); goto case1; } else if (ty == "") { Console.Clear(); Console.WriteLine("您尚未输入任何数据~(返回主菜单)"); goto case1; } } else if (str == "7")//RM应用 { labal1: Console.Clear(); Console.WriteLine("RM应用"); Console.WriteLine("请输入1--2的数\n1表示硬币 \n2表示骰子 \n0返回主菜单"); string qr = Console.ReadLine(); if (qr == "1") { qq1: Console.Clear(); Console.WriteLine("1.硬币"); Console.WriteLine("请输入1--2的数\n1表示正面 \n2表示反面 \n0 返回主菜单"); Random p = new Random(); int a = p.Next(1, 3); int b = int.Parse(Console.ReadLine()); if (b == 0) { Console.Clear(); Console.WriteLine("返回"); goto labal1; } if (b > 2) { Console.WriteLine("请输入小于2的数,直接返回上二级~"); b = int.Parse(Console.ReadLine()); } else if (a == b) { Console.WriteLine("您赢了就是{0},\n请输入5继续猜,或输入0返回上二级", b); b = int.Parse(Console.ReadLine()); if (b == 5) { Console.Clear(); goto qq1; } else if (b == 0) { Console.Clear(); goto labal1; } } else { Console.WriteLine("您输了是{0},\n请输入5继续猜,或输入0返回", a); b = int.Parse(Console.ReadLine()); if (b == 5) { Console.Clear(); goto qq1; } else if (b == 0) { Console.Clear(); goto labal1; } } } else if (qr == "2")//骰子 { lab1: Console.Clear(); Console.WriteLine("1.骰子"); Console.WriteLine("请输入1--6的数\n 1--6表示骰子不同的面 \n0返 回"); Random p = new Random(); int a = p.Next(1, 7); int b = int.Parse(Console.ReadLine()); if (b == 0) { Console.Clear(); Console.WriteLine("返回"); goto labal1; } if (b > 6) { Console.WriteLine("请输入小于6的数,直接返回上二级~"); b = int.Parse(Console.ReadLine()); } else if (a == b) { Console.WriteLine("您赢了就是{0},\n请输入5继续猜,或输入0 返回", b); b = int.Parse(Console.ReadLine()); if (b == 5) { Console.Clear(); goto lab1; } else if (b == 0) { Console.Clear(); goto labal1; } else { Console.WriteLine("{0}不是正确数据~直接返回上二级~", qr); goto lab1; } } else { Console.WriteLine("您输了是{0},\n请输入5继续猜,或输入0 返回", a); b = int.Parse(Console.ReadLine()); if (b == 5) { Console.Clear(); goto lab1; } else if (b == 0) { Console.Clear(); goto case1; } else { Console.WriteLine("{0}不是正确数据~直接返回上二级~ ", qr); goto lab1; } } } else if (qr == "0") { goto case1; } } else if (str == "0") { int help; }//我后悔说那句话 else if (str == "8") { Console.Clear(); Console.WriteLine("您使用了清屏~"); goto case1; } else if (str == "9") { Console.WriteLine("版权:Y-G-H\n版本:VER.1.25\n说明:本程序原名 猜数字小游戏,后因加入了某些些功能而改名为RM,RM=Random,程序主要作用都是Random(随机产生数),感谢微软发布了那么完美cs,让我们为微软致敬~\n请输入任意键继续..."); Console.ReadLine(); goto case1; } else { Console.Clear(); Console.WriteLine("{0}不是指定数据~", str); goto case1; } } public static int i { get; set; } } } 后续开发建议 程序为vs2010,可能会有兼容性的问题~请使用。Net4.0的开发环境 这个程序有以下缺点 1. 使用的是int数据类型,当用户输入太快的时候,没有输入或不是int类型的,就会造成 错误导致用户对游戏的不爽、不满意。解决方法:先将输入的类型改为字串符输入,然 后输入的时候就判断是否为int类型,如果不是,则不转换为int类型,输出相应的错误 提示继续猜~ 2. 游戏扩展性,由于时间问题,作者不再继续开发,请大家自由下载,以便学习~ 3. 代码太多,感觉技术不行,那就将if判断简化为switch..case…再调用方法,调用方法时,讲一些数据(比如int a)转换至Random ..Next(,)里的‘,’旁边的变量,实现应判断a
本文档为【[小学]猜数字小游戏ver1&#46;26及后续开发建议】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_769254
暂无简介~
格式:doc
大小:42KB
软件:Word
页数:0
分类:互联网
上传时间:2018-07-22
浏览量:3