2024年5月29日发(作者:)

C语言课程设计报告

专业

学生姓名

完成日期

一、游戏规则需求

1、 在打开程序后,出现选择界面,里面包含难度选择,其中难度选择能够使程序出现相应的游戏难度;

2、 开始游戏后,W A S D键控制贪吃蛇的移动方向;

3、 当贪吃蛇向一个方向移动时,不能立刻向反方向移动;

4、 贪吃蛇撞到的自己的身体或者撞到墙时,游戏结束,并输出“GAME OVER”;

5、 贪吃蛇吃到一个食物后,出现白色闪烁一次,身体随之增加一个单位长度;

二、所需数据结构分析

1、所需函数模块

void begin; //登陆界面

void start; //鼠标移动事件

void init; // 初始化游戏

void setfoodcrd; // 设置食物要出现的坐标

void showfood; // 在相应的坐标画出食物

void snakemove;

void judgeslod;

void judgesef;

void showsnake;

void changeskdir;

void gameover;

2、蛇及食物数据结构

// 移动蛇,实际就是改变蛇各节的坐标

// 判断蛇是否撞墙或者撞到自己

// 判断蛇是否吃到食物了

// 在屏幕上画出蛇

// 接受用户输入,改变蛇的前进方向

// 游戏结束

typedef struct // 定义一个结构体表示坐标

{

int x;

int y;

}COOR;

struct FOOD // 定义结构体,来存储食物的相关信息

{COOR crd; // 食物出现的坐标

int flag; // 食物的状态,1表示食物还没被吃,0表示食物被吃了

}food;

struct SNAKE // 定义结构体,来存储蛇的相关信息

{

COOR crdSIZEMAX; // 保存蛇的每个结数的坐标,最多有100节

int node;

DIR dir;

// 保存蛇当前节数

// 当前蛇行进的方向

}snake;

3、 游戏流程图