戏程序设计
一、课程设计任务
贪吃蛇小游戏程序设计
二、设计要求
通过游戏程序设计,提高编程兴趣与编程思路,巩固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
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