#include <graphics.h>
#include <string.h>
#include <stdio.h> //sprintf将整数转换为字符串
#include <time.h> //srand产生随机数
#define SQU_LONG 15 //正方形的长
#define SQU_NUMBER 30 //正方形个数
#pragma comment(lib,"Winmm.lib") //导入音乐头文件
IMAGE img,right,stop,play,fail,change; //定义背景,右边,游戏暂停,正在游戏,游戏失败,分数改变图片
int NUM=3; //节点个数
char score[5]; //存储分数的字符串
int foodx,foody; //食物的坐标,用于批绘制
void food(); //产生食物
void snakeMove(); //蛇移动
int Direction(int savec); //控制方向
void eat(); //吃食物
void over(); //蛇死亡
struct snake
{
int x; //蛇头x坐标
int y; //蛇头y坐标
int dire; //蛇头方向
struct snake *next; //结构体指针
};
struct snake *head=(snake *)malloc(sizeof(snake)); //定义头指针
struct snake *p; //用于遍历结构体
struct snake saveLast,saveBody; //saveLast用于保存前一个节点,saveBody用于保存后一个节点
void main()//主方法
{
initgraph(SQU_LONG*SQU_NUMBER+200,SQU_LONG*SQU_NUMBER); //创建画布
loadimage(&img,"image/bk_picture.jpg"); //读取背景图片
putimage(0,0,&img); //在坐标(0,0)处放置背景图片
loadimage(&right,"image/right.jpg");
putimage(495,0,&right);
settextcolor(WHITE); //文字颜色为白色
setbkmode(TRANSPARENT); //文字背景为透明
settextstyle(20,0,"楷体"); //文字字号为20,正常宽度,字体为楷体
outtextxy(530,40,"游戏规则:"); //在坐标(530,70)处输出“游戏规则”四个字,只能输出字符串格式
outtextxy(502,70,"方向键控制方向");
outtextxy(502,90," Space键暂停");
outtextxy(502,110," Shift键加速");
loadimage(&play,"image/play.jpg");
putimage(495,290,&play);
mciSendString("open music/bk_audi
Easyx库-贪吃蛇小游戏
最新推荐文章于 2025-06-16 11:56:27 发布