C语言:猜数字游戏

首先,我们要确定目标:每打出一个数,就会提示我们猜的这个数是偏大了还是偏小了,直到猜对了为止。

确定好目标之后,就可以按照我们的这个想法进行编程。

第一步,先通过循环,来确定游戏的开始或者结束,这次运用 switch 语句,比如:

当然,如果只是这样,就只能运行一次,所以,我们还需要使用循环语句进行多次输入操作,这次就用do……while来运行,比如:

运用do……while操作的优势是,可以先把想要循环的东西输出来,最后再while进行判定,这样会使代码更加清晰,从上往下看能够更加容易读懂,不容易乱。

但是,这时候会发现,上图中出现了 menu()和 game(),这个是引用已有的函数,直接运用到主函数当中去,这时,就会产生一个问题:

为什么不直接把这两个函数放到主函数中去呢?

1. 放到主函数当中去会使主函数变长很多,像这个项目一样少的还好,要是多的,一大推都放在里面,就会使其变得很累赘,而且,工程完成后,调试起来还会非常麻烦,容易乱。

2. 像这样在外边创建一个函数,就会非常灵活,不仅能在这个项目中运行,还能在其他项目中引用,运行这个函数,不用再重新打一遍,提高了效率,节省时间。

那么,这两个函数都应该怎么定义呢?

菜单-menu()

因为我们需要输入数字进行判断是否运行,所以 menu()函数正好可以用来引导我们应该如何操作,比如:

游戏内容-game()

游戏内容就可以来判断是猜大了还是猜小了,又或者是猜对了,当然,这也需要使用循环来实现,比如:

然后,就剩下最后一个问题了,我们要如何使电脑生成这个随机值呢?而且,每次生成的这个随机值都是不能相等的,且尽可能地无规律呢?

这个时候就要使用 rand 了,rand 是一个随机生成(整型)数的一个函数,其值的范围是:0~32767,且要使用它需要包含一个头文件- <stdlib.h>,当然,如果只是输入这个,那么生成的这个随机数会一直不变,这时,我们就需要和 srand 进行配合使用,在这里,我们就又要知道时间戳这个概念了,时间戳是根据时间的不同,生成的一个不断改变的数,我们可以用这个不断改变的数,来设置随机数,通过时间,就可以设置随机数的生成器,就比如这样:

这两个的配合,完成最终的编程,所以,完整的代码为:

注:game()里面的%100+1,是要让 rand 中这些数都控制在1-100之间。

项目完成后,我们就可以来对他进行推广了。

我们可以在最后输出我们本局游戏一共尝试了多少次,这时候,就可以在 game()函数中进行增加代码打印出来,设置一个变量,每尝试一次就加1,最后输出这个变量,比如:

这样,就可以打印出猜的总次数了,其实,我们还可以再进一步的针对我们猜的这个个数的多少,再进行一个评估,是优秀还是良好等,再给出一些话,会让这个游戏好玩一点。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蔡欣致

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值