猜数字小游戏

       今天,我们来探讨怎样用C语言编写一个简单的猜数字小游戏,这里用到的开发工具是VS2022。当然开始之前首先要构思,理清大概思路能让我们做起来有条不絮。

1.先搭建一个游戏界面

2.编写游戏

(1)产生一个随机数

(2)猜一个数,进行判断

(3)猜中退出

3.测试

1.搭建一个简单的游戏界面

       我们首先来搭建一个简易游戏界面,这里选用输入1或0来表示我们选择开始游戏或退出游戏。

       这里我们将游戏界面作为一个函数在主函数中进行调用,因为不需要返回值,所以用void来定义函数。

       在这里我们可以先梳理一下思路,看看有没有不妥的地方。首先进入主函数,打印出简易游戏界面,我们输入1或0来选择开始游戏或者退出游戏。输入1,则开始猜数字游戏;输入0,则退出游戏;输入其他值,则提示重新选择。

       这里我们用到了do...while语句,do...while语句会先执行循环体中的代码,然后再检查条件。如果条件为真,则继续执行循环体中的代码,直到条件为假。与while语句不同的是,do...while语句保证循环体至少会执行一次,即使条件一开始就为假。它的基本语法格式如下:

                                                 do {
                                                       // 循环体代码
                                                      } while (条件);
       在do...while语句中,我们还嵌套了一个switch语句,switch语句是一种条件语句,用于根据表达式的值选择不同的代码块进行执行。它通常用于替代多个if-else语句的情况,可以使代码更加简洁和易读。

switch语句的基本结构如下:

                                             switch (表达式){

                                                case 值1:

                                                       // 代码块1

                                                       break;

                                               case 值2:

                                                      // 代码块2

                                                      break;

                                                   ...

                                                default:

                                          // 默认代码块 

                                                    }

当表达式的值等于某个case后面的值时,对应的代码块将被执行。如果没有匹配的值,则执行default代码块(可选)。每个case后面通常会有一个break语句,用于跳出switch语句,防止继续执行其他case的代码块。

2.编写游戏

       我们写一个game函数,在主函数中调用,这里同样不需要返回值,因此也用void定义。

先来梳理一个游戏思路:

       这里我们要认真地想一下,猜数字游戏要怎么实现呢?首先要电脑先产生一个随机数,然后我们来猜,当然产生的这个随机数要有一个范围,不然我们猜起来实在太难了,不妨我们就限定它的范围为1~100。那电脑要怎样产生一个1~100的随机数呢?

       我们这里先简单的提及一些函数、感念,就不细细介绍了。有函数rand(头文件为#include <stdlib.h>),调用rand函数之前需要先调用srand()函数来设置这个随机数的时针器,括号里需要一个随机的无符号整形,但是我们开始就是想要一个随机数,显然行不通。所以需要我们另想办法,我们可以在这里放一个时时刻刻都在变化的值,那什么是时时刻刻都在变化的呢?当然是时间了!这里就又引出了时间戳的感念,有time函数(头文件为#include <time.h>)(unsigned int)time(NULL)可以给srand函数返回一个无符号整形值,srand((unsigned int)time(NULL))可以设置一个随机的起点,rand函数可以生成一个0到RAND_MAX(32767)之间的随机整数。可是这个函数还不能实现生成指定的1~100这个范围,我们需要想想办法,这里我们思考一下,如果给rand取100的模,不是就实现了生成0~99随机数的需要吗,然后只需要再+1,就实现了生成1~100随机数的这个需要。代码如下:

3.测试

       到这里这个简单的游戏已经基本完成了,我们测试后没有什么问题。在编写C语言的过程中,我们最好每完成一部分就测试一下,来确保整体的正确性,如果一股脑的一直编写,很容易产生错误,而且很难找出错误在哪里。

       最后,让我们来完整地看一下自己编写的猜数字小游戏代码。

测试结果如下:

  • 37
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值