一、描述
下载链接: 基于easyx和C语言的简易贪吃蛇游戏源码.
二、程序要求
1、蛇可以穿墙移动
2、随机生成食物
3、显示分数
4、蛇撞到身体即死亡
三、程序设计及思路
根据上图,我们需要:
1、创建图形窗口并设置背景颜色(根据个人选择,可以使用默认黑色背景)。
2、蛇的结构体
3、食物的结构体
4、蛇的移动、吃食物变长
5、食物重新生成
6、死亡判定
7、绘制分数等
一)蛇和食物的结构体属性
struct Snake
{
int speed; //蛇的移动速度
int dir; //蛇的方向
int r; //蛇的大小
int size; //蛇的长度
POINT num[MAX]; //每一节蛇的坐标
int score; //分数
int flag; //存在标志
}snake;
struct Food
{
int x; //食物的坐标
int y;
int r; //实物的大小
COLORREF color; //实物的颜色
二)初始化
//游戏初始化
void GameInit()
{
mciSendString("close DIE", 0, 0, 0);
mciSendString("open ./ress/snake_bgm.mp3 alias BGM", 0, 0, 0);
mciSendString("play BGM repeat", 0, 0, 0);
srand(GetTickCount()); //设置随机数种子
initgraph(WIDTH, HEIGHT);
setbkcolor(RGB(140, 186, 236)); //设置背景颜色
settextcolor(BLACK); //设置字体颜色及样式
settextstyle(30, 0, "黑体");
//蛇初始化
snake.dir = UP;
snake.speed = 16;
snake.r = 8;
snake.size = 3;
snake.num[0] = {
WIDTH / 2, HEIGHT / 2 };
snake.num[1] = {
WIDTH / 2, HEIGHT / 2 + 16};
snake.num