目录
实现贪吃蛇我们要知道哪些?
Easyx图形库
我们需要安装Easyx配置到vs2022中,使游戏的背景颜色、蛇的颜色、食物的颜色可供我们随意设置,这样就不必再以前那个黑乎乎的终端命令窗口打开了
Easyx的安装
官网链接:https://easyx.cn/
在这个官网里不仅有简单的按照步骤还有关于一些库函数的介绍,教程通俗易懂,仅仅需要一点函数的知识。
游戏思路
我们需要知道蛇的移动是靠坐标的变换来实现的,食物的出现也是这样,这里的坐标系和我们日常数学中的有些区别(y轴的方向相反):
另外我们还需要知道:
是怎么移动的
是怎么吃东西的
吃到食物后节数怎么变化
如何通过键盘来实现蛇的移动
游戏实现
头文件的使用
#include<stdio.h>
#include<graphics.h>//图形库函数的头文件,下面的库函数是我们对背景、颜色、图形的生成等
#include<conio.h>//
#include<stdlib.h>
#include<windows.h>
#include<mmsystem.h>
对于这些头文件,下面使用包含其中的库函数时会讲到
和食物以及控制方向的初始化
#define SNAKE_NUM 500 //蛇的最大节数
//蛇的移动方向
enum DIR
{
UP,
DOWN,
LEFT,
RIGHT,
};
//蛇的结构
struct Snake
{
int size;//蛇的节数
int dir;//蛇的方向
int speed;//蛇的速度
POINT coor[SNAKE_NUM];//坐标
}snake;
//食物结构
struct Food
{
int x;
int y;
int r;//食物大小
bool flag;//食物是否被吃
DWORD color;//食物颜色
}food;
对于坐标的实现:
选中POINT后转到定义查看
食物颜色的实现:
与查看坐标的实现方法是一样的,大家理解一下就行
游戏数据的初始化
//数据的初始化
void GameInit()
{
//播放背景音乐
mciSendString("open./res/mmm.mp3 alias BGM",