![040ff679658a3cb85d9bfdc11f2399a9.png](https://i-blog.csdnimg.cn/blog_migrate/0b554bb89e90458d1f8c41b57465c1cc.jpeg)
首先我们会发现我们网上看到的打字游戏都是上来就敲代码,小白看的一脸懵,所以鑫哥在这给大家送上一份超级详细的打字游戏编写流程及对应的结果展示,希望可以帮到小白进行入门学习。
话不多说,我们先看一下什么叫做打字游戏:
![c9618bd1a2dc8bb79e3760fa3e61e253.gif](https://i-blog.csdnimg.cn/blog_migrate/019bd2437097dfa8657cda535dcb9989.gif)
很简单的一个C语言的小游戏,接下来鑫哥将带领大家进行编写运行。
一、开发环境:
本次使用的环境为:Ubuntu系统云+sublime进行开发的。
二、框架分析:
最外层时一个大循环:----------while
打印游戏规则
按下任意键打印生成的随机字符串(20字母的字符串)
先生成一个随机的字符串----按下任意键----打印出来
按下任意键----生成一个随机的字符串----打印出来
按下任意键(需要做出一个没有回显的)----------获取键盘输入
生成一个随机的字符串(生成 随机数->字母->数组)(已知次数循环)--for-函数的调用
打印出来--------输出
按照上面的字符串进行敲键盘
同时进行判断,如果正确就原样输出,如果错误就_输出-------if ---else
在第0次按下时开始计时、最后结束计时--------调用时间函数获取当前系统时间
如果按下的按键和对应的数组中的字母相同---原样输出(同时k++)
如果不一样-----打印_
最后完成了,打印用时、正确个数(正确个数由k表示)
用时 = 结束时间-开始时间 正确个数 = k
按下esc退出、按下空格键继续
判断按下的是什么
ESC退出: retrun 0;//结束当前函数并返回一个0
空格继续:清屏继续玩
三、开始编程:
1.能玩一次的打字游戏
1.1打印游戏规则:
#include
![1d26b5ed73183205448a1f16c64e1a44.png](https://i-blog.csdnimg.cn/blog_migrate/b876281f88498e1c0f55fde936115391.png)
1.2.按下任意键
提供给大家一个源码:mygetch 无回显的getchar(不需要回车)
//------------------封装好的mygetch------------------
正常代码:(按下任意键不需要知道按了什么,所以不需要用变量去接返回值)
#include
![83330c9d89f3860399edab72c48f8582.png](https://i-blog.csdnimg.cn/blog_migrate/b0381e2789138b2d97712af77f21404a.png)
将随机数->字母
#include
![e8361aa851255660256a718d0c99ac4a.png](https://i-blog.csdnimg.cn/blog_migrate/d32fb96fbd89d94c6b5755cef4d3207e.png)
创建数组,将生成好的字母(字符)放入数组的对应位置中
#include
按照你上面有的字符进行敲击键盘
#include
![fc8d5788fa5142c819baaa9cd0c6b5cc.png](https://i-blog.csdnimg.cn/blog_migrate/301b24e9e1040c1d3ac83ae05af51f38.jpeg)
3.如何做成可以玩多次的打字游戏:
按下空格就打印haha,按下esc就退出
#include
将上面进行合并最后就是整个小项目:
#include
![403140ea388cca4e891927d05891570d.png](https://i-blog.csdnimg.cn/blog_migrate/bb512001f7328d2da999ae137289cc04.jpeg)
感谢各位小伙伴的支持欢迎点赞关注,谢谢,配合B站使用更佳
鑫哥B站:
千锋项目体验课-自制ipod-2打字游戏框架_哔哩哔哩 (゜-゜)つロ 干杯~-bilibiliwww.bilibili.com![06a5e8ef67c4916fa3652a3b709a65ca.png](https://i-blog.csdnimg.cn/blog_migrate/9a724592eb30a78515486c4098181e3d.jpeg)