- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
语言贪吃蛇程序设计说明书
贪吃蛇游戏
程序设计说明书
题 目:贪吃蛇游戏
学 校:
系 别:
专 业
班 级:
姓 名:
学 号:
指导老师:
日 期:
设计题目:
贪吃蛇是一款经典的休闲游戏,一条蛇在密闭的围墙内,随机出现一个食物,通过控制方向键操作小蛇不停的朝着食物前进,直到吃掉食物。每吃一个食物,小蛇都会长长一截,随之难度增大;当小蛇头撞到墙或自己时,小蛇死亡。
功能设计:
本游戏要求实现以下几个功能:
用上、下、左、右键控制游戏区蛇的运动方向,使之吃食而使身体变长;
用户可以调节蛇的运行速度来选择不同的难度;
游戏分多个难度级别;
用户可自选颜色;
记录成绩前五名的游戏玩家;
增加背景音乐;
提高障碍物和游戏级别。
程序模块图:
算法流程图:
函数原型与功能
1.主函数:void main()
启动程序,触动其他函数。
2.初始化:void init ()
设置背景框大小、蛇体初始值,随机产生食物。
3.随机产生食物:void setfoodcrd()
设置食物生成坐标,0表示食物被吃。
4.画食物:void showfood()
用矩形框来画食物
5.画蛇:void showsnake()
根据蛇的坐标和节数,循环用矩形框来画蛇。
6.蛇移动:void snakemove()
根据按键,重设坐标
7.改变蛇的方向:void changeskdir()
响应用户的运动方向
8.判断蛇是否死亡:void judgeslod
判断蛇是否碰到自己或墙。
9.判断蛇是否吃到食物:void judgefood()
判断是否吃到食物,吃食后变0,蛇增长一节。
10.结束游戏:void gameover()
结束话语,并执行下一步。
基本代码
#includegraphics.h
#includeconio.h
#includestdio.h
#pragma comment(lib,Winmm.lib)
#include MyTimer.h
#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,贪吃蛇.jpg); /*游戏界面*/
putimage(0,0,img);
loadimage(img,7.jpg); /*侧栏提示*/
putimage(600,0,img);
sprintf(str,%d,snakelen);
setfont(30,0,宋体);
setbkmode(TRANSPARENT);
outtextxy(620,10,操作说明:);
setfont(20,0,宋体);
outtextxy(615,50,awsd控制方
文档评论(0)