java课设走迷宫(含代码)

上传人:jin****ng 文档编号:198503960 上传时间:2023-04-08 格式:DOCX 页数:12 大小:242.56KB
收藏 版权申诉 举报 下载
java课设走迷宫(含代码)_第1页
第1页 / 共12页
java课设走迷宫(含代码)_第2页
第2页 / 共12页
java课设走迷宫(含代码)_第3页
第3页 / 共12页
资源描述:

《java课设走迷宫(含代码)》由会员分享,可在线阅读,更多相关《java课设走迷宫(含代码)(12页珍藏版)》请在装配图网上搜索。

1、目录1设计目的1.1课程设计的目的2总体设计2.1设计思路2.2 设计方法3关键技术4程序流程 5主要源代码 6. 运行结果及结论7.参考文献1. 设计目的1.1课程设计的目的随着科技进步,时代发展,计算机走进了大家的生活。计算机程序强大的功能为使用者提供服 务,编程语言也变得越来越流行。Java语言是当今流行的网络编程语言,它具有面向对象、跨平台、 分布应用等特点。面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语 义,而且有利于软件的维护和继承。为了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,熟 练应用面向对象的思想和设计方法解决实际

2、问题的能力,也是为了增加同学们娱乐游戏选择而开发 了一个适合学生的,能提升思考力的迷宫冒险游戏,这既锻炼了动手能力,还能进行消遣娱乐,可 谓一举两得。2. 总体设计2.1设计思路 根据对游戏系统进行的需求分析,本系统将分为6个模块:分别是迷宫主界面模块、记时设计 模块、迷宫设计模块、道路和障碍设计模块、动漫冒险者设计模块、出入口设计模块。实现的功能 有:(1) 迷宫的选择玩家可以根据自身需求来进行选择简单迷宫、中等迷宫、难度迷宫三类中选择一类迷宫进行游 戏。(2) 选择道路和障碍的图像玩家可以根据个人喜好对迷宫中的道路和障碍的图片进行选择,但是图片的格式有规定,必须 是“jpg或“gif格式的

3、。(3) 游戏记时当玩家控制迷宫中的动漫人物进行游戏时,计时器就开始进行记时,直到动漫人物到达出口时, 记时结束,并在屏幕上显示游戏用时。(4) 开始游戏 玩家将鼠标移动至迷宫中的动漫冒险者,即可看到“单击我然后按键盘方向键,单击后,游 戏开始。玩家即可通过键盘上的方向键进行游戏。(5) 游戏结束 玩家控制动漫冒险者移动至迷宫地图的出口处时,游戏的计时器停止计时,并弹出信息框“恭 喜您通关了”,游戏结束。(6) 冒险脚步声 玩家单击动漫冒险者后,便可以用键盘方向键进行控制。动漫冒险者每移动一步便会发出一声“嘟”的响声。(7) 重新开始 玩家可以根据个人对自己通关时间长短的满意程度选择再次挑战,

4、单击“重新开始”即可。(8) 计时界面位置利用边界式布局管理器BorderLayout将计时界面置于上方。(9) 再次挑战界面位置利用边界式布局管理器BorderLayout将再次挑战界面置于下方。2.2设计方法(1) 迷宫冒险系统主界面模块迷宫冒险系统主界面模块包括MazeWindow.java和Maze.java两个文件。MazeWindow是迷宫冒 险系统的主运行类,其中有运行整个程序的main方法,该文件生成了 Maze类的一个实例,从而生 成了迷宫冒险系统的界面。MazeWindow类继承自J Frame类,以ActionListener为接口实现了事件侦 听的接口,它有一个不带参数

5、的构造方法MazeWindow 0,用来生成MazeWindow的实例。MazeWindow 类将所有的功能集中到菜单栏中,并通过调用其他模块来实现迷宫冒险系统的各个功能。(2) 记时设计模块记时设计模块主要由HandleMove.java共1个文件组成。HandleMove类继承自JPanel类,以 ActionListener为接口实现事件的侦听的接口。该模块利用了一个2维数组来进行实现,并对计时显示的字体、背景色、显示位置进行设计。该模块定义了一个无参返回值的变量SpendTime,利用SpendTime 这个变量来对记时的开始触发源和记时的结束触发源。图 2.2 计时流程图(3) 迷宫

6、设计模块迷宫设计模块主要由2个2维数组组成,它们组成了主界面中“选择迷宫”菜单的内容,其中包括简单迷宫、中等迷宫、难度迷宫三大类。该模块的类继承自JLayeredPane类,主要通过2个2 维数组来实现。并且对迷宫中的道路和障碍的插入图片格式进行了要求。该模块使用try和catch来 捕获和处理异常。当迷宫地图不可用时则弹出对话框“无效的迷宫文件”。(4) 道路和障碍设计模块系统道路和障碍设计模块主要由 MazePoint.java 这个文件组成,这个文件组成了主界面中的迷宫地 图中的道路和障碍的内容。(5) 动漫冒险者设计模块动漫冒险者设计模块主要是对迷宫地图中处于入口处的动漫冒险玩家进行设

7、计。该模块利用语 句使鼠标箭头移动到动漫冒险者上时显示文字“单击我,然后按键盘方向键”,并为冒险者的图片格 式、长度、宽带、初始位置等等进行进一步的设计,让动漫冒险者更加生动。(6) 出入口设计模块出入口设计模块主要是定义了出口与入口以及当动漫冒险者处于这两个位置时的状态和事件 的链接。3. 关键技术在设计走迷宫小游戏时,编写了 6 个 JAVA 源文件: MazeWindow.java 、 MazePoint.java 、WallOrRoad.java、Maze.java、PersonInMaze.java、HandleMove.java4. 程序流程图4.1迷宫游戏流程图5. 主要源代码i

8、mport javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.filechooser.*;public class MazeWindow extends JFrame implements ActionListener Maze maze;JMenuBar bar;JMenu menuChoice,menuImage;JMenuItem wallImage,roadImage,defaultImage;File mazeFile,wallImageFile,ro

9、adImageFile;JButton renew;MazeWindow()wallImageFile=new File(wall.jpg); roadImageFile=new File(road.jpg);bar=new JMenuBar();menuChoice=new JMenu(选择迷宫);File dir=new File(.);File file=dir.listFiles(new FilenameFilter()public boolean accept(File dir,String name) return name.endsWith(maze););for(int i=0

10、;i file.length;i+) JMenuItem item=new JMenuItem(filei.getName(); item.addActionListener(this); menuChoice.add(item);mazeFile=new File(file0.getName(); init();menuImage=new JMenu(选择墙和路的图像(JPG,GIF); wallImage=new JMenuItem(墙的图像);roadlmage=new JMenuItem(路的图像); defaultlmage=new JMenuItem(墙和路的默认图像); menu

11、Image.add(wallImage);menuImage.add(roadImage);menuImage.add(defaultImage);bar.add(menuChoice);bar.add(menuImage);setJMenuBar(bar);wallImage.addActionListener(this);roadImage.addActionListener(this);defaultImage.addActionListener(this);renew二new JButton(重新开始);renew.addActionListener(this);add(maze,Bo

12、rderLayout.CENTER);add(renew,BorderLayout.SOUTH);setVisible(true);setBounds(60,60,510,480);validate();setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); public void init()if(maze!=null)remove(maze);remove(maze.getHandleMove();maze=new Maze();maze.setWallImage(wallImageFile);maze.setRoadImage(roadImageF

13、ile);maze.setMazeFile(mazeFile);add(maze,BorderLayout.CENTER);add(maze.getHandleMove(),BorderLayout.NORTH); validate();public void actionPerformed(ActionEvent e)if(e.getSource()=roadImage)JFileChooser chooser=new JFileChooser();FileNameExtensionFilter filter = new FileNameExtensionFilter(JPG & GIF I

14、mages, jpg, gif);chooser.setFileFilter(filter);int state=chooser.showOpenDialog(null);File file=chooser.getSelectedFile();if(file!=null&state=JFileChooser.APPROVE_OPTION)roadImageFile=file;maze.setRoadImage(roadImageFile);else if(e.getSource()=wallImage)JFileChooser chooser=new JFileChooser();FileNa

15、meExtensionFilter filter = new FileNameExtensionFilter(JPG & GIF Images, jpg, gif);chooser.setFileFilter(filter);int state=chooser.showOpenDialog(null);File file=chooser.getSelectedFile();if(file!=null&state=JFileChooser.APPROVE_OPTION)wallImageFile=file;maze.setWallImage(wallImageFile);else if(e.ge

16、tSource()=defaultImage)wallImageFile=new File(wall.jpg);roadImageFile=new File(road.jpg);maze.setWallImage(wallImageFile);maze.setRoadImage(roadImageFile);else if(e.getSource()=renew)init();elseJMenuItem item=(JMenuItem)e.getSource();mazeFile=new File(item.getText();init();public static void main(St

17、ring args)new MazeWindow();6. 运行结果及结论在开发环境为 JCreator 的电脑上编写 java 程序,利用 java 程序实现迷宫冒险的运作。程序包含 MazeWindow.java、MazePoint.java、WallOrRoad.java、Maze.java、PersonInMaze.java、HandleMove.java 六个 java 源文件。其中 MazeWindow 为程序的主类,贯穿始终,通过调用其他模块功能来实现整个 迷宫冒险小游戏的全部功能,是游戏安全运行。程序进过检查修改无误后运行得到如下运行结果。回区I选挥迷宫选择埴和路的團像(JPG

18、GIF)单走走谜宫者?按键盘方佝键重新开始6.1 运行结果示意图7.参考文献1】董小园Java面向对象程序设计 清华大学出版社,2011年6月第1版2】刘升华.Java从入门到实践M北京:清华大学出版社20093】陈国君Java2设计基础M北京:清华大学出版社20094】朱喜福.Java程序设计M.北京:人民邮电出版社20055】饶一梅.Java语言程序设计M.北京:人民邮电出版社2009成绩评定表学生姓名班级学号专业课程设计题目评语组长签字:成绩日期2014年 月日课程设计任务书学院信息学院专业学生姓名班级学号课程设计题目基于Java的走迷宫游戏软件设计实践教学要求与任务:采用java技术设

19、计走迷宫游戏软件,游戏的结果是让走迷宫者从迷宫的入口处走 到迷宫的出口处。设计要求如下:(1)程序根据文本文件生成迷宫,这些文本文件称作迷宫文件。迷宫文件的扩展名为.maze,其中的文本内容有着特殊的组织结构:任意两行文本所含有的自符个数 必须相同,而且字符只可以是“*”、“#”、“0”或“1”。迷宫文件中的“*”和“#” 分别代表迷宫的入口和出口,“0”和“1”分别代表迷宫中的“路”和“墙”。/简单迷宫.maze文件1*111111111000100001110110111110000000011111111#11(2)用户可以通过界面上提供的惨淡选项,选择“迷宫文件”来生成对应的“迷宫”。(3)用户可以通过界面上提供的菜单选项,选择迷宫中的“墙”和“路”的外观图像。(4)用户可以通过随时单击界面上提供的按钮,重新开始走“迷宫”。工作计划与进度安排:第19周:布置课程设计任务,查阅资料,分组设计,程序调试。第20周:程序调试,编写课程设计报告,验收,答辩。指导教师:2014年 月日专业负责人:2014年 月日学院教学副院长:2014年 月日

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!