迷宫JAVA课设含代码.doc
文本预览下载声明
迷宫冒险
1.课程设计的目的
随着科技进步,时代发展,计算机走进了大家的生活。计算机程序强大的功能为使用者提供服务,编程语言也变得越来越流行。Java语言是当今流行的网络编程语言,它具有面向对象、跨平台、分布应用等特点。面向对象的开发方法是当今世界最流行的开发方法,它不仅具有更贴近自然的语义,而且有利于软件的维护和继承。
为了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,熟练应用面向对象的思想和设计方法解决实际问题的能力,也是为了增加同学们娱乐游戏选择而开发了一个适合学生的,能提升思考力的迷宫冒险游戏,这既锻炼了动手能力,还能进行消遣娱乐,可谓一举两得。
2.设计方案论证
2.1需求分析
制作一个图形界面的满足玩家娱乐要求的迷宫冒险应用游戏,完成简单的动漫人物迷宫冒险过程。制作的迷宫冒险应用程序具有多种功能,迎合玩家的需求。该应用程序运行时,玩家只需点击地图上的动漫人物,然后利用键盘上的上下左右键位进行人物移动控制。当人物到达出口时,屏幕上显示“恭喜您通关了”的信息框。应用程序主界面上可进行迷宫类型选择,由简单迷宫,中等迷宫,难度迷宫这三类难易程度不同的迷宫组成,玩家可根据自身游戏水平进行选择。为了体现游戏人性化,玩家还可以自己选择迷宫的道路,障碍的图片,但是选择的图片必须是规定的图片格式。该应用程序还添加了记时功能,让玩家通过记时体验到游戏的娱乐性和刺激性。如果对成绩不满,玩家可以点击“在挑战一次”。
2.2设计思路
根据对游戏系统进行的需求分析,本系统将分为6个模块:分别是迷宫主界面模块、记时设计模块、迷宫设计模块、道路和障碍设计模块、动漫冒险者设计模块、出入口设计模块。实现的功能有:
(1)迷宫的选择
玩家可以根据自身需求来进行选择简单迷宫、中等迷宫、难度迷宫三类中选择一类迷宫进行游戏。
(2)选择道路和障碍的图像
玩家可以根据个人喜好对迷宫中的道路和障碍的图片进行选择,但是图片的格式有规定,必须是“jpg”或“gif”格式的。
(3)游戏记时
当玩家控制迷宫中的动漫人物进行游戏时,计时器就开始进行记时,直到动漫人物到达出口时,记时结束,并在屏幕上显示游戏用时。
(4)开始游戏
玩家将鼠标移动至迷宫中的动漫冒险者,即可看到“单击我然后按键盘方向键”,单击后,游戏开始。玩家即可通过键盘上的方向键进行游戏。
(5)游戏结束
玩家控制动漫冒险者移动至迷宫地图的出口处时,游戏的计时器停止计时,并弹出信息框“恭喜您通关了”,游戏结束。
(6)冒险脚步声
玩家单击动漫冒险者后,便可以用键盘方向键进行控制。动漫冒险者每移动一步便会发出一声“嘟”的响声。
(7)再次挑战
玩家可以根据个人对自己通关时间长短的满意程度选择再次挑战,单击“在挑战一次”即可。
(8)计时界面位置
利用边界式布局管理器BorderLayout将计时界面置于上方。
(9)再次挑战界面位置
利用边界式布局管理器BorderLayout将再次挑战界面置于下方。
图1迷宫冒险系统6大模块
2.3设计方法
(1)迷宫冒险系统主界面模块
迷宫冒险系统主界面模块包括MazeWindow.java和Maze.java两个文件。MazeWindow是迷宫冒险系统的主运行类,其中有运行整个程序的main方法,该文件生成了Maze类的一个实例,从而生成了迷宫冒险系统的界面。MazeWindow类继承自JFrame类,以ActionListener为接口实现了事件侦听的接口,它有一个不带参数的构造方法MazeWindow (),用来生成MazeWindow的实例。MazeWindow类将所有的功能集中到菜单栏中,并通过调用其他模块来实现迷宫冒险系统的各个功能。
(2)记时设计模块
记时设计模块主要由HandleMove.java共1个文件组成。HandleMove类继承自JPanel类,以ActionListener为接口实现事件的侦听的接口。该模块利用了一个2维数组来进行实现,并对计时显示的字体、背景色、显示位置进行设计。该模块定义了一个无参返回值的变量SpendTime,利用SpendTime这个变量来对记时的开始触发源和记时的结束触发源。
图2 记时功能结构图
(3)迷宫设计模块
迷宫设计模块主要由2个2维数组组成,它们组成了主界面中“选择迷宫”菜单的内容,其中包括简单迷宫、中等迷宫、难度迷宫三大类。该模块的类继承自JLayeredPane类,主要通过2个2维数组来实现。并且对迷宫中的道路和障碍的插入图片格式进行了要求。该模块使用try和catch来捕获和处理异常。当迷宫地图不可用时则弹出对话框“无效的迷宫文件”。
(4)道路和障碍设计模块系统
道路和障碍设计模块主要由MazePoint.java这个文件组成,这个文件组成了主
显示全部