- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
【C语⾔程序设计】—最近超⽕的⼩游戏—【数字炸弹】!
✍准备⼯作和建议
⼀、程序的原理
在动⼿编程之前,得先跟⼤家说⼀下这个程序是⼲什么的。
我们可以称呼这个游戏为《数字炸弹》。
游戏的原理是这样:
每⼀轮电脑从1到100中随机抽⼀个整数。
电脑请求你猜这个数字,因此你要输⼊⼀个1到100之间的整数。
电脑将你输⼊的数和它抽取的数进⾏⽐较,并告知你的数⽐它的数⼤了还是⼩了。
然后它会再次让你输⼊数字,并告诉你⽐较的结果。
⼀直到你猜到这个数为⽌,⼀轮结束。
游戏的⽬的,当然就是⽤最少的次数猜到这个神秘“”数字。虽然没有绚丽的图形界⾯,但是或多或少,这都是你的第⼀个游戏了,应该值得骄傲。
下⾯演⽰了⼀轮的样式,你要编程来实现它:
这个数字是什么?50
猜⼩了!
这个数字是什么?75
猜⼩了!
这个数字是什么?85
猜⼤了!
这个数字是什么?80
猜⼤了!
这个数字是什么?78
猜⼩了!
这个数字是什么?79
太棒了,你猜到了这个神秘数字!!
⼆、随机抽取⼀个数
但⼤家要问了:如何“随机地抽取⼀个数呢?不知道怎么办啊,⾂妾做不到啊。”
诚然,我们还没学习如何来产⽣⼀个随机数。让亲爱的电脑兄来做这个是不简单的:它很会做运算,但是要它随机选择⼀个数,它还不知道怎么做呢。
事实上,为了尝试“”得到⼀个随机数,我们不得不让电脑来做⼀些复杂的运算。好吧,归根结底还是做运算。
我们有两个解决⽅案:
✎请⽤户通过scanf函数输⼊这个神秘数字,那么就需要两个玩家咯。⼀个选数字,⼀个猜数字。
✎孤注⼀掷地让电脑来为我们⾃动产⽣⼀个随机数。好处是:只需要⼀个玩家,可以⾃娱⾃乐。缺点是:需要学习该怎么做...
我们来学习⽤第⼆种⽅案编写这个游戏,当然你也可以之后⾃⼰编写第⼀种⽅案的代码。
为了⽣成⼀个随机数,我们要⽤到rand()函数(rand是英语random的缩写,表⽰随机的“”)。
顾名思义,这个函数能为我们⽣成随机数。但是我们还想要这个随机数是在1到100的整数范围内(如果没有限定范围,那会很复杂)。
我们会⽤到以下的形式:
srand(time(NULL));
mysteryNumber=(rand()%(MAX-MIN+1))+MIN;
第⼀⾏(srand函数)⽤于初始化随机数的⽣成器。srand其实是seedrandom的缩写。seed在英语中是种⼦“”的意思。
srand函数只需要在rand函数前⾯调⽤⼀次就够了,也只能调⽤⼀次,之后你想要调⽤rand函数⼏次都⽆所谓,但是每个程序中不能⽤两次srand函数,切记。
上⾯代码格式中的MAX和MIN是常量或const类型的变量。MAX是Maximum的缩写,表⽰最⼤“”。MIN是Minimum的缩写,表⽰最⼩“”。顾名思义,MAX和MIN分别是你规定
的范围的最⼤值和最⼩值。
建议在程序的⼀开始定义这两个const类型的变量:
constintMAX=100,MIN=1;
三、引⼊的库
为了程序能够顺利运⾏,我们需要引⼊三个库:
stdio.h
stdlib.h
time.h
我们以前的课说过库的作⽤。库⾥⾯提供⼀些定义好的函数,⽐如time.h⾥⾯就有我们的time()函数,stdlib中有rand和srand函数。
好啦,我不继续透露了。我们已经说明了游戏的原理,给出了⼀轮游戏的运⾏例⼦,也给出了主要的随机数⽣成代码,该轮到你来完成游戏的代码了。加油,相信你可以的!
✍我的代码
这个游戏的代码可以有不同的版本,你完全可以⾃⼰发挥。
#includestdio.h
#includestdlib.h
#includetime.h
intmain(intargc,char**argv)
{
intmysteryNumber=0,guessNumber=0;
constintMAX=100,MIN=1;
⽣成随机数//
srand(time(NULL));
mysteryNumber=(rand()
您可能关注的文档
- 中国电信集团网优考试试题(测试) .pdf
- 中国古代文学史名词解释、论述题汇总 .pdf
- 体育中考理论试题答案解析 .pdf
- 体育运动训练理论考试试题 .pdf
- 四川省职业中学资助政策知识竞赛(2022年春季) .pdf
- 2022年苏教版小学04《可能性》说课稿 .pdf
- 2022年河南师范大学网络工程专业《数据库原理》科目期末试卷A(有答案.pdf
- 东北师范大学22春“汉语言文学”《古汉语基础(一)》期末考试高频考点版.pdf
- 2023年二级注册建筑师题库精品附答案 .pdf
- 3DSMAX使用中常遇到四十六个问题及解决方法 .pdf
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)