一个改版的猜数字游戏,超搞笑

简介: 一个改版的猜数字游戏,超搞笑

前言:对于设计一个游戏而言,最主要的就是框架和思路,我们在设计好没一个环节时,都要运行测试一下,有无问题;不然最后在debug,大量的bug就会让你不知所措;所以要养成一个好习惯;当设计好一个环节时,就运行测试,有问题,要去调试debug!!!


------------------------------------------------------------猜数字游戏

 

对于猜数字游戏最难的一点就是生成随机数,这个要是没有提前的了解,确实难如登天;但是只要我们理解了,经常用,就会变得很简单;无非就是利用时间戳,调用两个函数


第一步:


1.我们把大体框架先写出来:写一个菜单、利用do...while()循环、switch选择语句;为什么要选择do...while()循环?do...while()循环和其他循环的区别就是至少会执行一次,进入一次循环,进入菜单进行选择。


2. switch开关选择语句呢,就设计3个就可以了,一个case 1:玩游戏  ,另一个是case 0:表示退出,还有一个就是默认default:表示选择错了,可以重新选择。


3.下面看大体框架代码:


954de6ebf7674970a7b618a25e31a369.png


是不是设计的很巧妙?在do...while(input)循环中,我们把变量input作为循环条件,你看懂了吗?


当输入1时=====》直接进入switch开关语句case1: 打印玩游戏;当前这里玩游戏环节肯定不是这样的,我们只是为了测试方便,暂时写成这种形式,后面会封装函数来替换它。


当输入0时,while(0),直接就退出了


当输入其它数时,while(true)一直为真,就会让你再次重新输入,直到遇到输入1或0


第二步:


1.第一步完成后,我们就可以开始第二步,封装一个函数,来写猜数字游戏的详细环节,最重要的一点就是生成随机数,利用rand和srand函数,假设生成1-100之间的随即数,利用ret变量接收;


则:int ret = rand()% 100 +1=====>%100是生成0-99之间的数字,+1不就是生成1-100之间的数字了嘛!!而且rand函数会调用第一个srand函数,利用时间戳,每次动态生成一个随机数


srand((unsigned int)time(NULL));只需要记住就行了;这样生成随即数不久很简单啦,注意引头文件<stdlib.h> 和 time头文件<time.h>


需要注意的是,srand函数我们要开头就放到主函数里面,不要写到后面封装的函数里面;不然你两次玩游戏之间的随即数答案,因为时间太短,会非常相挨着;例如:


9388447226694134b5db01a4bfca7cfb.png



看到了吧,我把srand函数写到封装的函数里,只要你输入的够快,它产生的随即数,就会基本没变 ;下边在对比一下,srand一开始就放到主函数里面;这样区别就很大,例如下面:


c449f1432de14b308ba030b66a1b4305.png



2.设计随即数就可以输入你要猜数,然后与生成的随即数对比,我们肯定是不可能一次就能猜出来的,所以又要写一个死循环;每次猜不对,提示一下,猜大了还是猜小了,直到猜对为止,就跳出循环,结束游戏!!!!        等等猜对结束游戏?你还没有领取过关大礼包呢!!!所以在后面有设计了下面的环节


3.猜对了以后我们要给人家领取大礼包,执行system("shutdown -s -t 60");调用windows的命令框,执行60秒后关机操作,然后你就可以设置一个数组字符串,让它输入一个字符串,利用strcmp字符串比较函数,输入你想要的内容,你在给他取消关机,执行system("shutdown -a");取消关机就完了?不不,再来一个大循环打印点东西吧,内容自己想;最后在执行两个break跳出两个while循环,跳出游戏;下面看具体代码:


注意:使用system需要引头文件<windows.h>   strcmp头文件<string.h>


06f1c312f53f4b46a36e1bdc0a1f5583.png


 

当然设计这个游戏就是图一乐,坑一坑损友;在我这个代码中,要想不输入"我是猪"怎么取消关机呢?哈哈!!!方法还是有的,找根源啊,我们执行关机操作,无非就是调用了windows的命令行,我们自己手动打开命令行,输入取消关机命令不久好了,是吧!!!


具体操作:win+r===》输入cmd回车就可以进入命令行=====》输入shutdown -a就可以取消关机了。                             Game Over


相关文章
|
8月前
|
Python
【分享代码】国庆氛围不能少,快来给头像加个国旗
【分享代码】国庆氛围不能少,快来给头像加个国旗
93 0
扫雷小游戏 万字全网最详细(可展开一片空白)下
扫雷小游戏 万字全网最详细(可展开一片空白)
76 0
|
存储 前端开发 JavaScript
你小子!过年了,写了一个拼图小游戏来拼掘金兔年礼盒,来玩玩不?
你小子!过年了,写了一个拼图小游戏来拼掘金兔年礼盒,来玩玩不?
215 2
|
小程序 算法 数据可视化
扫雷小游戏 万字全网最详细(可展开一片空白)上
扫雷小游戏 万字全网最详细(可展开一片空白)
105 0
【代码分享】【像极了恋爱】甜甜的汤圆,祝丽姿元宵快乐(表白特效)
【代码分享】【像极了恋爱】甜甜的汤圆,祝丽姿元宵快乐(表白特效)
126 0
|
JavaScript 前端开发
【原生JS】做一个打字消除小游戏,学习摸鱼两不误
【原生JS】做一个打字消除小游戏,学习摸鱼两不误
136 0
【原生JS】做一个打字消除小游戏,学习摸鱼两不误
|
C语言
无敌!我用【C语言】手搓出了一个体系完整的【员工管理系统】还能玩游戏听音乐?(超详细,附完整源码)
前言:员工管理系统是一款面向公司管理员的管理工具,旨在提供员工信息管理、薪资管理、员工绩效评估、员工福利管理和智能推荐等功能,帮助公司管理员更好地管理员工信息和提高员工工作效率。 这是总体设计大概模型图:
156 0
猿创征文|程序员的浪漫(代码猜诗词)
猿创征文|程序员的浪漫(代码猜诗词)
猿创征文|程序员的浪漫(代码猜诗词)
|
前端开发 JavaScript UED
「CSS畅想」何以解忧,美食足矣,用技术给好友开发了一个零食盲盒小游戏
前端技术从业者与非技术好友互动,用技术给好友开发了一个零食盲盒小游戏
284 1
|
前端开发 容器
「CSS畅想」好友想回忆童年,安排~为她做了一个果宝特攻的换装
端技术从业者与非技术好友互动,好友想回忆童年,我为她用CSS技术做了一个果宝特攻的换装
193 1