先写一下这个游戏的大致思路
1.自动生成一个1-100之间的随机数
2.猜数字
a.如果猜对了,恭喜你,游戏结束
b.如果猜错了,告诉你大了还是小了,继续猜,直到你输入对的数
3.可以一直玩,你想退出也行
首先
输入主函数,然后用do while循环让你一开始就能玩一次,然后打印一个简易菜单(都是简易游戏了菜单还能不简易嘛),因为menu不是库函数,是我们自己定义的,所以在主函数外面定义,并于主函数中嵌套调用,定义一个整型input,选择你是否玩这个游戏。(要记得input定义在do while外面,不然还没到while就die了)
第二步
写一个switch语句和menu对应(千万不要忘记break哦),while的判断条件为input,非零继续循环,想退出游戏的话在这里给input输入0哦,不然就会一直玩下去了。
第三步
这是最重要的一步,定义game这个函数
1.生成随机数
2.猜数字
rand函数是用来生成随机数的,它能返回一个0-32767之间的数字,但是如果在它之前不引一个srand函数,虽然生成的时候很随机,但你会发现每次重新启动程序,生成的随机数都是一样的。
srand函数的返回类型为无符号整型,当你设置一个起点,如srand(120);你就会发现每次打印出来的都是一样的数,比没引之前还夸张,为什么嘞?因为srand里面的那个值是固定值,而我们需要的是随机值,这时候就引出一个时间戳的概念(一个时间转换出来的数字)
time函数本来是有参数的,但我们这里不想用他的参数,于是在里面丢了一个空指针,time的返回值是整型,于是在前面把他的返回值强制转换为无符号整型了,srand不要在game函数里,否则会每猜一次重新生成一个随机数,这样除非你运气好,一次就猜对了,不然可能玩一天都猜不对。
猜数字的过程用到了选择语句if,while恒为真,猜对了才能退出去,这里设计的是猜1-100的数,太大了不好猜,(%100+1)一定等于1-100之间的某个数,符合条件。
那么简易的猜数字游戏做完了,下次再见咯。
注意:time函数的头文件是<time.h>
rand和srand函数的头文件是<stdlib.h>