程序设计文档Word下载.docx
- 文档编号:18846044
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:7
- 大小:82.60KB
程序设计文档Word下载.docx
《程序设计文档Word下载.docx》由会员分享,可在线阅读,更多相关《程序设计文档Word下载.docx(7页珍藏版)》请在冰豆网上搜索。
整个程序只用到一个定时器,在OnStart()里对定时器进行设定SetTimer(1,100,NULL),在OnTimer()中对蛇和食物进行处理:
第一关:
将block设置为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关掉定时器并且退出游戏界面。
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,然后选择Start程序调用OnStart()函数,将m_nStart赋值为1,程序将执行第二关的代码,蛇不能够穿墙而过,而且在活动范围内有障碍物,但有最低分20分,若碰到墙壁或障碍物蛇将死亡。
3.在选择Start后,程序自动启动定时器,执行OnTimer()部分的代码,若block=1,执行第一关的代码,蛇可以分别在四个方向上运动,score自动加分直到超过10,则改变代码蛇不能撞墙。
若撞墙则KillTimer()并将score置为0;
4.在执行OnTimer()部分的代码时,要不断执行Invalidate()进行刷新,然后调用Ondraw(),画出不同状态下的图形。
5.选择GameOver选项,调用OnEnd()函数,使m_nstart=0,KillTimer()并且退出游戏。
程序流程图:
三.概要设计
1.编写目的
概要设计为“蛇吞食”客户端的开发提供基本的设计基础。
背景:
蛇吞食是源于贪吃蛇开发的一种变种的基础游戏,主要针对手机小游戏进行开发。
“蛇吞食”主要目的在于供人娱乐和消遣,此游戏开发代码简单。
2.参考资料:
Visualc++与面向对象程序设计教程
MFC程序开发大全
游戏编程精粹6
3.基本设计概念和处理流程
本游戏主要由键盘消息、定时器消息和图形界面三部分功能模块构成。
定时器又分为第一关模块和第二关模块;
图形界面又分为位图处理模块和菜单功能模块。
下图为各功能模块的关系图:
4.结构
功能模块
子功能模块
标识符
功能描述
与其它各模块的关系
键盘消息
无
OnKeyDown
改变蛇图的方向
在图形界面的Ondraw函数中在一张位图中截取不同方向的蛇图
定时器消息
第一关模块
OnTimer
蛇可以分别在四个方向上运动,score自动加分直到超过10,则改变代码蛇不能撞墙。
若撞墙则KillTimer()并将score置为0
不断对图像进行刷新然后蛇自由的在活动范围内移动,在此会涉及到键盘消息改变蛇移动的方向,也会调用Ondraw()进行图像的处理
第二关模块
蛇可以分别在四个方向上运动,限制蛇的活动范围
图形界面
位图处理模块
Ondraw
画出可视化界面,矩形框、蛇图、食物图片、显示分数等
在OnTimer里面进行刷新时自动调用Ondraw()达到显示不同位置和方向的蛇图、不同位置的食物图、在玩游戏过程中的分数和最后的总分数。
菜单功能模块
Set、Help
Set里面选择级别和开始;
Help选择Introduce查看游戏的操作说明
5.功能需求与程序的关系
各项功能需求的实现同各块程序的分配关系:
OnDraw
OnInvalidate
OnIntroduce
OnFirst
OnSecond
OnStart
OnEnd
OnKeydown
√
6.人工处理
本游戏只由用户按动↑↓←→控制蛇运动方向,防止碰到墙或障碍物即可。
尚未解决的问题
7.用户接口
用户接口的设计按照友好性,更多的采用图形界面。
规范操作命令和方法、用户界面、菜单结构、移动提示、弹出弹入图符、警告提示的信息、帮助的提示。
用户只需要按动上下左右键控制蛇方向即可。
用户只需在菜单中选择需要的关卡,就可启动后台程序。
并通过观察蛇的运动速度便可掌握蛇自由移动的大致时间。
用户通过菜单选择启动后台程序,蛇碰到墙壁或障碍物,则会出现信息提示;
通过视图玩游戏,界面简单,从而操作也简单。
在玩游戏的过程中可以看到自己当前的分数,游戏结束时可以看到总分。
8.出错信息
用户在玩游戏过程中按到错误的键盘会显示信息提示“对不起,按键错误,请重新选择!
”;
蛇撞墙或障碍物,会提示“笨蛋,蛇撞墙了!
”
总结
在此次课程设计中,编写程序遇到了不少麻烦,比如怎样使蛇自由的活动起来、怎样使用定时器等。
幸亏有老师和同学的帮助,才能将这些问题一一的解决。
我感觉在编写程序的时候要先规划好先做哪一步,再做哪一步,在每编写好一个模块后要及时的进行调试,以保证程序在整个过程中的正确性。
在做此次课程设计之前就先定好了题材,做出粗略的规划:
第一步:
建立好工程,处理位图;
第二步:
编写键盘消息的程序,与此同时配合位图进行处理;
第三步:
处理定时器的消息并且能使位图活动起来;
第四步:
处理图形界面的菜单选项。
编写游戏时要有绝对好的耐心,在此期间会出现各种各样意想不到的困难,此时绝对不能被困难打到,要仔细分析虚心向老师和同学请教并且查阅相关的资料,进而才能很好的解决问题。
在本次课程设计制作过程中,我们意识到考虑问题要合理谨慎全面,学习要谦虚,在此也感谢老师和同学对我的帮助。
在以后的学习工作中,一定要继续坚持不断地学习新兴的专业知识及相关的非专业知识,只有这样将作品制作的更精美,更专业。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 文档