




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.“贪吃蛇”游戏需求分析一、需求分析:贪吃蛇游戏是一个小型益智游戏,它可以锻炼人们的反应能力,尤其是在开发人的智力方面,很受人们的欢迎。本组该次小游戏程序设计包含二维数组、鼠标操作及图形化函数等方面知识。具体需求概要如下:1.初始化游戏界面为600*600大小,并于坐标为(250,250)处显示游戏名称“贪吃蛇”,等待鼠标响应以开始游戏;2.在程序中用格子初始蛇长及蛇的位置,用W、S、A、D控制方向为上下左右进行游戏。游戏过程中,每吃到一次食物用For循环使蛇移动的speed增加,分数加10,蛇长加一格;3.蛇头咬到蛇尾or蛇头接触活动区域外围则Game over,显示累计分数,游戏结束。二、
2、运行环境:该课程设计在设计与实验过程中需要在windows XP系统/windows 2000以上系统中进行,程序设计要求在visual C+6.0平台中进行,完成代码的编写、编译、调试、测试等工作。本游戏对计算机硬件和操作系统要求极低,所以在这里只是把自己的电脑硬件参数和系统参数列下: 操作系统:windows xp 软件环境:安装VC+6。 三、设计概要: 1.初始化模块:屏幕初始化,屏幕初始化用于显示游戏信息“贪吃蛇”; 2.游戏界面模块:设计绿色的边框,边框内用黑色无框格子填充作为游戏活动区域; 3.游戏运行模块:运用函数控制蛇长及食物的关系,并使用键盘控制方向; 4.判断模块:头咬到
3、尾或头接触活动区域外围,则游戏结束,显示累计分数。四、详细设计及实现:1.流程图(函数调用关系图) Main函数Init函数初始化绘图环境Food函数随机产生初始食物的位置Draw函数画出蛇体状态及食物位置Snakes函数蛇体及速度变化运动方向的选择Draw函数画出蛇体状态及食物位置Gameover函数游戏终止,显示分数Food函数判断有无进食Food1函数判断是否进食Wall函数画出活动区域及边框第一次调用,画初始状态Food1函数判断是否进食从此处Draw以后开始至结尾,函数均在一个For循环中调用。判断游戏若未结束判断游戏若已结束结束进入下一次循环2.预处理#include#includ
4、e#include#include#include#include3.数据结构IMAGE wal;MOUSEMSG m;typedef struct 作为蛇身体和头部格子的坐标 int x40; int y40; 用于判断蛇身体格子的移动方向 int derection; 赋值0,1作为s.food的标志,以在for循环中判断上一个食物是否已被吃到;foodx和foody作为食物格子的横纵坐标。 int food; int foodx; int foody; 蛇身体格子的个数,即蛇长 int size; snake;snake s;4.全局变量为分数赋初值0,为速度赋初值300int scor
5、e=0,speed=300;5.函数声明void init(void);void wall(void);void food(void);void gameover(void);int food1(void);void snakes(void);void draw(void);6.算法设计l main函数:具体实现程序功能。调用的函数函数功能init初始化绘图环境food随机产生食物位置,判断是否进食,增加蛇长draw画出蛇体状态及食物位置snakes蛇体及速度变化,运动方向的选择gameover判断游戏是否终止,显示分数l init函数: 给结构体snake 赋初值:s.x0=25; 蛇体第一
6、格初始位置的横坐标s.y0=20; 蛇体第一格初始位置的纵坐标s.x1=24; 蛇体第二格初始位置的横坐标s.y1=20; 蛇体第二格初始位置的纵坐标s.x2=23; 蛇体第三格初始位置的横坐标s.y2=20; 蛇体第三格初始位置的纵坐标s.derection=1; 蛇运动的初始方向定义为1s.food=0; 未吃食前食物的数量为0s.size=3; 蛇的初始长度为3个格子初始化绘图环境为600*600像素的区域;在(250.250)处显示游戏标题“贪吃蛇”;等待操作者提供鼠标信息以开始游戏;开始游戏后,用绿色边框显示活动区域。调用的函数函数功能initgraph初始化绘图环境outtextx
7、y在当前位置输出字符串“贪吃蛇”GetMouseMsg获取一个鼠标信息;若无,则一直等待cleardevice清屏wall画出活动区域及边框l food函数、food1函数:调用函数rand使计算机产生随机数,以获得食物的随机位置。调用的函数函数功能rand获得一个随机数food1判断蛇是否吃到食物,若吃到则return 1,回到food函数中的do-while循环,再次随机生成食物位置;否则return 0,food调用结束。 l draw函数:绘出蛇体及食物,蛇体边框绘制为亮蓝色,食物边框为红色;并在(0.0)处显示“score:_”(当前得分)。调用的函数函数功能setcolor设置蛇体
8、为蓝色&设置食物为红色rectangle根据数组s.x40、s.y40及s.size画出蛇体;根据s.foodx、s.foody及s.size画出食物位置outtextxy在当前位置输出字符串“score:”显示得分l snakes函数:用s.food(进食判断标志)判断蛇是否吃到食物,吃到则蛇长(限制蛇长40格)加一个格子,分数累加10,速度加快,并将s.food重置为0;s,direction判断蛇头格子移动的方向。使用的结构体Typedef struct()snake;snake s。snakes函数的功能If语句:判断蛇是否吃到食物(蛇长40格),吃到则蛇长加一格,分数累加10,速度加快,并将s.food(进食判断标志)重置为0Switch语句:根据case1、case 2、case3、case4判断s.direction(WSAD=上下左右)l gameover函数 显示gameover提示信息,并输出玩家所得分数,结束游戏进程。 调用的函数函数功能setcolor设置字符串“score:_”为白色outtextxy在当前位置输出字符串“score:_”“gameover”显示得分cleardevice清屏GetMouseMsg获取一个鼠标信息:若无,则一直等待
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 休养所老年公寓设计与运营创新策略考核试卷
- 意外伤害保险与保险行业的风险管理与案例分析研究分析考核试卷
- 家用纺织品的供应链管理与物流优化考核试卷
- 车险理赔合规培训课件
- 花生销售合同范本
- 装修押金转让合同范本
- 抵押的车位合同范本
- 寄养羊合同范本
- 小学生态平衡课件
- 超市促销培训课件
- 医学遗传学教案-山东大学医学遗传学
- 海南省澄迈县2024-2025学年七年级上学期期末考试地理试题(含答案)
- 2025年苏州卫生职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 部编人教版五年级下册小学数学全册教案
- 2024年世界职业院校技能大赛高职组“声乐、器乐表演组”赛项参考试题库(含答案)
- 2024年共青团入团考试题库及答案
- 2023年国家公务员录用考试《申论》真题(副省卷)及答案解析
- 2024-2030年中国医疗器械维修设备行业供需状况及发展策略分析报告
- 中国心力衰竭诊断和治疗指南2024解读(完整版)
- 女性健康知识讲座课件
- DB11T 1787-2020 二氧化碳排放核算和报告要求 其他行业
评论
0/150
提交评论