一、说明
- 编译环境:vs 2019
- 需要安装 eazyx(几秒钟就行)
- 代码注释详细
- 成像图

二、制作思路
- 界面
大小、颜色
- 蛇的初始化
蛇身形状、长度,出现在地图的位置,一开始往哪个方向移动
- 食物的随机出现
播种:srand((unsigned int)time(NULL));
随机函数:rand()
- 蛇的行动操作(移动和吃食物)
WASD
不能直接走与自身方向相反的方向,如:
向右走时不能向左
- 蛇死亡条件
撞边界、撞自己
- 得分的计算
吃食物得分,打印在界面
- 如何画蛇、画食物
三、代码
#undef UNICODE
#undef _UNICODE
#include<stdio.h>
#include<conio.h>
#include<time.h>
#include<graphics.h>
#define M 600
#define N 400
typedef struct {
int x, y;
}point;
struct snake {
point xy[100];
int position;
int lenth;
}snake;
struct food {
int flag = 0;
point fdxy;
int grade = 0;
}food;
enum position {
up, down, left, right };
void startsnake()
{
snake.xy[0].x = 20;
snake.xy[0].y = 0;
snake.xy[1].x = 10;
snake.xy[1].y = 0;
snake.xy[2].x = 0;
snake.xy[2].y = 0;
snake.position = right;
snake