简单的猜数字小游戏—练思维
写代码之前要把构思想好喔
猜数字游戏怎么想的呢?
猜数字游戏嘛,不就是电脑生成一个数字,然后我再猜这个数字,电脑回应我猜错还是猜对了嘛,如果猜错了要重新猜,并且猜数字,电脑会告诉你猜大了还是猜小了。我们需要电脑来实现这个功能。
游戏是怎么通过代码来实现的呢?
实现这个功能最重要的就是电脑要生成一个随机数,这个数字不要太大,范围不要太大,让数字范围在1~100之间,可以通过 随机数%100 就可以生成 0 到99之间的数字啦,然后给它+1就可以生成1~100的数字了。
这里我会讲到一个库函数rand()它是专门用来生成一个随机数的函数。使用它要引用头文件<stdlib,h>
它的功能也详细写出来了是生成一个0~MAX的数然后看后面那句话,要使用rand函数之前要先调用srand()函数而srand函数又是什么呢?
!
MAX 0x7fff是16进制表示着是十进制数字32767
srand函数是生成一个随机数的然后这个随机数会被rand()使用,srand函数的头文件也是<stdlib,h>
而它的参数是一个无符号的值,srand()生成随机值的条件就是要有一个不断变化的参数,,什么是不断变化的呢?时间! 时间是不断变化着的,这里又涉及一个叫时间戳的知识点了
1、什么是时间戳 ?
时间戳是使用数字签名技术产生的数据,签名的对象包括了原始文件信息、签名参数、签名时间等信息。时间戳系统用来产生和管理时间戳,对签名对象进行数字签名产生时间戳,以证明原始文件在签名时间之前已经存在。
时间戳(timestamp),通常是一个字符序列,唯一地标识某一刻的时间。
然后将这个时间戳放进srand()中就能生成随机数了。
游戏的实现。
1**.先写个main函数,test()进行游戏。首先要先玩上一局,然后再想还要不要玩,这时用一个do while循环来实现,游戏需要一个菜单,先设置一个简易菜单。**
2**.然后进行选择,选择1 进入游戏,选 0退出游戏,这时可以用swtich语句来实现。.
3.这个while()里面这个表达式就直接放n就可以,如果选择0循环结束,游戏停止,如果不是1 则继续选择。选择1后就要进行游戏game()的组合了。
4.首先应该生成随机数,怎么生成随机数上面已经说了,使用rand()函数来生成,(注意这里srand()函数只要调用一次就行了,调用多次那么每次猜数字都会生成不同的数字,那永远都猜不对的。所以把srand()函数放在test函数里面即可。)生成后就可以进行猜数字了,讲猜的数字与生成的数字进行比较,猜大了再猜,猜小了再猜,直到猜对为止,所以这个也是个循环。**
这是猜数字游戏要引用的头文件。