欢迎来到天天文库
浏览记录
ID:28971347
大小:109.65 KB
页数:8页
时间:2018-12-15
《程序设计文档》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实用标准文案蛇吞食程序设计【摘要】本游戏设计采用MFC编程,对键盘消息、定时器消息、图形界面等三个主要模块进行设计,可视化强。本游戏初始编写比较基础,程序代码相对简单。此游戏具有可靠性,安全性以及低成本等特点。【关键词】键盘消息定时器消息图形界面一.功能模块的划分整个界面由一个长宽为540*540的矩形框(此为蛇的活动范围和食物出现的范围)、分数栏等构成。键盘消息:按动键盘↑、↓、←、→使蛇的方向进行改变。定时器消息:整个程序只用到一个定时器,在OnStart()里对定时器进行设定SetTimer(1,100,NULL),在OnTimer()中对蛇和食物进行处理:第一关:将block设置为
2、1,当分数超过10分蛇不能通过墙壁;第二关:将block设置为2,设置精彩文档实用标准文案障碍物并且蛇不能碰到墙壁,但有最低分数为20分。图形界面:位图处理:在OnDraw()里面画出蛇和食物的图片。一张蛇图有四个方向的四条蛇,改变x_org(横坐标)、y_org(纵坐标)、t_org(宽度)、b_org(长度)、t_org1(蛇图显示区域的横坐标)的值来控制蛇不同方向的运动,用rand()来随机产生食物的图片。在执行Invalidate()时自动显示位图的不同状态。菜单功能模块:Set包含Start、Gameover、First、Second。Start启动定时器、Gameover关掉定
3、时器并且退出游戏界面。First和Second分别选择游戏级别。Help是游戏的说明。二.程序流程程序流程:1.程序执行Ondraw()函数部分,显示出蛇朝右的图片和食物图片。2.选择级别First或者Second,此时程序会调用OnFirst()或OnSecond()改变block的值。若选择的First,block将赋值为1,然后选择Start程序调用OnStart()函数,将m_nStart赋值为1,程序将执行第一关的代码,蛇能够穿墙而过。如果分数超过10分(即score>10),游戏将自动升级,蛇不能穿墙而过,碰到墙壁蛇将死亡;若选择的Second,block将赋值为2,然后选择S
4、tart程序调用OnStart()函数,将m_nStart赋值为1,程序将执行第二关的代码,蛇不能够穿墙而过,而且在活动范围内有障碍物,但有最低分20分,若碰到墙壁或障碍物蛇将死亡。3.在选择Start后,程序自动启动定时器,执行OnTimer()部分的代码,若block=1,执行第一关的代码,蛇可以分别在四个方向上运动,score自动加分直到超过10,则改变代码蛇不能撞墙。若撞墙则KillTimer()并将score置为0;4.在执行OnTimer()部分的代码时,要不断执行Invalidate()进行刷新,然后调用Ondraw(),画出不同状态下的图形。5.选择GameOver选项,调
5、用OnEnd()函数,使m_nstart=0,KillTimer()并且退出游戏。精彩文档实用标准文案程序流程图:三.概要设计1.编写目的概要设计为“蛇吞食”客户端的开发提供基本的设计基础。背景:蛇吞食是源于贪吃蛇开发的一种变种的基础游戏,主要针对手机小游戏进精彩文档实用标准文案行开发。“蛇吞食”主要目的在于供人娱乐和消遣,此游戏开发代码简单。2.参考资料:Visualc++与面向对象程序设计教程MFC程序开发大全游戏编程精粹63.基本设计概念和处理流程本游戏主要由键盘消息、定时器消息和图形界面三部分功能模块构成。定时器又分为第一关模块和第二关模块;图形界面又分为位图处理模块和菜单功能模块
6、。精彩文档实用标准文案下图为各功能模块的关系图:4.结构 功能模块子功能模块标识符功能描述与其它各模块的关系键盘消息无OnKeyDown改变蛇图的方向在图形界面的Ondraw函数中在一张位图中截取不同方向的蛇图定时器消息第一关模块OnTimer蛇可以分别在四个方向上运动,score自动加分直到超过10,则改变代码蛇不能撞墙。若撞墙则KillTimer()并将不断对图像进行刷新然后蛇自由的在活动范围内移动,在此会涉及到键盘消息改变蛇移动的方向,也会调用Ondraw()进行图像的处理精彩文档实用标准文案score置为0第二关模块OnTimer蛇可以分别在四个方向上运动,限制蛇的活动范围不断对图
7、像进行刷新然后蛇自由的在活动范围内移动,在此会涉及到键盘消息改变蛇移动的方向,也会调用Ondraw()进行图像的处理图形界面位图处理模块Ondraw画出可视化界面,矩形框、蛇图、食物图片、显示分数等在OnTimer里面进行刷新时自动调用Ondraw()达到显示不同位置和方向的蛇图、不同位置的食物图、在玩游戏过程中的分数和最后的总分数。菜单功能模块Set、HelpSet里面选择级别和开始;Help选择Introduce查看
此文档下载收益归作者所有