当前位置: 首页 > wzjs >正文

易语言编程软件做网站软文广告图片

易语言编程软件做网站,软文广告图片,有免费做网站的吗,深圳注册公司代理前面我们已经学习了C语言常见概念,数据类型和变量以及分置于循环的内容,现在我们可以将这些内容结合起来写一个有趣的小游戏。下面正式开始我们今天的主题——猜数字游戏的实现。 猜数字游戏的要求: 1.电脑自动生成1~100的随机数。 2.玩家…

前面我们已经学习了C语言常见概念,数据类型和变量以及分置于循环的内容,现在我们可以将这些内容结合起来写一个有趣的小游戏。下面正式开始我们今天的主题——猜数字游戏的实现。

猜数字游戏的要求:

1.电脑自动生成1~100的随机数。

2.玩家猜数字,猜数字的过程中,根据猜测的数据大小给出大了或小了的反馈,知道猜对,游戏结束。

看到这两个要求,我们首先想到的就是,随机数如何产生?

一、随机数的生成

1.rand

C语言提供了一个函数叫rand,这个函数可以生成随机数,函数原型如下:

int rand (void);

rand函数会返回⼀个伪随机数,这个随机数的范围是在0~ RAND_MAX 之间,这个RAND_MAX的⼤⼩是依赖编译器上实现的,但是⼤部分编译器上是32767。
rand函数的使用需要包含一个头文件<stdlib.h>。
我们先来测试一下rand函数,调用多几次,生成5个随机数。
我们先运⾏⼀次,看看结果,再运⾏⼀次再看看结果,多运⾏⼏次呢?
可以看出这两次生成的随机数是一样的,这就说明有问题了。
如果再深⼊了解⼀下,我们就不难发现,其实 rand 函数⽣成的随机数是伪随机的,伪随机数不是真正的随机数,是通过某种算法⽣成的随机数。真正的随机数的是⽆法预测下⼀个值是多少的。⽽ rand 函 数是对⼀个叫“种⼦”的基准值进⾏运算⽣成的随机数。
之所以前⾯每次运⾏程序产⽣的随机数序列是⼀样的,那是因为rand函数⽣成随机数的默认种⼦是1。如果要⽣成不同的随机数,就要让种⼦是变化的。
2.srand
C语⾔中⼜提供了⼀个函数叫 srand,⽤来初始化随机数的⽣成器的,srand的原型如下:
void srand (unsigned int seed);
程序中在调⽤ rand 函数之前先调⽤ srand 函数,通过 srand 函数的参数seed来设置rand函数⽣成随机数的时候的种⼦,只要种⼦在变化,每次⽣成的随机数序列也就变化起来了。
那也就是说给srand的种⼦是如果是随机的,rand就能⽣成随机数;在⽣成随机数的时候⼜需要⼀个随机数,这就⽭盾了。
3.time
在程序中我们⼀般是使⽤程序运⾏的时间作为种⼦的,因为时间时刻在发⽣变化的。
在C语⾔中有⼀个函数叫 time ,就可以获得这个时间,time函数原型如下:
time_t time (time_t* timer);
time 函数会返回当前的⽇历时间,其实返回的是1970年1⽉1⽇0时0分0秒到现在程序运⾏时间之间的差值,单位是秒。返回的类型是time_t类型的,time_t 类型本质上其实就是32位或者64位的整型类型。
time函数的参数 timer 如果是⾮NULL的指针的话,函数也会将这个返回的差值放在timer指向的内存中带回去。
如果 timer 是 NULL,就只返回这个时间的差值。time函数返回的这个时间差也被叫做:时间戳。
time函数的时候需要包含头⽂件:time.h
如果只是让time函数返回时间戳,我们就可以这样写:
time(NULL);//调⽤time函数返回时间戳,这⾥没有接收返回值
根据上面所述,我们可以将代码改进如下:
现在运行几次看看结果如何。
可以很明显的看出两次结果不相同。
srand函数是不需要频繁调⽤的,⼀次运⾏的程序中调⽤⼀次就够了。
根据游戏要求,我们要生成1~100之间的随机数,可是上面我们生成的数字是在0~32767之间的数字,那么我们该如何生成1~100之间的数字呢?
4.设置随机数的范围
如果我们要⽣成0~99之间的随机数,⽅法如下:
rand() % 100;//余数的范围是0~99
如果要⽣成1~100之间的随机数,⽅法如下:
rand() % 100 + 1;//%100的余数是0~99,0~99的数字+1,范围是1~100
如果要⽣成100~200的随机数,⽅法如下:
100 + rand() % (200 - 100 + 1)
//余数的范围是0~100,加100后就是100~200
所以如果要⽣成a~b的随机数,⽅法如下:
a + rand() % (b - a + 1)
很简单易懂吧,这样就可以生成1~100的随机数了,如下:
二、猜数字游戏的实现
1.基本思路
基本使用while、switch、case循环结合使用。首先,上来就打印菜单,显得逻辑清晰;然后根据我们的选择,选择进入游戏,就需要产生一个随机数,意不要把产生随机数的环节加入到while循环里面,不然每次猜都会生成一个随机数那那估计永远都猜不到,因为rand函数的种子是以time函数的返回值为参数的,时间戳在随时变化,那么如果放到循环里面每次判断一轮产生的rand的返回值都不一样随机数也就在变化,除非你运气好的爆炸,能够一次就猜中;再接着我们就可以开始猜数字了,判断我们猜大了还是猜小了直到猜对为止,或者我们可以限制猜的次数,正如下面代码实现的那样。
2.代码实现
3.如果想要增加难度,加上次数限制,代码如下:
新手入门的小游戏,应该算是比较简单的吧,希望能对大家有帮助。
http://www.dtcms.com/wzjs/593913.html

相关文章:

  • 怎样做天猫 淘宝网站导购怎么开通微信小程序卖东西
  • 1000元做网站php做网站难么
  • 苏州乡村旅游网站建设策划书企业网站建设ppt介绍
  • 西宁公司网站设计采用模版建网站的缺点
  • 免展网站后台注册seo查询seo
  • 网站不用备案营销型企业网站诊断
  • 电子商务网站建设理论依据做psd模板下载网站
  • 可信网站申请电商网站费用
  • 川畅科技搜搜 网站设计巴中网站开发
  • 做汽车网站开题报告的意义企业vi设计调研
  • 西安东郊做网站一部手机怎么做电商
  • 形象墙设计抚州网站seo
  • 有些网站下方只有版权没有ICP常州比较有名的设计公司
  • 大学网站开发的流程wordpress手机登录插件
  • 广州建网站哪儿济南兴田德润简介做网站下一页
  • 微信上浏览自己做的网站吗有什么做旅游攻略的网站
  • 衡水有做网站的吗aspnet网站开发实例
  • 医疗网站源码乡镇医院网站建设
  • 昆明做网站的微信怎么做链接推广产品
  • 大型门户网站 代码定制网站开发冬天里的白玫瑰
  • 贸易网站设计公司做网站需要交印花税
  • 国外优秀平面设计网站灰色行业推广平台
  • 个人网站建设的步骤网站建设与管理案例教程 柳
  • 网站建设经验与教训淘宝网官网
  • 旅游网站建设的课题研究的主要内容上海外贸网站推广服务
  • mooc网站建设cms 网站
  • 做网站如何团队分工兰州网站建设q479185700強
  • 云服务器可以用来做网站么wordpress 分享本文
  • 网站制作公司哪家专业绥阳网站建设
  • 做羞羞的事的视频网站系统开发需要的技术