学号 武汉理工大学华夏学院
课程设计报告书
课程名称:
软件综合
题 目:基于VC++6.0的“推箱子”游戏软件的开发与测试
系 名: 信息工程系
专业班级:
姓 名:
指导教师:
2013 年 元月 18日
课程设计任务书
学生姓名: 专业班级: 软件2101 指导教师: 工作单位: 信息系计算机教研室 设计题目: 基于VC++6.0的“推箱子”游戏软件的开发与测试 初始条件:
1. 已完成c语言程序设计、软件工程、数据库概论或数据库技术等课程的学习 2. 系统环境:Intel 奔腾4以上处理器,1G以上内存,40G以上硬盘,
Windows编程环境,Visual C++ 6.0编程工具
要求完成的主要任务:(在规定的时间内完成下列任务)
(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
主要任务:
系统完成用户登录及管理员增加、删除、修改、查询功能
1. 按系统功能进行游戏背景区域(移动区域、围墙)的设计与绘制: 2. 根据系统实现的功能,绘出功能图、系统流程图 3. 模块调试,运行结果正确,并经教师检查及答辩;
设计报告撰写格式要求:(课程设计报告按统一通用格式书写)具体内容如下:
① 设计任务与要求 ② 总体方案与说明
③ 程序主要模块的流程图 ④ 问题分析与解决方案的设计思想和改进设想
⑤ 系统的调试记录、调试报告(即在调试中遇到的主要问题、解决方法及改进设想) ⑥ 小结与体会
附录:① 使用说明 ② 参考资料
时间安排:2012年12月29日---2013年元18日(共三周)
第1天 第2天~第5天 第6天~第9天 第10天 第11天~第14天 第15天 介绍本次课程设计的目的、要求,介绍MFC AppWizard应用程序框架的简介 介绍MFC中的窗口消息的创建及用,完成游戏背景区域(移动区域、围墙)的设计与绘制 完成目标区域、小人、箱子的绘制、绘制地图、加载/更新地图、关卡的设置及系统整合 系统运行与演示 系统测试与掌握调试的方法和技巧,撰写设计报告 按项目组进行演示与答辩,形成课程设计报告文档 指 导 教 师 签 字: 2012年12月28日
系 主 任 签 字: 年 月 日
目 录
1 引言 ................................................................................ 1 2 项目需求分析 ........................................................................ 1 3 系统概要设计 ........................................................................ 1 3.1 功能控制模块 .................................................................... 1 3.2 系统流程图 ...................................................................... 2 3.3 推箱子游戏具有的功能 ............................................................ 3 3.3.1 能够显示主菜单和界面 ........................................................ 3 3.3.2 能够实现键盘操作功能 ........................................................ 3 3.3.3 能够把放置到位置的箱子进行变色显示 .......................................... 4 3.3.4 游戏胜负判断功能 ............................................................ 4 3.3.5 支持关口选择功能 ............................................................ 4 3.4 推箱子功能框架 .................................................................. 4 3.5 游戏界面设计 .................................................................... 5 3.5.1 游戏主界面 .................................................................. 5 3.5.2 游戏菜单与帮助结构设计 ...................................................... 5 3.5.3 游戏中关卡选择对话框设计 .................................................... 6 3.6 游戏的界面实现 .................................................................. 6 3.7 关卡选择对话框的实现 ............................................................ 7 4 详细设计 ........................................................................... 10 4.1 地图文件读取模块的设计与实现 ................................................... 10 4.2 地图绘制模块的设计与实现 ....................................................... 10 4.3 键盘操作模块的设计与实现 ....................................................... 12 4.4 游戏规则模块设计与实现 ......................................................... 12 5 VC调试方法介绍 .................................................................... 14 5.1 调试快捷键 ..................................................................... 14 5.2 跟踪调试 ....................................................................... 14 5.3 异常调试 ....................................................................... 15 6 功能测试 ........................................................................... 17 6.1 主菜单和界面显示功能测试 ....................................................... 17 6.2 键盘操作功能测试 ............................................................... 17 6.3 箱子放置到指定位置时变色显示功能测试 ........................................... 19 6.4 支持地图扩展功能的演示 ......................................................... 20 7 特殊问题及解决方法 ................................................................. 21 8 设计小结 ........................................................................... 21 9 参考文献 ........................................................................... 21
1 引言
最经典的推箱子游戏,类似的游戏你一定早就玩过。要控制搬运工上下左右移动,来将箱子推到指定地点
记得几年前,《推箱子》在PC机上刮起了一股不小的益智类游戏的旋风,现在许多资深玩家也都对《推箱子》赞不绝口,可见有深度的益智类游戏是非常受大家欢迎的。 推箱子游戏1981年由日本人今林宏行首创,是在1982年12月由Thinking Rabbit 公司首次发行,名“仓库番”。箱子只可以推, 不可以拉, 而且一次只能推动一个,胜利条件就是把所有的箱子都推到目的地。
推箱子游戏是一种老少皆宜的益智游戏,既可以开发青少年学生的智力,又可以防止老年痴呆症,全家一起攻关还可以促进家庭和睦,何乐而不为?
推箱子游戏是目前比较流行的游戏之一,很多操作系统或者流行软件都会带有这种游戏。它既能锻炼思维的严密性,又有很多乐趣。我们团队比较喜欢玩这个游戏,于是备采用c++编程语言进行实现。
2 项目需求分析
用户可以进行开始游戏,退出游戏,选关,重新开始游戏等操作。有结束提示。
作为一款极为经典的游戏,推箱子吸引了一代代玩家乐此不疲,通过使用Visual C++6.0进行设计,将学习过的知识应用到实际程序中,以便于为以后的进一步学习奠定基础。
推箱子游戏的设计目标完成一个比较简单的游戏,使之能够实现推箱子游戏的基本功能,成为一个比较完整的游戏框架。在一个狭小的仓库中,要求把木箱放到指定的位置,稍不小心就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙的利用有限的空间和通道,合理安排移动的次序和位置,才能顺利的完成任务。
在游戏主界面中,会出现一个小人、若干个箱子和箱子放置点。玩家需要利用方向键控制小人上下左右移动,并推动界面中的箱子到达指定的箱子放置点。
3 系统概要设计
3.1 功能控制模块
系统功能如图3-1所示。
1
功能控制模块 屏幕输出功能 游戏通关时的通关提示 3.2 系统流程图
系统流程如图3-2所示。指定位置状态判断功时刻判断游戏的小人物、箱子所能移动的方向位置和游戏能不能通关 图3-1 功能模块
2
关卡重置功能 倒回本关的初始状态和重新选择关卡