Java课程设计报告走迷宫

上传人:cl****1 文档编号:489563234 上传时间:2023-08-02 格式:DOC 页数:31 大小:1.73MB
返回 下载 相关 举报
Java课程设计报告走迷宫_第1页
第1页 / 共31页
Java课程设计报告走迷宫_第2页
第2页 / 共31页
Java课程设计报告走迷宫_第3页
第3页 / 共31页
Java课程设计报告走迷宫_第4页
第4页 / 共31页
Java课程设计报告走迷宫_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《Java课程设计报告走迷宫》由会员分享,可在线阅读,更多相关《Java课程设计报告走迷宫(31页珍藏版)》请在金锄头文库上搜索。

1、.Java语言与面向对象技术课程设计报告( 2014 - 2015年度第 1 学期)走迷宫-.目 录目录21 概述11.1 课程设计目的11.2 课程设计容12 系统需求分析22.1 系统目标22.2 主体功能22.3 开发环境33 系统概要设计33.1 系统的功能模块划分33.2 系统流程图44系统详细设计64.1系统的主界面设计64.2MAZE的设计74.3PERSONINMAZE的设计84.4WALLORROAD的设计84.5MAZEPOINT的设计94.6SOUND的设计104.7RECORD的设计105测试115.1 测试方案115.2 测试结果116 小结16参考文献17附录1 源

2、程序清单18-.走迷宫的设计1概 述1.1 课程设计目的1加深对?Java语言与面向对象技术?课程基础知识的理解,掌握Java语言面向对象程序设计的开发方法和步骤;2进一步理解面向对象程序设计的思想和方法,利用Java语言进行程序设计的能力;3课程设计将课本上的理论知识和实际应用相结合,锻炼学生发现问题、分析问题和解决问题的能力。加强学生研发、编写、调试程序的能力;4培养学生在项目开发中团队合作精神、创新意识及能力;5提高学生科技论文写作能力,规完成课程设计报告。1.2 课程设计容设计GUI界面的走迷宫游戏,游戏的目的是让走迷宫者从迷宫的入口处进从迷宫出口处出。具体容如下:(1)程序根据文本文

3、件生成迷宫,这些文本文件称作迷宫文件。迷宫文件的扩展名为.maze,其中的文本容有着特殊的组织结构:任意两行文本所含有的字符个数必须相同,而且字符只可以是“*、“#、“0”或“1”。迷宫文件中的“*和“#分别代表迷宫的入口和出口,“0”和“1”分别代表迷宫中的“路和“墙。例如,迷宫文件“中等迷宫.maze所生成的迷宫如图1-1所示。/中等迷宫.maze文件000000101000101001010010010100010100001010*0000101010001010010101000100010000010101000101000101011010010#1010000101000000

4、10001010101001001101010010101000100011101001010001010100101010100100图1-1 中等迷宫界面2用户可以通过界面上提供的菜单项选择项,选择“迷宫文件来生成对应的迷宫类型。3用户可以通过界面上提供的菜单项选择项,选择迷宫中的“墙和“路的外观图像以及默认“墙和“路的图像。同时用户也可以更改迷宫中“走迷宫者的图像。4当用户开始玩游戏时想重新开始,用户可以随时单击界面上下方图片位置提供的按钮,重新开始走迷宫。5本程序还具有音乐播放的功能,当用户成功移动走迷宫者后,程序播放简短的一声音乐。6本迷宫程序增加“英雄榜功能既排名功能,当用户成功将

5、迷宫中的走迷宫者从入口移动到出口,如果成绩能排进前三名,就弹出一个对话框,将用户的成绩保存到“英雄榜中,并且可以查看“英雄榜以及删除“英雄榜。2 系统需求分析2.1 系统目标设计一个基于java的走迷宫小游戏,游戏的结果是让走迷宫者从迷宫的入口处走到迷宫的出口处。根据已有的走迷宫小游戏进行新功能的增加。2.2 主体功能1玩家可以任意选择不同的迷宫图进行走迷宫游戏。2玩家可以自定义玩家头像、墙的图像以及路的图像。3游戏进行时可以点击提示按钮重新开始游戏4根据玩家所玩的记录进行排行榜设置,分别列出保存各类型迷宫简单迷宫、中等迷宫、复杂迷宫的前三名,玩家完后可以点击英雄榜自行查看。5玩家可以清除英雄

6、榜并且重新载入游戏。2.3 开发环境Eclipse3 系统概要设计3.1系统的功能模块划分1.系统的总体设计在设计走迷宫时,需要编写6个java源文件:MazeWindow.java、Maze.java、WallOrRoad.java、MazePoint.java、PersonInMaze.java、HandleMove.java、Record.java、ShowRecord.java和Sound.java。走迷宫除了上述6个java源文件所给出的类外,还需要Java系统提供的一些重要的类,如JmenuItem和File等类。走迷宫所用到的一些重要的类以及之间的组合关系如下列图所示:Mazel

7、WindowMazePersonInMazeHandleMoveRecordShowRecordSoundFileJMenuItemWallOrRoadMazePoint图3-1 各类之间的关系2.系统模块划分本系统主要有以下几个功能模块:创建走迷宫的主窗口、创建迷宫、创建墙和路及确定位置的对象,创建走迷宫者,创建处理键盘事件对象,创建英雄榜及显示英雄榜。 该软件主要组成模块和各个模块之间的调用关系如下列图所示:创建迷宫创建主窗口编写迷宫文件创建墙创建路确定墙和路的位置创建走迷宫者创建处理键盘事件对象创建及显示英雄榜图3-2功能模块图3.2 系统流程图玩家开始打开界面进行游戏,通过菜单项选择项

8、选择简单、中等、复杂迷宫中的一种进行游戏。开始的界面各个图像是程序默认的图像,玩家也可以根据自己的喜好自行选择文件夹里的图像来设置墙的图像、路的图像以及走迷宫者的图像。然后玩家根据提示点击走迷宫者开始游戏,玩家通过对键盘的操作来控制走迷宫者,使其从入口进入从出口出来。在玩的期间如果玩家在十秒没能从出口出来那么玩家的图像会变成猪的图像。游戏结束后如果玩家破纪录那么根据提示进入英雄榜,同时可以查看英雄榜。玩家还可以清除英雄榜重新打开界面进行游戏。具体活动流程图如下所示:图3-3 活动流程图4系统详细设计4.1系统的主界面设计1成员变量maze是Maze类声明的对象,用来刻画迷宫,是MazeWind

9、ow类中最重要的成员之一。MazeWindow类根据迷宫文件,即根据该类中的mazeFile来创建maze对象。bar是JMenuBar创建的菜单条,用来添加菜单。bar被放置在窗口的顶部。menuChoice是JMenu创建的菜单,其名字为“选择迷宫文件。menuChoice和menuImage被添加到菜单条bar中。wallImage、roadImage、和defaultImage是JMenuItem创建的菜单项,名字依次为“墙的图像、“路的图像和“墙和路的默认图像,这三个菜单项被添加到菜单menuImage中。wallImage、roadImage和defaultImage都将当前窗口注

10、册为自己的ActionEvent事件监控器。mazeFile、wallImageFile和roadImageFile是File的对象,其中mazeFile用来存放迷宫文件的引用,而wallImageFile和roadImageFile分别用来存放迷宫中“墙和“路的外观图像文件的引用。renew是utton创建的按钮对象,名字为“重新开始。Renew将当前窗口注册为自己的ActionEvent事件监控器。2方法MazeWindow是构造方法,负责完成窗口的初始化操作,其重要的操作之一是:读取当前目录中扩展名为.maze的迷宫文件,并根据迷宫文件的名字创建JMenuItem菜单项添加到menuCh

11、oice菜单中,然后将当前窗口注册为每个菜单上的ActionEvent事件监控器。另外,该构造方法在执行过程中,将mazeFile初始化为menuChoice菜单中的第一个菜单项所代表的迷宫文件,并根据该迷宫文件创建MazeWindow窗口中的maze对象。该构造方法还对wallImageFile和roadImageFile进行了初始化,并指定迷宫中“墙和“路所使用的默认图像。init方法根据迷宫文件初始化maze对象,完成必要的初始化操作。actionPerformedActionEvent方法是MazeWindow类实现的ActionListener接口中的方法。MazeWindow类创建

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

13、执行的操作就是分别改变wallImage和roadImage所引用的图像文件,从而让maze对象改变“墙或路的图像,如果用户选中menuImage菜单中的defaultImage菜单项,actionPerformedActionEvent方法所执行的操作就是将wallImage和roadImageFile所引用的图像文件恢复到默认设置,并让maze对象恢复“墙或“路的默认图像。当用户单击rennew按钮时,actionPerformedActionEvent方法所进行的操作时保持当前的mazeFile所引用的迷宫文件,并执行init方法。mainString方法是程序运行的入口方法。3. 主界

14、面效果图如下列图所示图4-1 主界面图4.2 Maze的设计1成员变量mazeFile是File类声明的对象,用来存放迷宫文件的引用。mazePoint是MazePoint类型的二位数组,其单元为MazePoint类创建的对象,用来确定“墙和“路以及“走迷宫者的位置,即确定WallOrRoad以及PersonInMaze对象在maze对象中的位置。wallOrRoad是WallOrRoad类型的二维数组,七单元为WallOrRoad类索川江的对象,用来表示迷宫中的“墙或“路。person是PersonInMaze类创建的对象,用来表示迷宫中的“走迷宫者。handleMove是HandleMov

15、e类创建的对象,负责处理person对象上的键盘事件。wallImage和roadImage是File类声明的对象,用来存放绘制“墙和“路的外观的图文件的引用。distance、m和n是int型数据。mazePoint对象根据distance的值来进行初始化,以便确定mazePoint对象之间的距离,m和n的值是二维数组mazePoint的行数和列数。2. 方法maze是构造方法,负责创建maze对象。maze对象调用setmazeFileFile方法可根据参数指定的迷宫文件完成必要的初始化,例如,创建mazePoint和wallOrRoad数组等。maze对象调用setWallImageFile方法可以设置wallImage文件对象。maze对象调用setRoadImageFile方法可以设置roadImage文件

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

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