C语言贪吃蛇

#只讲逻辑不讲一些基础,基础大概过一遍就行#

project-one: 无 (gitee.com)仓库里面有原代码

一、基础工作

1、先将你的编译器换成32位环境,也就是x86,

如果是控制台主机窗口则管,若不是需要改为控制台主机窗口

打开运行窗口后点击那个,向下的箭头

再点击设置

默认终端应用程序改为控制台主机

2、创建三个文件,两个.c文件,一个.h文件。下图供参考

3、为了避免麻烦直接包含所需要用到的头文件

4、在你的 .c 文件中包含 .h的头文件

5、完成头文件里的预先设定

关于蛇结构体的成员的创建

6、进入你的主函数里,我门需要先干的几件事,随机数生成(生成食物时会用到)、修改窗口大小(方便后续的绘图)、本地化、隐藏光标,游戏运行函数

窗口大小

我的窗口大小差不多就是这么大,到绘制地图那里细讲大小的调整。

本地化的设置就需要头文件locale.h,可直接照抄影响不大

隐藏光标函数

名字是自己起的可更改,里面的函数就是系统自己的函数了,不能改名字,用到的头文件 windows.h

7、来到我的测试函数了

可以先不用管下面的代码,到时候你可按照自己逻辑设计

二、开始界面函数

我调用了两个函数实现开始界面

1、欢迎函数

需要说的只用一个光标定位函数,光标定位函数,指定光标的起始位置打印。

我这个写出来就是这样,有点歪了,你们可以微调,需要改什么注意光标的位置就行。

这个俩个任意键继续是因为那两个暂停的代码。

2、地图绘制

建议在excel表格中画出你整个整个窗口的大小,我这个因为一开始写的时候我就直接先画的游戏的地图,外加改了很多次仅供参,

值得注意的是一个 纵坐标对应两个横坐标

黄色和绿色分别是地图方块,如下图,绿色自己就是 y坐标(纵坐标),橙色是x坐标,因为一个汉字占两个空间,

光标定位函数是自己写的,直接用就完了。

我这里一共 36 个方块一个方块两个 x 坐标, x 和 y 都是从 0 开始的

所以x坐标到 70 结束包含 70

y坐标只看中间,为29个方块,一共是31个方块,最下面的 y坐标是30

三、初始化,及帮组信息打印

界面展示

函数主体展示

1、打印帮助信息

没什么好说,找到对应的位置打印出帮助信息,如果打印不打调整坐标,可能是超过窗口范围了。

2、创建蛇身体

身体是身体的符号,我做了区分的

先创建头,再创建4的身体,创建的时候连在一起,相当于是一个单链表,x左边得是2的倍数就行。

3、初始化食物

我的初始化食物函数,自带打印功能,所以在吃掉一个食物时可以直接调用

4、信息初始化

方向设为左,状态正常,一个食物分数1分,总分数 0,睡眠时间200毫米。

5、打印出蛇身

四、游戏运行逻辑

按键判断函数宏,如果这个键被按过返回1否则为0

1、按键判断

2、蛇每走一步我们需要干嘛,Snakemove();

1、连接节点

2、新节点判断

撞墙和撞自己修改状态就行。由end函数来审判

五、结束操作

end game()函数


末尾操作

相关推荐
csbysj20207 分钟前
XML 技术
开发语言
清晓粼溪8 分钟前
Java登录认证解决方案
java·开发语言
小徐Chao努力9 分钟前
Go语言核心知识点底层原理教程【变量、类型与常量】
开发语言·后端·golang
锥锋骚年10 分钟前
go语言异常处理方案
开发语言·后端·golang
沐知全栈开发10 分钟前
JSP 自动刷新技术详解
开发语言
特立独行的猫a12 分钟前
C++使用Boost的Asio库优雅实现定时器与线程池工具类
开发语言·c++·线程池·定时器·boost·asio
郝学胜-神的一滴16 分钟前
Linux C++ 守护进程开发指南
linux·运维·服务器·开发语言·c++·程序人生·性能优化
_dindong19 分钟前
笔试强训:Week -8
开发语言·c++·算法
AI_567820 分钟前
Jupyter交互式数据分析的效率革命
开发语言·python
superman超哥22 分钟前
仓颉语言中并发集合的实现深度剖析与高性能实践
开发语言·后端·python·c#·仓颉