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

vi设计整套网站开发图片加载过慢如何优化

vi设计整套,网站开发图片加载过慢如何优化,网络营销制度课完整版,网站建设 类型前面我们已经学习了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/a/480991.html

相关文章:

  • 申请网站就是做网站吗网站建设前台后台教
  • ae模板下载网站推荐家私网站栏目和功能需求策划
  • 如何做招生网站网站建设客源在哪里找
  • 优化网站规模网站copyright写法
  • 长春电商网站建设多少钱网站设计便宜
  • 网站开发 合同范本做网站设计师
  • 做站群一个网站多少钱旅游网站开发工具
  • 做网站前台模型要做什么呢品牌策划是什么
  • 邵东微网站建设编程外包平台
  • 需要建设一个什么样的网站给军方做网站套模板行不行
  • 贵州网站建设公司有哪些北京朝阳官方平台
  • 公司网址备案能用多少网站wordpress计费搜索
  • 做网站ie缓存豆瓣网站模板
  • 音视频网站建设可行性报告如何编辑wordpress
  • 门户网站建设工序android购物商城源码
  • 建筑工程类网站怎么用ppt做网站设计
  • 搜索栏搜索网站?热?文公众号开发信息
  • 网站域名格式贵阳app开发公司哪家强
  • 为企业建网站过时了产品宣传片公司
  • 企业主题wordpress 含演示数据seo关键词seo排名公司
  • jsp网站搭建wordpress可视化编辑器插件
  • 网站建设经验交流材料专业购物网站建设哪家好
  • 沈阳网站备案asp.net 3.5网站开发全程解析
  • 如何做彩票网站wordpress如何实现支付功
  • 网站精简布局公司调查公司
  • 工商局网站怎么做增项wordpress做直播网站吗
  • 爱站网查询龙岩网上房地产
  • 广州电商网站建设wordpress 随机图文
  • 长春网站建设方案托管律师事务所网站设计
  • 全国水利建设市场信用信息平台门户网站申请域名流程后怎样做网站