下载此文档

推箱子设计报告书.docx


文档分类:IT计算机 | 页数:约22页 举报非法文档有奖
1/22
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/22 下载此文档
文档列表 文档介绍
该【推箱子设计报告书 】是由【世界末末日】上传分享,文档一共【22】页,该文档可以免费在线阅读,需要了解更多关于【推箱子设计报告书 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。推箱子玩耍设计使用说明书
一、工程背景
本实训要求对“推箱子玩耍”进展分析、设计及编程实现。
本实训对实训工程已经作了较为具体的分析及相关学问讲解,通过实训,促使专业技能得到综合训练,让我们了解软件开发根本技术和工作过程。同时,本实训中了解图形界面设计根本技术。
通过本系统的开发,要了解软件开发的整个过程,把握软件开发的根本方法,提前培育从事软件行业应具备的根本素养和力量,为以后的学****作一个铺垫。
二、需求分析:
经典的推箱子是一个来自日本的古老玩耍,目的是在训练人的规律思考力量。在一个狭小的仓库中,要求把木箱从开头位置推放到指定的位置。在仓库有障碍物,稍不留神就会消灭箱子无法移动或者通道被堵住的状况,而且箱子只能推,不能拉,所以需要奇异的利用有限的空间和通道,合理安排移动的次序和位置,才能顺当的完成任务。本玩耍一共4关,由易到难。开头,移动,重开头,选择关卡,上一关,下一关,退出七个过程。
初始化包括屏幕初始化和每一关卡的初始化
保存没一关的地图
需要时读取所需要的地图
下载入的地图
绘制地图快
确认退出,保存提示
按键处理包括移动小人和移动箱子,通过移动上下左右或ASDW键来掌握小人的移动,从而推动箱子,以把箱子推到指定的目的地为过关。
每一关都可以重置。
记录走的步数,创立文件,记录每关的最好成绩。
整个画面刷
三、目的、意义和争论现状分析
1、目的、意义
本次课程设计的重要目的及任务就是将寻常所学应用到具体设计中,能够娴熟的应用学****中的各种方法。重在提高自身的vb编程力量。
2、争论现状分析
系统构造的总体设计
的需求对这些组成局部如何安排等方面。
初始化模块
该模块包括屏幕初始化和玩耍每一关的初始化。屏幕初始化用于输出欢送信息和操作提
示,玩耍每一关的初始化是构建每一关的关卡。
图画模块。
该模块主要是被其他模块调用,用于画墙、在空地画箱子、在目的地画箱子、画小人和
画目的地。
移动箱子模块
打算系统的总体构造,包括整个系统分哪些局部,各局部之间有什么联系以及已确定
1
该模块用于移动箱子,包括目的地之间、空地之间和目的地与空地之间的箱子移动。
移动小人模块
该模块用于掌握小人移动,从而推动箱子到目的地。
功能掌握模块
该模块是几个功能函数的集合,包括屏幕输出功能、指定位置状态推断功能和关卡重置功能。
具体设计
对各功能模块的功能定义,说明模块之间的调用关系与接口〔参数〕。
依据具体设计的要求,依据统一的要求和编码标准,用vb语言编码实现,同时负责每个模块的独立调试。

2
3
三、主要解决的问题
在整个的玩耍实现过程中,主要有七个模块,开头,移动,重开头,选择关卡,上一关,下一关,退出七个过程.
在具体实现的时候主要问题有,按键的处理问题,在各种状况下,下一步分别是什么图片;还有在撤销的时候,需要对上一步进展推断,在进展恢复退步。
选关的时候需要定义临时变量来传递玩家所选择的关数。
五、主要开发环境与工具、技术路线和解决方案
课程设计的试验环境
软件:MicrosoftVisualStudio2023课程设计的预备学问

六、系统分析与设计
流程图
4
10



退出



















推箱子
掌握
操作
帮助
七、系统编码
OptionExplicit
EndSubOptionExplicit”API函数声明
PrivateDeclareFunctionBitBltLib“gdi32“(ByValhDestDCAsLong,ByValXAsLong,ByValYAsLong,ByValnWidthAsLong,ByValnHeightAsLong,ByValhSrcDCAsLong,
ByValxSrcAsLong,ByValySrcAsLong,ByValdwRopAsLong)AsLong”全局常量
Private
Const
MAXX
As
Integer
=
20

鼠标小人X轴定位
Private
Const
MAXY
As
Integer
=
15

鼠标小人Y轴定位
Private
Const
SIZE
As
Integer
=
302

制定小人大小
Private
Const
D_LEFT
As
Integer
=
1
”掌握小人向左运动
Private
Const
D_RIGHT
As
Integer
=
0
”掌握小人向右运动
Private
Const
D_UP
As
Integer
=
2
”掌握小人向上运动
Private
Const
D_DOWN
As
Integer
=
3
”掌握小人向下运动
Private
Const
B_GROUND
As
Integer
=
&H0
”定义空白
Private
Const
B_DEST
As
Integer
=
&H1
”定义小人
Private
Const
B_BOX
As
Integer
=
&H2
”定义盒子
Private
Const
B_WALL
As
Integer
=
&H4
”定义墙
Private
Const
B_BACK
As
Integer
=
&H8
”定义背景
”全局变量
”private指只在只在推箱子的窗口可用
PrivateMap(MAXX,MAXY)AsInteger”定义地图的大小
PrivateScenesCountAsInteger,CurrSceneAsInteger”定义场景和当前场景PrivateBoxCountAsInteger,CompletedAsInteger
PrivateXAsInteger,YAsInteger,DirAsInteger”定义当前的位置PrivateFileNumAsInteger
PrivateMapLoadingAsBoolean”定义地图下载为规律变量PrivatePlayingAsBoolean ”定义为规律变量
”玩耍开头
PrivateSubForm_Load
Playing=False”玩耍开头MapLoading=False”地图下载
InitGame”定义一个过程名EndSub
”玩耍初始化
PrivateSubInitGame ”定义一个过程名
FileNum=FreeFile”一个整型函数,把文件赋给一个变量,下一个OPEN可以供文件使用的文件序号
Open““ForBinaryAccessReadAsFileNum”文件以二进制形式记录翻开ScenesCount=LOF(FileNum)/SIZE”文件尾函数/每关地图长度
IfScenesCount=0Then ”假设输出的场景为错,则输出没有可用的地图文件或文件格式出错,““。“文件读取错误“
MsgBox“没有可用的地图文件或文件格式出错,“&vbCrLf&_
10
“。“,_vbOKOnlyOrvbExclamation,“文件读取错误“
EndEndIf
10
LoadMap1”地图下载成功Playing=True”玩玩耍
EndSub
”读取关卡数据
PrivateFunctionLoadMap(SceneAsInteger)AsBooleanIfMapLoadingThenExitFunction”系统推出功能
IfScene<1OrScene>ScenesCountThen”假设场景是1或当前场景LoadMap=False”加载失败
ExitFunction ”则退出功能EndIf
MapLoading=True ”地图下载正确CurrScene=Scene ”运行当前场景
Caption=“推箱子第“&CurrScene&“关“ ”显示推箱子在第几关
BoxCount=0:Completed=0Dir=0 ”定义方向键
DimDataAsByte
GetFileNum,(CurrScene-1)*SIZE+1,Data”选择场景加一X=Data ”x方向的数据
GetFileNum,,Data
Y=Data ”Y方向的数据
DimiAsLong,jAsLongFori=0ToMAXY-1
Forj=0ToMAXX-1
GetFileNum,,Data
Map(j,i)=Data ”定义地图的大小
IfMap(j,i)AndB_DESTThenBoxCount=BoxCount+1
Next
Next
10
DrawMap
LoadMap=True
10
MapLoading=FalseEndFunction
”选择关卡
PrivateSubSelectMap ”选择关卡DimTempAsInteger
Temp=Val(InputBox(“请输入关数〔1~“&Trim(ScenesCount)&“〕“,“选择一关“,1))
IfTemp>=1AndTemp<=ScenesCountThenCurrScene=Temp ”假设temp>=1并且<=当前场景那么就选择此为当前场景
LoadMapTempEndSub
”显示整个玩耍画面PrivateSubDrawMap
DimiAsLong,jAsLongFori=0ToMAXY-1
Forj=0ToMAXX-1
DrawBoxj,i,Map(j,i)”显示玩耍画面的大小
Next
Next
DrawManX,
EndSub
”显示背景块〔包括地面、墙、箱子等〕
PrivateSubDrawBox(ByValXAsInteger,ByValYAsInteger,ByValBoxTypeAsInteger)
DimOffsetAsIntegerSelectCaseBoxType
CaseB_BACK
Offset=0 ”背景
CaseB_GROUND ”空白处的背景Offset=1
CaseB_DEST ”显示目标图片Offset=2
CaseB_BOX ”显示盒子Offset=3
10

推箱子设计报告书 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数22
  • 收藏数0 收藏
  • 顶次数0
  • 上传人世界末末日
  • 文件大小359 KB
  • 时间2023-01-11