Java语言与面向对象技术课程设计报告(走迷宫)

上传人:文*** 文档编号:90905408 上传时间:2019-06-20 格式:DOC 页数:32 大小:1.77MB
返回 下载 相关 举报
Java语言与面向对象技术课程设计报告(走迷宫)_第1页
第1页 / 共32页
Java语言与面向对象技术课程设计报告(走迷宫)_第2页
第2页 / 共32页
Java语言与面向对象技术课程设计报告(走迷宫)_第3页
第3页 / 共32页
Java语言与面向对象技术课程设计报告(走迷宫)_第4页
第4页 / 共32页
Java语言与面向对象技术课程设计报告(走迷宫)_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《Java语言与面向对象技术课程设计报告(走迷宫)》由会员分享,可在线阅读,更多相关《Java语言与面向对象技术课程设计报告(走迷宫)(32页珍藏版)》请在金锄头文库上搜索。

1、J Ja av va a 语语言言与与面面向向对对象象技技术术 课课程程设设计计报报告告 走迷宫走迷宫 目目 录录 目 录2 1 概 述1 1.1 课程设计目的.1 1.2 课程设计内容.1 2 系统需求分析2 2.1 系统目标.2 2.2 主体功能.2 2.3 开发环境.3 3 系统概要设计3 3.1 系统的功能模块划分.3 3.2 系统流程图.4 4 系统详细设计.6 4.1 系统的主界面设计6 4.2MAZE 的设计.7 4.3PERSONINMAZE 的设计.8 4.4WALLORROAD 的设计.8 4.5MAZEPOINT 的设计.9 4.6SOUND 的设计.10 4.7RECO

2、RD 的设计.10 5 测试11 5.1 测试方案.11 5.2 测试结果.11 6 小结16 参考文献17 附录 1 源程序清单.18 1 走迷宫的设计走迷宫的设计 1 概 述 1.1 课程设计目的 1加深对Java 语言与面向对象技术课程基础知识的理解,掌握 Java 语 言面向对象程序设计的开发方法和步骤; 2进一步理解面向对象程序设计的思想和方法,利用 Java 语言进行程序设 计的能力; 3课程设计将课本上的理论知识和实际应用相结合,锻炼学生发现问题、分 析问题和解决问题的能力。加强学生研发、编写、调试程序的能力; 4培养学生在项目开发中团队合作精神、创新意识及能力; 5提高学生科技

3、论文写作能力,规范完成课程设计报告。 1.2 课程设计内容 设计 GUI 界面的走迷宫游戏,游戏的目的是让走迷宫者从迷宫的入口处进从 迷宫出口处出。具体内容如下: (1)程序根据文本文件生成迷宫,这些文本文件称作迷宫文件。迷宫文件的扩 展名为.maze,其中的文本内容有着特殊的组织结构:任意两行文本所含有的字符 个数必须相同,而且字符只可以是“*” 、 “#” 、 “0”或“1” 。迷宫文件中的“*” 和“#”分别代表迷宫的入口和出口, “0”和“1”分别代表迷宫中的“路”和 “墙” 。 例如,迷宫文件“中等迷宫.maze”所生成的迷宫如图 1-1 所示。 /中等迷宫.maze 文件 0000

4、00101000101001010 010010100010100001010 *00001010100010100101 010001000100000101010 00101000101011010010# 101000010100000010001 010101001001101010010 101000100011101001010 001010100101010100100 走迷宫 2 图 1-1 中等迷宫界面 (2)用户可以通过界面上提供的菜单选项,选择“迷宫文件”来生成对应的 迷宫类型。 (3)用户可以通过界面上提供的菜单选项,选择迷宫中的“墙”和“路”的 外观图像以及默认“墙”

5、和“路”的图像。同时用户也可以更改迷宫中“走迷宫 者”的图像。 (4)当用户开始玩游戏时想重新开始,用户可以随时单击界面上下方图片位 置提供的按钮,重新开始走迷宫。 (5)本程序还具有音乐播放的功能,当用户成功移动走迷宫者后,程序播放 简短的一声音乐。 (6)本迷宫程序增加“英雄榜”功能既排名功能,当用户成功将迷宫中的走 迷宫者从入口移动到出口,如果成绩能排进前三名,就弹出一个对话框,将用户 的成绩保存到“英雄榜”中,并且可以查看“英雄榜”以及删除“英雄榜” 。 2 系统需求分析 2.1 系统目标 设计一个基于 java 的走迷宫小游戏,游戏的结果是让走迷宫者从迷宫的入口 处走到迷宫的出口处。

6、 根据已有的走迷宫小游戏进行新功能的增加。 2.2 主体功能 (1)玩家可以任意选择不同的迷宫图进行走迷宫游戏。 (2)玩家可以自定义玩家头像、墙的图像以及路的图像。 (3)游戏进行时可以点击提示按钮重新开始游戏 (4)根据玩家所玩的记录进行排行榜设置,分别列出保存各类型迷宫(简单 迷宫、中等迷宫、复杂迷宫)的前三名,玩家完后可以点击英雄榜自行查看。 (5)玩家可以清除英雄榜并且重新载入游戏。 3 2.3 开发环境 Eclipse 3 系统概要设计 3.1 系统的功能模块划分 1.系统的总体设计 在设计走迷宫时,需要编写 6 个 java 源文件: MazeWindow.java、Maze.j

7、ava、WallOrRoad.java、MazePoint.java、PersonInMa ze.java、HandleMove.java、Record.java、ShowRecord.java 和 Sound.java。走 迷宫除了上述 6 个 java 源文件所给出的类外,还需要 Java 系统提供的一些重要 的类,如 JmenuItem 和 File 等类。走迷宫所用到的一些重要的类以及之间的组合 关系如下图所示: 图 3-1 各类之间的关系 2.系统模块划分 本系统主要有以下几个功能模块:创建走迷宫的主窗口、创建迷宫、创建墙 和路及确定位置的对象,创建走迷宫者,创建处理键盘事件对象,创

8、建英雄榜及 显示英雄榜。 该软件主要组成模块和各个模块之间的调用关系如下图所示: MazelWindow Maze PersonInMaze HandleMove Record ShowRecord Sound File JMenuItem WallOrRoad MazePoint 走迷宫 4 创建迷宫 创 建 主 窗 口 编 写 迷 宫 文 件 创 建 墙 创 建 路 确定 墙和 路的 位置 创建 走迷 宫者 创建处 理键盘 事件对 象 创建及 显示英 雄榜 图 3-2 功能模块图 3.2 系统流程图 玩家开始打开界面进行游戏,通过菜单选项选择简单、中等、复杂迷宫中的 一种进行游戏。开始的界

9、面各个图像是程序默认的图像,玩家也可以根据自己的 喜好自行选择文件夹里的图像来设置墙的图像、路的图像以及走迷宫者的图像。 然后玩家根据提示点击走迷宫者开始游戏,玩家通过对键盘的操作来控制走迷宫 者,使其从入口进入从出口出来。在玩的期间如果玩家在十秒内没能从出口出来 则玩家的图像会变成猪的图像。游戏结束后如果玩家破纪录则根据提示进入英雄 榜,同时可以查看英雄榜。玩家还可以清除英雄榜重新打开界面进行游戏。具体 活动流程图如下所示: 5 像 像 像 像 像 像 像 像 中 中 中 中 中 中 中 中 中 中 中 中 像 像 像 像 像 像 中 中 中 中 中 中 像 像 像 像 像 像 像 像 像

10、中 中 中 中 中 中 中 像 像 像 像 像 中 中 中 中 中 像 像 像 像 像 像 像 像 图 3-3 活动流程图 走迷宫 6 4 系统详细设计 4.1 系统的主界面设计 1成员变量 maze 是 Maze 类声明的对象,用来刻画迷宫,是 MazeWindow 类中最重要的成 员之一。MazeWindow 类根据迷宫文件,即根据该类中的 mazeFile 来创建 maze 对 象。 bar 是 JMenuBar 创建的菜单条,用来添加菜单。bar 被放置在窗口的顶部。 menuChoice 是 JMenu 创建的菜单,其名字为“选择迷宫文件” 。menuChoice 和 menuIma

11、ge 被添加到菜单条 bar 中。 wallImage、roadImage、和 defaultImage 是 JMenuItem 创建的菜单项,名字 依次为“墙的图像” 、 “路的图像”和“墙和路的默认图像” ,这三个菜单项被添加 到菜单 menuImage 中。wallImage、roadImage 和 defaultImage 都将当前窗口注册 为自己的 ActionEvent 事件监控器。 mazeFile、wallImageFile 和 roadImageFile 是 File 的对象,其中 mazeFile 用来存放迷宫文件的引用,而 wallImageFile 和 roadImag

12、eFile 分别用来存放迷 宫中“墙”和“路”的外观图像文件的引用。 renew 是 JButton 创建的按钮对象,名字为“重新开始” 。Renew 将当前窗口 注册为自己的 ActionEvent 事件监控器。 2方法 MazeWindow()是构造方法,负责完成窗口的初始化操作,其重要的操作之 一是:读取当前目录中扩展名为.maze 的迷宫文件,并根据迷宫文件的名字创建 JMenuItem 菜单项添加到 menuChoice 菜单中,然后将当前窗口注册为每个菜单上 的 ActionEvent 事件监控器。另外,该构造方法在执行过程中,将 mazeFile 初始 化为 menuChoice

13、 菜单中的第一个菜单项所代表的迷宫文件,并根据该迷宫文件创 建 MazeWindow 窗口中的 maze 对象。该构造方法还对 wallImageFile 和 roadImageFile 进行了初始化,并指定迷宫中“墙”和“路”所使用的默认图像。 init()方法根据迷宫文件初始化 maze 对象,完成必要的初始化操作。 actionPerformed(ActionEvent)方法是 MazeWindow 类实现的 ActionListener 接口中的方法。MazeWindow 类创建的窗口时 menuChoice 菜单和 menuImage 菜单中的菜单项以及 renew 按钮上的 Act

14、ionEvent 事件监控器。当用户 选中某个菜单项或单击按钮时,窗口将执行 actionPerformed(ActionEvent)方 法进行想应得操作。如果用户选中 menuChoice 菜单中的某个菜单项,即用户选择 了一个迷宫文件,actionPerformed(ActionEvent)方法所执行的操作就是改变 mazeFile 所引用的迷宫文件,然后调用 init()方法。如果用户选中 menuImage 菜单中的 wallImage 或 roadImageFile 菜单项时, actionPerformed(ActionEvent)方法所执行的操作就是分别改变 wallImage

15、和 roadImage 所引用的图像文件,从而让 maze 对象改变“墙”或路的图像,如果用 7 户选中 menuImage 菜单中的 defaultImage 菜单项, actionPerformed(ActionEvent)方法所执行的操作就是将 wallImage 和 roadImageFile 所引用的图像文件恢复到默认设置,并让 maze 对象恢复“墙”或 “路”的默认图像。当用户单击 rennew 按钮时, actionPerformed(ActionEvent)方法所进行的操作时保持当前的 mazeFile 所引 用的迷宫文件,并执行 init 方法。 main(String)方

16、法是程序运行的入口方法。 3. 主界面效果图如下图所示 图 4-1 主界面图 4.2 Maze 的设计 1成员变量 mazeFile 是 File 类声明的对象,用来存放迷宫文件的引用。 mazePoint 是 MazePoint 类型的二位数组,其单元为 MazePoint 类创建的对象, 用来确定“墙”和“路”以及“走迷宫者”的位置,即确定 WallOrRoad 以及 PersonInMaze 对象在 maze 对象中的位置。 wallOrRoad 是 WallOrRoad 类型的二维数组,七单元为 WallOrRoad 类索川江 的对象,用来表示迷宫中的“墙”或“路” 。 person 是 PersonInMaze 类创建的对象,用来表示迷宫中的“走迷宫者” 。 handleMove 是 HandleMove 类创建的对象,负责处理 person 对象上的键盘事 件。 wallImage 和 roadImage 是 File 类声明的对象,用来存放绘制“墙”和“路” 的外观的图文件的引用。 distance、m 和 n 是 int 型

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 公司方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号