首页 / 开发技术 / C#     /    猜数字游戏(C#)

猜数字游戏(C#)

上传者: xqq524148626 | 上传时间:2024/3/11 20:56:10 | 文件大小:20KB | 文件类型:rar
猜数字游戏(C#)
猜数字  猜数字  猜数字可以算是一种益智类小游戏,一般两个人玩,也可以由一个人和电脑玩,可以在纸上、在网上都可以玩。
这种游戏规则简单,但可以考验人的严谨和耐心。
  目录  1规则  1.1次数限制  1.2含重复数字的猜数字  2解法  2.1计算机解  2.2推理解  2.3代入解  2.4其他  3参看  规则  这个游戏的规则比较简单,一般两个人玩,一方出数字,一方猜。
出数字的人要想好一个没有重复数字的4位数,不能让猜得人知道。
猜的人就可以开始猜。
每猜一个数字,出数者就要根据这个数字给出几A几B,其中A前面的数字表示位置正确的数的个数,而B前的数字表示数字正确而位置不对的数的个数。
  如正确答案为5234,而猜的人猜5346,则是1A2B,其中有一个5的位置对了,记为1A,而3和4这两个数字对了,而位置没对,因此记为2B,合起来就是1A2B。
  接着猜的人再根据出题者的几A几B继续猜,直到猜中为止。
  次数限制  有的时候,这个游戏有猜测次数上的限制。
根据计算机测算,这个游戏,如果以最严谨的计算,任何数字可以在7次之内猜出。
而有些地方把次数限制为6次或更少,则会导致有些数可能猜不出来。
而有些地方考虑到人的逻辑思维难以达到计算机的那么严谨,故设置为8次甚至10次。
也有的没有次数上的限制。
  含重复数字的猜数字  有一种使用范围比较狭窄的猜数字,是允许重复数字存在的猜数字,但由于其规则较复杂,故没有得到广泛的推广。
其规则如下:  除了上面的规则外,如果有出现重复的数字,则重复的数字每个也只能算一次,且以最优的结果为准,  如正确答案为5543,猜的人猜5255,则在这里不能认为猜测的第一个5对正确答案第二个,根据最优结果为准的原理和每个数字只能有一次的规则,两个比较后应该为1A1B,第一个5位子正确,记为1A;
猜测数字中的第三个5或第四个5和答案的第二个5匹配,只能记为1B。
当然,如果有猜5267中的第一个5不能与答案中的第二个5匹配,因此只能记作1A0B。
  解法  对于不同的人,常常会用到不同的解法  计算机解  通常采用的计算机解是通过排除法,即遍历所有可能的数,将不符合要求的数剃掉。
  下面是一个计算机处理的例子:  for(inti=0;i<Array.Count;i++){if(Array与当前输出数字的比较!=用户输入的与正确答案对比的结果){Array.Remove(i);i--;}}    这个代码采用C#的语法,其中Array表示所有可能的数字的集合。
这个例子为了方便说明,结合了语言的描述。
  这样的方法充分利用了计算机计算速度快的优势,迅速排出不符合要求的数。
通常第一次猜测的时间(有的引擎为第二次猜测)会在10秒左右,而随着猜测次数的不断增加,猜测的时间会越来越短,最后几乎不需要时间,这是由于集合中的数越来越少,排除需要的时间也随之减少。
  推理解  计算机解释根据这种方法推广的。
这种解法的中心思想是假设猜的这个数字是正确答案,即如果它为正确答案,那么这个数应该符合已经猜测的数及其结果。
如已经有  12340A0B  那么下一步就不能猜含有1234中任一数字的数,因为如果正确答案含1234中任一,结果就不可能为0A0B。
  这种解法对猜者要求较高,通常,可能会被定式思维所干扰,导致难以猜出。
  基于这个解法,根据个人思维风格和起始数字选择的不同,以及对出题者出数风格的猜测,有时可以把猜测次数控制在5步内,但不总能在5步内猜出。
  使用这种解法需要考虑的时间很久,和计算机解正好相反,人使用这种方法,通常随着猜测次数的增加,需要考虑的东西不断增多,反而考虑的时间会变得越来越长。
  代入解  还有一种方法,在人的猜测中很常用,即将推理出不可能含有的数字,代入,察看那些数字是有的。
  但这种方法其猜测次数难以确定,且通常的猜测次数比推理解多。
  其他  可能还有其他的方法。
本软件ID:1657926

文件下载

资源详情

(12个子文件20KB)猜数字游戏(C#)
GuessNo
GuessNo.suo 12.00KB
GuessNo
Program.cs 1.30KB
GuessNo.csproj 2.43KB
obj
Debug
GuessNo.exe 5.00KB
GuessNo.csproj.FileListAbsolute.txt 434B
TempPE
GuessNo.pdb 13.50KB
bin
Debug
GuessNo.exe 5.00KB
GuessNo.vshost.exe 13.99KB
GuessNo.vshost.exe.manifest 490B
GuessNo.pdb 13.50KB
Properties
AssemblyInfo.cs 1.34KB
GuessNo.sln 911B
[{"title":"(12个子文件20KB)猜数字游戏(C#)","children":[{"title":"GuessNo","children":[{"title":"GuessNo.suo <span style='color:#111;'>12.00KB</span>","children":null,"spread":false},{"title":"GuessNo","children":[{"title":"Program.cs <span style='color:#111;'>1.30KB</span>","children":null,"spread":false},{"title":"GuessNo.csproj <span style='color:#111;'>2.43KB</span>","children":null,"spread":false},{"title":"obj","children":[{"title":"Debug","children":[{"title":"GuessNo.exe <span style='color:#111;'>5.00KB</span>","children":null,"spread":false},{"title":"GuessNo.csproj.FileListAbsolute.txt <span style='color:#111;'>434B</span>","children":null,"spread":false},{"title":"TempPE","children":null,"spread":false},{"title":"GuessNo.pdb <span style='color:#111;'>13.50KB</span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"bin","children":[{"title":"Debug","children":[{"title":"GuessNo.exe <span style='color:#111;'>5.00KB</span>","children":null,"spread":false},{"title":"GuessNo.vshost.exe <span style='color:#111;'>13.99KB</span>","children":null,"spread":false},{"title":"GuessNo.vshost.exe.manifest <span style='color:#111;'>490B</span>","children":null,"spread":false},{"title":"GuessNo.pdb <span style='color:#111;'>13.50KB</span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"Properties","children":[{"title":"AssemblyInfo.cs <span style='color:#111;'>1.34KB</span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"GuessNo.sln <span style='color:#111;'>911B</span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

  • muak:
    很不错,给同学修改后同学很满意2015-10-06
  • qq_28447267:
    这个猜数字游戏挺简单的,理解起来挺容易,可以参考哦2015-06-03
  • wanghuican:
    代码太过于简单2015-05-14
  • 徐晔烨:
    内容比较简单,和题目表述不相符,误导我下载了该资源。。。不过程序可以运行,还是有一些参考价值的2015-03-12
  • zhangjiyang1323:
    界面一般但是代码有参考价值2015-01-27

免责申明

【好快吧下载】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【好快吧下载】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【好快吧下载】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,8686821#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明