给大家分享一句我很喜欢我话:
知不足而奋进,望远山而前行!!!
铁铁们,成功的路上必然是孤独且艰难的,但是我们不可以放弃,远山就在前方,但我们能力仍然不足,所有我们更要奋进前行!!!
今天我们更新了贪吃蛇的内容,
🎉 欢迎大家关注🔍点赞👍收藏⭐️留言📝
前言
贪吃蛇作为一个游戏,肯定被大家所熟知,我相信大部分人都玩过这个游戏,所以规则我相信大家都明白,在这我就不过多讲述了。
然后今天我们就要基于C语言链表这个内容去实现这个小游戏,下面我们先来看一下这个我们将会实现的几个画面。
这就是我们这个游戏的几个画面,下面我们就要基于这几个画面去实现我们的贪吃蛇小游戏。
大致功能
首先我们说一下这个小游戏的大致功能吧,他的功能有如下几个方面,
首先我们要能够去控制它的移动,有上下左右四个方向的移动,然后我们要设置蛇的速度,这里其实就是一个休息的时间,就是休息多少秒进行下一步,然后还有我们要生成食物,还有触碰到食物之后要加分,以及生成下一个食物。
下面我们就一步步的来实现一下这个代码
使用到的WIN32一些接口简单介绍
实现过程使用了WIN32的一些API,这里简单介绍一下这些API的功能。
控制台窗口大小
设置控制台窗口大小,在windows界面的cmd中我们可以输入这样的指令来控制窗口的大小:
mode con cols=100 lines=30 #控制窗口,cols为行长度,lines为列行数
命令行窗口的名称也可以通过命令的方式来更改:
title 贪吃蛇#更改命令行窗口的名称
在C语言中,我们需要使用system接口来改变终端 窗口的大小 以及 窗口名称,使用system接口需要包含 stdlib.h 头文件,例如下面代码:
#include<stdio.h>
#include<stdlib.h//使用system接口的头文件
int main()
{
system("title 贪吃蛇");//将命令行窗口的名字更改为需要的名字
system("mode con cols=100 lines=30");//设置命令行窗口的大小
//其他操作
return 0;
}
隐藏光标
通常,我们的终端也可看作坐标系,左上角为坐标原点,向右为x轴,向下位y轴,如下图所示:
我们在windows窗口上描述一个坐标需要使用一个windows API中定义的一个结构体 COORD,表示一个字符在控制台屏幕缓冲区上的坐标,在C语言中,我们需要包含 windows.h 头文件才能使用,使用实例如下:
#include<stdio.h>
#include<windows.h>//调用该api需要的头文件
#include<stdlib.h>
int main()
{
COORD pos = { 20, 20 };//使用第一个参数为行,第二参数为列
return 0;
}
实现光标隐藏,我们需要先调用 GetStdHandle 函数来获取标准输出句柄(什么是句柄可以看这个blogger的文章:戳我跳转),使用这个句柄可以操作设备。
HANDLE output = NULL;//HANDLE为结构体指