走迷宫游戏设计

上传人:lcm****20 文档编号:121768724 上传时间:2020-02-25 格式:DOC 页数:12 大小:386.50KB
返回 下载 相关 举报
走迷宫游戏设计_第1页
第1页 / 共12页
走迷宫游戏设计_第2页
第2页 / 共12页
走迷宫游戏设计_第3页
第3页 / 共12页
走迷宫游戏设计_第4页
第4页 / 共12页
走迷宫游戏设计_第5页
第5页 / 共12页
点击查看更多>>
资源描述

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

1、计算机学院 面向对象程序设计课程设计报告学号1408010106面向对象程序设计课程设计报告题目:“走迷宫”游戏制作专业:计算机科学与技术班级:计算机科学与技术14(1)姓名:陈晚露指导教师:樊郁徽成绩:计算机学院2016年 5 月 28 日日期改为2016年4月22日第 1 页 共 12 页目录1、设计目的与要求11.1 设计目的11.2 设计要求11.3 实现功能11.4 界面设计12、开发平台和技术22.1 Java语言2 2.2 GreenFoot3 2.3 环境配置33、 模块具体实现和主要动画触发34、总结45、参考文献:46、附录:5 public class MazeWindo

2、w extends JFrame implements ActionListenerMaze maze; JMenuBar bar;/声明菜单条对象 JMenu menuChoice,menuImage;/声明菜单对象 JMenuItem wallImage,roadImage,defaultImage;/声明菜单项对象 File mazeFile,wallImageFile,roadImageFile; 计算机学院 面向对象程序设计课程设计报告“走迷宫”游戏制作1、设计目的与要求1.1 设计目的(1) 熟练掌握数据结构的基本算法,提高算法设计与分析能力; (2) 基本掌握面向对象设计基本思路

3、和方法; (3)利用所学的基本知识和技能,解决简单的程序设计问题; (4)提高学生的科技论文写作能力;1.2 设计要求(1) 课程设计前必须根据课程设计题目认真准备实验源程序及调试时所需 的数据; (2)要求采用简明、严格的问题描述,设计求解算法;(3) 数据结构选用得当,程序结构合理; (4)程序简明易懂,多运用输出提示,程序运行正确;(5)对设计进行总结和讨论; 1.3 实现功能(1) 用户可以通过单击走迷宫小人图像,开始默认模式的走迷宫游戏。 当小人图像开始移动,计时开始。 (2) 当用户想重新开始游戏时,可以点击窗口下方的【重新开始】按钮, 重新开始游戏。 (3) 用户可以单击菜单栏“

4、选择迷宫”菜单,选择不同模式的迷宫游戏。(4) 用户还可以选择菜单栏“选择墙和路的图像(JPG,GIF)”菜单,从 电脑中选取自己喜欢的图片作为墙和路的图像进行游戏。1.4 界面设计(1)编制一个求解迷宫通路的图形界面演示程序。11计算机学院 面向对象程序设计课程设计报告 (2)设置一个可以任意设置障碍,删除障碍的迷宫。并求出迷宫的一条通路 (3)根据用户界面提示,可以使用事先设定的迷宫也可以使用自定义的迷宫。在着迷宫同路的过程中,需将查找的过程演示出来,并且在最后时,需要标记出查找成功的一条路径。图下方要有序号和标题 2、开发平台和技术2.1 Java语言java语言的流行除了因为它能够编制

5、嵌入HTML文件中的Applet外,还在于Java语言本身的面向对象、简单、平台无关性、安全性、多线程等特点java语言的结构与编写方式,与c语言类似,因此学习Java语言,不仅要了解Java语言特点,同时还要有程序设计基础和面向对象的概念。java语言的特点如下:java语言的特点一:简单、高效Java语言的特点二:面向对象 Java语言的特点三:平台无关性Java语言的特点四:交互式特性 Java语言的特点五:多线程机制 Java语言的特点六:动态的内存管理机制 Java语言的特点七:安全性 2.2 GreenFootGreenfoot1是针对那些想让自己熟悉如何使用Java的人而设计的,

6、是一个功能完整的开发环境,可以使用Java方便地编写游戏和进行模拟。它还可以被用来作为Java语言的教程,以及设计2D小游戏,可以实用于所有年龄段的用户,而不仅仅是初学者。2.3 环境配置 JDK ersion: 2.3.0(版本)及Greenfoot的安装3、 模块具体实现和主要动画触发在设计走迷宫小游戏时,编写了6个JAVA源文件:MazeWindow.java、 MazePoint.java、WallOrRoad.java、Maze.java、PersonInMaze.java、HandleMove.java1、PersonInMaze.java此类继承了JTextField类,当鼠标指

7、向小人图像时会有提示信息“单击我,然后按键盘方向键”。获取走迷宫者的小人图像。 2、MazePoint.java 该类获取MazePoint对象的坐标值,并返回。 3、WallOrRoad.java 此类继承了JPanel类,JPanel 是一般轻量级容器,在此容器上定义了迷宫图形。 4、Maze.javaMaze类对JLayeredPane进行了继承,JLayeredPane位容器添加了深度,允许组件在需要时互相重叠。Integer对象指定容器中每个组件的深度,其中编号较高的组件位于其他组件之上。 5、HandleMove.java HandleMove类不仅对JPanel类进行了继承,还改

8、写了keyPressed(KeyEvent e)和actionPerformed(ActionEvent e),实现了KeyListener和ActionListener两个接口,对鼠标和键盘添加了监听器,使鼠标和键盘可以完成相应操作。 6. MazeWindow.java 此处6点的序号修改为(1).,请依次修改MazeWindow是本游戏程序的主类,在此类中对菜单和菜单项进行了设计。 4、总结“走迷宫”游戏的基本功能都已实现,在此程序中各类间反复的关联和依赖关系让类与类之间的关系复杂,稍有不明白程序就无法继续下去。但是该游戏仅仅对几个简单的迷宫游戏进行了设计,没有实现平常的通关模式的设计,

9、这是此游戏应该改进的地方。 通过这次“走迷宫”游戏的设计让我明白了理论与实践相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践结合起来,从理论中得出结论,才能真正的提高自己的水命,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说是困难重重,并且还发现了自己的很多不足之处,对以前所学过的知识理解得不够深刻、透彻,掌握的不够牢固。同时在这次的设计中也有小小的体验了一下做项目的感受。 我完成了这次JAVA课程设计,不过这只是我学习路上的驿站。我相信我在未来的学习中会记住从本次课程设计中所学到的东西,并将它用到未来的学习中去。5、参考文献:1王元珍,韩宗芬.

10、IBM-PC宏汇编语言程序设计M.第二版.华中理工大学出版社,2005此文献与本课程设计无关,建议删除2叶核亚.数据结构M.Java版第2版.北京:电子工业出版社,20093耿祥义,张跃平.Java基础教程M.第2版.北京:清华大学出版社,20094刘小晶.数据结构M.Java语言描述.北京:清华大学出版社,20096、附录:publicclassPersonInMazeextendsJTextFieldMazePointpoint;Toolkittool;PersonInMaze()tool=getToolkit();/获得工具包setEditable(false);/不可见setBorde

11、r(null);/无边框setOpaque(false);/非透明的setToolTipText(单击我,然后按键盘方向键); public void setAtMazePoint(MazePoint p) point=p; public MazePoint getAtMazePoint() return point; public void paintComponent(Graphics g) super.paintComponent(g); int w=getBounds().width; int h=getBounds().height; Image image=tool.getImag

12、e(person.gif); /获得image图像 g.drawImage(image,0,0,w,h,this);/绘制image图像。 public class MazePoint int x,y; public MazePoint(int x,int y) this.x=x; this.y=y; public int getX() return x; public int getY() return y; public boolean equals(MazePoint p) if(p.getX()=this.getX()&p.getY()=this.getY() /*如果MazePoin

13、t的对象p的x、y值和上面返回的x、y值相同,则返回true,否则返回false*/ return true; else return false; public class WallOrRoad extends JPanel boolean isRoad,isWall,isEnter,isOut; MazePoint point; File wallImage,roadImage; Toolkit tool; WallOrRoad() tool=getToolkit(); public void setIsEnter(boolean boo) isEnter=boo; if(isEnter=true) add(new JLabel(入口);/定义迷宫的入口 Public boolean getIsEnter() return isEnter; public void setIsOut(boolean boo) isOut=boo; if(isOut=tr

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

最新文档


当前位置:首页 > 大杂烩/其它

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