-
贪吃蛇游戏所需要运用到的知识
-
贪吃蛇游戏创建界面
-
贪吃蛇游戏框架基本函数
-
贪吃蛇游戏总代码
因为本人在编写贪吃蛇的时候会用到easyX,所以建议读者可以先了解一些EasyX,这样能够帮助你对本篇文章的理解。
1.贪吃蛇需要的知识
结构体,枚举,函数,在进行游戏界面的创建的时候会用到C++的图形绘制easyX,因为贪吃蛇的控制是在键盘上来实现控制的,所以还需要引用头文件<conio.h>(当然这个头文件也是在easyX中的)。所以基本上就是需要结构体,函数,数组这些知识。
2.贪吃蛇游戏界面的创建
虽然我们平时在写代码观看代码的运行的时候,会出现一个黑色的程序框,但是用easyX除了会保留原有的黑色程序框之外,还会在创建一个新的程序框,原有的黑色程序框可以方便我们后期对游戏数据进行观察。
#include <stdio.h>
#include <graphics.h>//
#define WIDE 500 // 创建界面的长
#define HEIGHT 300 //创建界面的宽
#define MAX 400 //表示贪吃蛇最大节数为400节
int main()
{
//这个函数用来创建一个新的程序框,也就是游戏窗口。
initgraph(WIDE,HEIGHT,SHOWCONSOLE)
//SHOWCONSOLE 表示所创建的程序窗口是正常的,存在最小化和关闭功能
//NOCLOSE 表示所创建的程序窗口是没有关闭功能的,没有完全通过游戏是不让进行关闭的
//NOMINIMIZE 表示所创建的程序窗口是没有最小化功能。
while(1)
{
}//之所以要这个,是因为如果没有的话所创建的程序窗口会一闪而过。
closegrapg();//这个函数的作用是关闭上面所创建的程序窗口,创建窗口总是需要关闭的,不然它会一直存在那里
return 0;
}
这样在程序运行的时候除了会出现原有的黑色控制台窗口,还会再出现一个长为500,宽为300的游戏窗口。
3.贪吃蛇游戏基本函数
1,创建贪吃蛇的基本属性——初始移动方向,初始长度,初始移动速度,初始节数所对应的坐标。利用结构体来将这些数据都弄在一起。
//创建贪吃蛇的数据
struct Snake
{
int length;//贪吃蛇的长度
int speed;//贪吃蛇的移动速度
int dir;//贪吃蛇的初始移动方向
POINT pos[MAX];//贪吃蛇的初始出现坐标
//POINT 用来定义一个结构体变量,这里用来定义pos,使pos能存下每节圆的圆心位置。
};
2,初始化游戏数据
当然这里只是来初始化贪吃蛇的初始化数据,还没有对食物的基本数据进行初始化。
//进行游戏开始的数据初始化
void initgame()
{
snake.length = 3;//初始长度
snake.speed = 8;//初始移动速度
snake.dir = RIGHT;//初始移动方向
for (int i = 0; i < snake.length; i++)//这里是来定位贪吃蛇每节圆的圆心位置
{
snake.pos[i].x = 40 - 10 * i;
snake.pos[i].y = 10;
}
}
3,初步绘画出游戏的基本界面
//进行游戏绘画界面
void gamedrw()
{
//建立双缓冲区绘画界面,这样可以使贪吃蛇在移动