手把手教你实现猜数字游戏

一:游戏的要求:

1,电脑会随机生成一个数字

2,玩家猜数字

a:猜大了,提醒猜大了,继续猜。

b:猜小了,提醒猜小了,继续猜。

c:猜对了,提醒:恭喜你,猜对了,并且结束游戏。

3,玩完一把不过瘾,还可以让用户选择是否继续玩。(所以游戏中一定含有循环)

二:主函数代码的书写

步骤一:任何游戏上来都是一个菜单,让玩家选择玩还是退出,所以我们制作一个简单的菜单函数。

这个简单的菜单函数,打印效果如下:

步骤二:玩家进来显示菜单后,应该输入1或者0,也有可能输入错了,输入进去了其他的数字。所以我们用一个switch语句来进行操作。玩家选择1,就是进入游戏所对应的函数,选择0,就是退出游戏,选择其他的就是对应的选择错误。 

再综合我们玩完一把可以再次游玩的目的,所以这个switch语句应该放在一个循环中,那么循环的判断条件是什么呢?这就是为什么我们设置0是退出游戏的原因!!0为假,刚好可以用来结束循环。意思就是,玩家输入的1或者0或者输入错的其他非0的数字,既用于switch语句中case的选择,又用于了循环的条件判断!!

 可以看到,我们把switch语句放进了循环,我们玩家输入的变量为input,即使switch的变量,也是do while的判断条件,上来就打印一个菜单,然后说:请选择,玩家的选择,对应不同的case语句,并且也会用于循环的判断!

代码效果演示:

 三:游戏函数代码的书写

首先:我们游戏函数主题内部对于猜数字一定是循环的,玩家一般不可能一下子就猜对,所以是一个循环。

其次:对于生成随机数,要做以下知识的补充:

rand()函数:生成随机数,这函数不需要传参,会返回0-32767之间的一个数。
问题:每次运行的产生随机数一样,例如:第一次是22 3455 789 ,第二次也是22 3455 789。

rand函数的正确使用方法为:在使用rand之前,要先调用srand函数,srand是一个会初始化随机数的生成器,srand根据自己收到的参数的不同会返回不同的值,所以我们给srand函数传入时间戳,(给srand传入一个随时变化的值),而time函数的返回值,就是时间戳。

time函数,参数不使用,直接传空指针,NULL,他就会返回一个当前的时间戳,注意:time函数的返回类型是time_t,其实就是long long整形,经过typedef后的名字。而srand函数接受的参数类型为unsigned int 类型,所以我们把time的类型强转为unsigned int类型。
注意:srand函数使用一次就可以了,不需要每一次生成随机数,就设置一个生成的起点。一般放在主函数中,让其只执行一次。

整体代码:

 

 演示效果:

问题:猜的数字范围可能过大,我们可以对ret的值,进行%100,就可以只猜0~99的数字了!

可以修改如下:

 

谢谢观看! 

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值