下载此文档

贪吃蛇程序设计说明书.doc


文档分类:IT计算机 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
贪吃蛇游戏
程序设计说明书
题目:贪吃蛇游戏
学校:
系别:
专业
班级:
姓名:
学号:
指导老师:
日期:
设计题目:
贪吃蛇是一款经典的休闲游戏,一条蛇在密闭的围墙内,随机出现一个食物,通过控制方向键操作小蛇不停的朝着食物前进,直到吃掉食物。每吃一个食物,小蛇都会长长一截,随之难度增大;当小蛇头撞到墙或自己时,小蛇死亡。
功能设计:
本游戏要求实现以下几个功能:
用上、下、左、右键控制游戏区蛇的运动方向,使之吃食而使身体变长;
用户可以调节蛇的运行速度来选择不同的难度;
游戏分多个难度级别;
用户可自选颜色;
记录成绩前五名的游戏玩家;
增加背景音乐;
提高障碍物和游戏级别。
程序模块图:
贪吃蛇游戏
初始化
画图模块
控制模块
设置模块
帮助模块
墙体
蛇身
食物
移动
食物
死亡
变长
成绩
等级
音效
算法流程图:






开始
初始化界面和蛇身
放置食物
获取按键
开始运动
碰到边界
蛇吃到食
蛇长大
蛇死亡
继续
结束
函数原型与功能
:void main()
启动程序,触动其他函数。
:void init ()
设置背景框大小、蛇体初始值,随机产生食物。
:void setfoodcrd()
设置食物生成坐标,0表示食物被吃。
:void showfood()
用矩形框来画食物
:void showsnake()
根据蛇的坐标和节数,循环用矩形框来画蛇。
:void snakemove()
根据按键,重设坐标
:void changeskdir()
响应用户的运动方向
:void judgeslod
判断蛇是否碰到自己或墙。
:void judgefood()
判断是否吃到食物,吃食后变0,蛇增长一节。
:void gameover()
结束话语,并执行下一步。
基本代码
#include<>
#include<>
#include<>
#ment(lib,"")
#include ""
#define SIZEMAX 100 /*蛇最大长度*/
#define SPEED 100 /*初始速度*/
#define len 20 /*蛇宽度*/
#define lm 10 /*蛇每次移动距离*/
#define initlen 600 /*初始化窗口正方形的长度*/
#define Min_snakelen 2 /*蛇的最小长度*/
typedef struct {
int x,y;
}DIR;
int snakelen=Min_snakelen; /*蛇的长度*/
int isfood=1; /*食物状态*/
int isover=0; /*游戏状态*/
int ispause=1; /*暂停状态*/
int ismusic=1; /*音乐播放状态*/
char dir; /*记录蛇运动的方向*/
char c='d';
DIR snake[500],food; /*定义蛇节点和食物的类型*/
int speed=SPEED;
void drawmap() /*画地图函数*/
{
IMAGE img;
char str[10];
loadimage(&img,""); /*游戏界面*/
putimage(0,0,&img);
loadimage(&img,""); /*侧栏提示*/
putimage(600,0,&img);
sprintf(str,"%d",snakelen);
setfont(30,0,"宋体");
setbkmode(TRANSPARENT);
outtextxy(620,10,"操作说明:");
setfont(20,0,"宋体");
outtextxy(615,50,"awsd控制方向键");
outtextxy(615,80,"p键暂停");
outtextxy(615,110,"o键继续");
outtextxy(615,200,"esc键退出");
outtextxy(615,140,"l键暂停音乐");
outtextxy(615,170,"k键继续播放");
outtextxy(730,250,str);

贪吃蛇程序设计说明书 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人drp539604
  • 文件大小0 KB
  • 时间2015-09-14