- 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其实是 seed random的缩写。seed在英语中是“种⼦”的意思。
srand函数只需要在 rand函数前⾯调⽤⼀次就够了,也只能调⽤⼀次,之后你想要调⽤ rand函数⼏次都⽆所谓,但是每个程序中不能⽤两次 srand函数,切记。
上⾯代码格式中的 MAX和 MIN是常量或 const类型的变量。MAX是 Maximum的缩写,表⽰“最⼤”。MIN是 Minimum的缩写,表⽰“最⼩”。顾名思义,MAX和 MIN分别是你规定
的范围的最⼤值和最⼩值。
建议在程序的⼀开始定义这两个 const类型的变量:
const int MAX =100, MIN =1;
三、引⼊的库
为了程序能够顺利运⾏,我们需要引⼊三个库:
stdio.h
大丈夫处世,不能立功建业,几与草木同腐乎?——《罗贯中》
先天下之忧而忧,后天下之乐而乐。——范仲淹
stdlib.h
time.h
我们以前的课说过库的作⽤。库⾥⾯提供⼀些定义好的函数,⽐如 time.h ⾥⾯就有我们的 time() 函数,stdlib 中有 rand 和 srand 函数。
好啦,我不继续透露了。我们已经说明了游戏的原理,给出了⼀轮游戏的运⾏例⼦,也给出了主要的随机数⽣成代码,该轮到你来完成游戏的代码了。加油,相信你可以的!
✍ 我的代码
这个游戏的代码可以有不同的版本,你完全可以⾃⼰发挥。
#include stdio.h
#include stdlib.h
#include time.h
int main (int argc, char** argv)
{
int mysteryNumber = 0, guessNumber = 0;
const i
您可能关注的文档
最近下载
- 危大工程辨识清单.docx
- 小榨油厂生产工艺流程图(可修改).pdf
- 地铁施工测量题库2020版.doc
- 2024届安徽省合肥市肥东四中学九级八下英语期末联考试题含答案.doc VIP
- 【期中卷】人教版2021-2022学年九年级英语上学期期中测试卷 (一)含答案与解析.pdf VIP
- 【大单元教学设计】新统编版语文七年级上册第二单元 人间最美是亲情.docx VIP
- 2022-2023学年四川省广元市普通高校对口单招英语自考测试卷(含答案).docx
- 真题2023年9月全国事业单位联考《综合应用能力》试题及答案解析A类.pdf VIP
- NBT10115-2018光伏支架结构设计规程.docx
- 《仙人掌》-美术课件.pptx
文档评论(0)