下载此文档

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


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

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

非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人百里登峰
  • 文件大小16 KB
  • 时间2020-12-21