C语言简易版猜数字游戏

关于这个猜数字游戏,我的想法是这样。进去游戏打印一个菜单,提示玩家输入1开始游戏,0退出,如果输入其他值就重新输入。

因为上来就要打印菜单,又需要循环,所以采用do while 循环,用Switch判断情况。如果在case 1里面加入自定义的游戏函数,在另外两种里用文字提示。

void menu()
{printf("+++++猜数字游戏++++++\n");
printf("++++++++++++++++++++\n");
printf("++1.PLAY 0.EXIT ++++\n");
printf("++++++++++++++++++++\n");}

7252fc6d493a4f0397afa86d4f48ed1f.jpg

这里的循环判定条件采用输入值input可以更方便的循环非0的情况(玩家输入0就退出游戏。

至于游戏模块,其实就是电脑内部产生一个随机值,然后由玩家输入一个值,然后判断与答案的大小给与文字提示。

那么随机值怎么产生呢?可以采用rand函数,但用rand就需要调用srand函数,用时间戳srand((unsigned int)timr(NULL))来使rand产生随机值,但srand函数不能放在游戏模块里,因为如果频繁调用srand,每次游戏产生的随机值会很接近,只调用一次就行,所以我把它放在主函数里面do while循环外面。4472837346334f86a72eba1b300aaf74.jpg

 

但rand产生的随机值是0到RAND_MAX(大概是32767)之间,如果玩家去猜的话会太麻烦,我想把它控制在1000以内,怎么使它变小呢?可以让它模上一个1001,再用一个变量去接收它,这样就能很好的实现。

接下来用一个guess去接收玩家输入的值,并根据大小给予相应提示,采用while循环,并且赋值1,当且仅当guess等于随机值时跳出循环。

0b09151be3254dd3a45f56a717082479.jpg

 这样这个简易版的猜数字游戏就OK了。如果想要体验更好,可以在完成一局后加入sleep函数,让下一轮在延迟几秒后弹出提示;也可以用system (”cls”) 进行清屏,在打印下一轮的游戏提示。

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值