《贪吃蛇游戏课程设计》报告毕业设计(论文) 下载本文

戏程序设计

一、课程设计任务

贪吃蛇小游戏程序设计

二、设计要求

通过游戏程序设计,提高编程兴趣与编程思路,巩固C语言中所学的知识,合理的运用资料,实现理论与实际相结合。

(1).收集资料,分析课题,分解问题,形成总体设计思路;

(2).对于设计中用到的关键函数,要学会通过查资料,弄懂其用法,要联系问题进行具

体介绍;

(3).上机调试,查错,逐步分析不能正常运行的原因,确保所设计的程序正确,并且能

正常运行;

(4).完成课程设计报告,并进行答辩

三、需求分析

3.1、程序功能

贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中撞到墙或身体交叉蛇头撞倒自己身体游戏结束。

3.2、设计思想

程序关键在于表示蛇的图形及蛇的移动。用一个小矩形快表示蛇的一节身体,身体每长一节,增加一个矩形块,蛇头用俩节表示。移动时必须从蛇头开始,所以蛇不能向相反的方向移动,如果不按任意键,蛇自行在当前方向上前移,但按下有效方向键后,蛇头朝着该方向移动,一步移动一节身体,所以按下有效方向键后,先确定蛇头的位置,而后蛇

1

的身体随蛇头移动,图形的实现是从蛇头新位置开始画出蛇,这时,由于未清屏的原因,原来的蛇的位置和新蛇的位置差一个单位,所以看起来蛇多一节身体,所以将蛇的最后一节用背景色覆盖。食物的出现与消失也是画矩形块和覆盖矩形块。为了便于理解,定义两个结构体:食物与蛇。

3.3、流程图

开始 初始化界面和蛇身 游戏者按键选择 放置食物 蛇开始运动 蛇吃到食? Y 蛇长大 N 蛇死亡? Y 继续? N 退出界面 Y N 2

四、设计的具体实现

(1)函数定义

函数定义是对各个基础函数的定义,并且设置需要运用的信息,便于调用 #define N 200 #define M 200 #include\#include #include #include #include #include #include #include #define LEFT 97//A #define RIGHT 100//D #define DOWN 115//S #define UP 119//W #define Esc 0x011b int i,key; int score=0;

int gamespeed=250;//游戏速度可根据实际情况自行调整 struct Food

{

int x;//食物的横坐标 int y;//食物的纵坐标

int yes;//判断是否要出现食物的变量

}food;//食物的结构体 struct Snake {

int x[M]; int y[M];

int node;//蛇的节数

int direction;//蛇的移动方向 int life;//蛇的生命,0表示活着,1

表示死亡 }snake;

void Init();//图形驱动 void Close();//图形结束 void DrawK();//开始画面

void GamePlay();//玩游戏的具体过程 void GameOver();//游戏结束 void PrScore();//输出成绩

(2)主函数main( )

主函数是程序的主流程,首先定义使用到的常数、全局变量及函数原型说明,然后初始化图形系统,调用函数DrawK()画出开始画面,调用函数GamePlay(),即玩游戏的具体过程,游戏结束后调用Close()关闭图形系统,结束程序 void main()//主函数 {

Init();//图形驱动 DrawK();//开始画面

3