版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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 ”或“
3、 gif ”格式的。(3) 游戏记时当玩家控制迷宫中的动漫人物进行游戏时,计时器就开始进行记时,直到动漫人物到达出口时,记时结束,并在屏幕上显示游戏用时。(4) 开始游戏玩家将鼠标移动至迷宫中的动漫冒险者,即可看到“单击我然后按键盘方向键”,单击后,游戏开始。玩家即可通过键盘上的方向键进行游戏。(5) 游戏结束玩家控制动漫冒险者移动至迷宫地图的出口处时,游戏的计时器停止计时,并弹出信息框“恭 喜您通关了”,游戏结束。(6) 冒险脚步声玩家单击动漫冒险者后,便可以用键盘方向键进行控制。动漫冒险者每移动一步便会发出一声"嘟”的响声。(7) 重新开始玩家可以根据个人对自己通关时间长短的满意
4、程度选择再次挑战,单击“重新开始”即可。(8) 计时界面位置利用边界式布局管理器BorderLayout将计时界面置于上方。(9) 再次挑战界面位置利用边界式布局管理器BorderLayout将再次挑战界面置于下方。图2.1 J迷宫冒险系统6大模块图2.2设计方法(1) 迷宫冒险系统主界面模块迷宫冒险系统主界面模块包括MazeWindow.java和Maze.java两个文件。MazeWindow是迷宫冒险系统的主运行类,其中有运行整个程序的main方法,该文件生成了Maze类的一个实例,从而生成了迷宫冒险系统的界面。MazeWindow类继承自JFrame类,以ActionListener为
5、接口实现了事件侦听的接口,它有一个不带参数的构造方法MazeWindow(),用来生成 MazeWindow的实例。MazeWindow类将所有的功能集中到菜单栏中,并通过调用其他模块来实现迷宫冒险系统的各个功能。(2) 记时设计模块记时设计模块主要由HandleMove.java 共1个文件组成。HandleMove类继承自JPanel类,以Spe ndTime,利用ActionListener为接口实现事件的侦听的接口。该模块利用了一个2维数组来进行实现,并对计时显示的字体、背景色、显示位置进行设计。该模块定义了一个无参返回值的变量Spen dTime这个变量来对记时的开始触发源和记时的结
6、束触发源。动漫冒险者运动k记时开始动漫冒险者 到达出口»记时结束图2.2计时流程图(3) 迷宫设计模块迷宫设计模块主要由 2个2维数组组成,它们组成了主界面中“选择迷宫”菜单的容,其中包括简单迷宫、中等迷宫、难度迷宫三大类。该模块的类继承自JLayeredPane类,主要通过2个2维数组来实现。并且对迷宫中的道路和障碍的插入图片格式进行了要求。该模块使用try和catch来捕获和处理异常。当迷宫地图不可用时则弹出对话框“无效的迷宫文件”。(4) 道路和障碍设计模块系统道路和障碍设计模块主要由MazePoi nt.java 这个文件组成,这个文件组成了主界面中的迷宫地图中的道路和障碍的
7、容。(5) 动漫冒险者设计模块动漫冒险者设计模块主要是对迷宫地图中处于入口处的动漫冒险玩家进行设计。该模块利用语句使鼠标箭头移动到动漫冒险者上时显示文字“单击我,然后按键盘方向键”,并为冒险者的图片格式、长度、宽带、初始位置等等进行进一步的设计,让动漫冒险者更加生动。(6) 出入口设计模块出入口设计模块主要是定义了出口与入口以及当动漫冒险者处于这两个位置时的状态和事件的。3. 关键技术在设计走迷宫小游戏时,编写了6个JAVA源文件:MazeWindow.java、MazePoint.java 、WallOrRoad.java 、Maze.java、PersonlnMaze.java 、Hand
8、leMove.java4. 程序流程图4.1迷宫游戏流程图5. 主要源代码import javax.swi ng.*;import java.awt.*;import java.awt.eve nt.*;import java.io.*;import javax.swi ng.filechooser.*;public class MazeWi ndow exte nds JFrame impleme nts Actio nListe nerMaze maze;JMen uBar bar;JMe nu men uChoice,me nul mage;JMe nultem walllmage,ro
9、adlmage,defaultlmage;File mazeFile,walllmageFile,roadlmageFile;JButt on ren ew;MazeWi ndow()walllmageFile=new File("wall.jpg");roadlmageFile=new File("road.jpg");bar= new JMe nuBar();menuChoice=new JMenu(”选择迷宫");File dir= new File(".");File file=dir.listFiles (new
10、File nameFilter()public boolea n accept(File dir,Stri ng n ame) retur n n ame.e ndsWith("maze"););for(i nt i=0;i< file .len gth;i+) JMe nultem item=new JMe nultem(filei.getName(); item.addActio nListe ner(this);menu Choice.add(item);mazeFile=new File(file0.getName();ini t();men ulmage=n
11、ew JMen u(”选择墙和路的图像(JPG,GIF)");walllmage=new JMe nultem(”墙的图像");roadlmage=new JMe nultem(”路的图像");defaultlmage=new JMe nultem(”墙和路的默认图像");men ulmage.add(walllmage);menul mage.add(roadlmage);menul mage.add(defaultlmage);bar.add(me nuChoice);bar.add(me nul mage);setJMe nuBar(bar);wa
12、llImage.addActio nListe ner(this);roadImage.addAct ion Liste ner(this);defaultImage.addAct ion Liste ner(this);renew=new JButton(”重新开始”);ren ew.addActio nListe ner(this);add(maze,BorderLayout.CENTER);add(re new,BorderLayout.SOUTH);setVisible(true);setBou nds(60,60,510,480);validate();setDefaultClose
13、Operatio n(JFrame.EXIT_ON_CLOSE);public void in it()if(maze!=nu ll)remove(maze);remove(maze.getHa ndleMove();maze=new Maze();maze.setWalllmage(walllmageFile);maze.setRoadlmage(roadlmageFile);maze.setMazeFile(mazeFile);add(maze,BorderLayout.CENTER);add(maze.getHa ndleMove(),BorderLayout.NORTH);valida
14、te(); public void acti on Performed(Act ion Eve nt e) if(e.getSource()=roadlmage)JFileChooser chooser =new JFileChooser();FileNameExte nsionF ilter filter = new FileNameExte nsionF ilter("JPG & GIF Images", "jpg", "gif");chooser.setFileFilter(filter);int state=choos
15、er.showOpe nDialog( null);File file=chooser.getSelectedFile();if(file!=null&&state=JFileChooser.APPROVE_OPTION) roadImageFile=file;maze.setRoadlmage(roadlmageFile);else if(e.getSource()=walllmage)JFileChooser chooser= new JFileChooser();FileNameExte nsionF ilter filter = new FileNameExte nsi
16、onF ilter("JPG & GIF Images", "jpg", "gif");chooser.setFileFilter(filter);int state=chooser.showOpe nDialog( null);File file=chooser.getSelectedFile();if(file!=null&&state=JFileChooser.APPROVE_OPTION)wallImageFile=file;maze.setWalllmage(walllmageFile);else i
17、f(e.getSource()=defaultImage)walllmageFile=new File("wall.jpg");roadlmageFile=new File("road.jpg");maze.setWalllmage(walllmageFile);maze.setRoadlmage(roadlmageFile);else if(e.getSource ()=ren ew)in it();elseJMenuItem item=(JMenultem)e.getSource(); mazeFile=new File(item.getText()
18、;in it();public static void main(String args)new MazeWi ndow();6. 运行结果及结论在开发环境为JCreator的电脑上编写java程序,利用java程序实现迷宫冒险的运作。程序包含 MazeWindow.java、MazePoint.java 、WallOrRoad.java 、Maze.java、PersonlnMaze.java 、HandleMove.java 六个java源文件。其中 MazeWindow为程序的主类,贯穿始终,通过调用其他模块功能来实现整个迷宫冒险小游戏的全部功能,是游戏安全运行。程序进过检查修改无误后运行得到如下运行结果。6.1运行结果示意图7.参考文献1】董小园Java面向对象程序设计 清华大学,2011年6月第1版2】升华.Java从入门到实践M.:清华大学20093】国君ava2设计基础M.:清华大学20094】朱喜福Java程序设计M.:人民
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024铜棒工业应用技术培训合同模板3篇
- 二零二五版汽车维修后旧件买卖合同3篇
- 2025年度海上船舶船员劳务派遣服务劳动合同3篇
- 邛崃专业保洁合同范本
- 2025年度高端建筑材料采购合同质量保障与验收3篇
- 2024沥青混凝土路面工程
- 2025年度智能草花种苗购销合同模板3篇
- 2025年度咖啡馆餐厅承包管理合同3篇
- 2024物业清洁与绿化服务合同详细
- 2024版行政岗位劳动合同样本
- 2025年度版权授权协议:游戏角色形象设计与授权使用3篇
- 2024年08月云南省农村信用社秋季校园招考750名工作人员笔试历年参考题库附带答案详解
- 防诈骗安全知识培训课件
- 心肺复苏课件2024
- 2024年股东股权继承转让协议3篇
- 2024-2025学年江苏省南京市高二上册期末数学检测试卷(含解析)
- 四川省名校2025届高三第二次模拟考试英语试卷含解析
- 《城镇燃气领域重大隐患判定指导手册》专题培训
- 湖南财政经济学院专升本管理学真题
- 考研有机化学重点
- 全国身份证前六位、区号、邮编-编码大全
评论
0/150
提交评论