【C语言程序设计】—最近超火的小游戏—【数字炸弹】! .pdf

【C语言程序设计】—最近超火的小游戏—【数字炸弹】! .pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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()

您可能关注的文档

文档评论(0)

. + 关注
官方认证
内容提供者

专注于职业教育考试,学历提升。

版权声明书
用户编号:8032132030000054
认证主体社旗县清显文具店
IP属地河南
统一社会信用代码/组织机构代码
92411327MA45REK87Q

1亿VIP精品文档

相关文档