- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
推箱子设计报告书.doc
推箱子游戏设计使用说明书
一、项目背景
本实训要求对“推箱子游戏”进行分析、设计及编程实现。
本实训对实训项目已经作了较为详细的分析及相关知识讲解,通过实训,促使专业技能得到综合训练,让我们了解软件开发基本技术和工作过程。同时,本实训中了解图形界面设计基本技术。
通过本系统的开发,要了解软件开发的整个过程,掌握软件开发的基本方法,提前培养从事软件行业应具备的基本素质和能力,为以后的学习作一个铺垫。
二、需求分析:
经典的推箱子是一个来自日本的古老游戏,目的是在训练人的逻辑思考能力。在一个狭小的仓库中,要求把木箱从开始位置推放到指定的位置。在仓库有障碍物,稍不小心就会出现箱子无法移动或者通道被堵住的情况,而且箱子只能推,不能拉,所以需要巧妙的利用有限的空间和通道,合理安排移动的次序和位置,才能顺利的完成任务。
六、系统分析与设计
流程图
七、系统编码
Option Explicit
End SubOption Explicit
API函数声明
Private Declare Function BitBlt Lib gdi32 (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
全局常量
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 指只在只在推箱子的窗口可用
Private Map(MAXX, MAXY) As Integer 定义地图的大小
Private ScenesCount As Integer, CurrScene As Integer 定义场景和当前场景
Private BoxCount As Integer, Completed As Integer
Private X As Integer, Y As Integer, Dir As Integer 定义当前的位置
Private FileNum As Integer
Private MapLoading As Boolean 定义地图下载为逻辑变量
Private Playing As Boolean 定义为逻辑变量
游戏开始
Private Sub Form_Load()
Playing = False 游戏开始
MapLoading = False 地图下载
InitGame 定义一个过程名
End Sub
游戏初始化
Private Sub InitGame() 定义一个过程名
FileNum = FreeFile 一个整型函数,把文件赋给一个变量,下一个OPEN可以供文件使用的文件序号
Open Map.dat For Binary Access Read As FileNum 文件以二进制形式记录打开
ScenesCount = LOF(FileNum) / SIZE 文件尾函数/每关地图长度
If ScenesCount = 0 Then 如果输出的场景为错,则输出没有可用的地图文件或文件格式出错,请把可
文档评论(0)