C语言实现猜数字游戏(1到100之间的猜数字)(巩固基本语法)

本文介绍了如何在C语言中设计游戏菜单,实现选择功能,并结合随机数生成(使用rand函数和srand函数)实现猜数字游戏的基本逻辑。通过do-while循环控制游戏流程,确保游戏体验和代码结构清晰。
摘要由CSDN通过智能技术生成

思路分析

首先我们拿到这个需求,应该首先联想到我们平时玩的一些游戏(比如王者)。那不管是什么游戏首先是不是都要有一个页面,上面显示着玩游戏和退出游戏(一些基本信息供我们的用户去进行选择)。那基于这个思路我们就可以再屏幕上打印一些信息。如果我的用户选择了1就是玩游戏,如果选择了0就是退出游戏(这里肯定不止会显示0和1还要给用户一些提示,毕竟用户不是程序员)。一个游戏或者一个业务会有许多的需求我们会把不同的功能写在不同的函数里面,等需要的时候就去调用这个函数。尽量让这些函数的关联变小这样在后期修改的时候不至于牵一发而动全身。当然我们目前写的是一些不是特别复杂的业务,所以体现可能没有那么明显。等到后期一些大的工程就会感受到了。

实现菜单功能

这个函数比较简单,在这里就不做过多的讲解

与菜单配合实现选择功能

首先C语言是从main函数开始进入的我会把我的选择功能封装在test()函数里面,这样不会使我们的mian函数显得冗余。进入test 函数我们首先利用do-while循环结构将菜单打印在我们的屏幕上。然后利用库函数打印请选择以便提示用户游戏已经进入。如果选择1那么程序就进入game函数实现游戏功能,如果选择0就执行退出游戏,如果既不是1也不是0那就不符合我们程序设定的要求就会提示选择错误的字样以此来提示玩家。

实现游戏功能(核心部分)

首先既然是要实现猜数字那首先应该是让我们的计算机产生一个随机数,然后再让玩家去猜他,是这样的一个逻辑。在这里我们选择使用C语言的rand函数来产生随机数,但是rand产生的值并不是真正的随机,而是一个伪随机数(这个随机数的范围是在0~RAND_MAX之间,这个RAND_MAX的⼤⼩是依赖编译器上实现的,但是⼤部分编译器上是32767)。rand 函数的使用还需要包含一个头文件stdlib.h。这个部分会在后面详细讲解,在这里我们先实现我们的功能。随机数既然生成了,我们还需要有一个游戏难度的设定也就是说我的这个游戏玩家开始后一共可以猜几次,在这里用count变量赋值为10。除此之外还需要设置一个猜的数字我们用guess定义。当用户选择1开始游戏后在屏幕上会提示您还有多少次机会,以便用户更好的进行衡量,剩下的如果玩家猜的数字小于随机生成好的ret就会提示猜小了,大于ret就会提示猜大了,剩下的一种情况就是猜对了(如果猜对了就会提示恭喜,猜对了)在这个时候我们应该用break跳出循环立即终止程序,否则会出现错乱现象。把以上的思路写在一个while循环里面(循环体为设定的count)。如果10次都没有猜对也就是count为0时就会提示游戏失败(在这里为了让玩家输的心服口服我们把正确答案打印出来给他看看)。

游戏效果

全部代码展示

提示:不要忘记头文件

随机数生成部分的补充

在这里说一下刚刚前面按个随机数函数的部分

在这里我们选择使用C语言的rand函数来产生随机数,但是rand产生的值并不是真正的随机,而是一个伪随机数(这个随机数的范围是在0~RAND_MAX之间,这个RAND_MAX的⼤⼩是依赖编译器上实现的,但是⼤部分编译器上是32767)。rand 函数的使用还需要包含一个头文件stdlib.h。C语言又提供了srand函数用来初始化随机数生成器。程序在调用rand函数之间会先去调用srand函数通过srand的参数来获得随机数的“种子”。也就是说只要种子在变化,生成的随机序列就是变化的,种子是随机的,rand的随机数就是随机的。在程序中我们⼀般是使⽤程序运⾏的时间作为种⼦的,因为时间时刻在发⽣变化的。下面把三种函数的原型给大家。我们得到了随机数rand()在用它%上100就会得到0到99之间的数字(但是我们想要的是1到100之间的所以在整体加个1)。

rand函数

srand函数

time函数

  • 30
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值