毕业论文-基于java的魔板游戏的设计与开发内容摘要:

炼人的思维和修身养性的作用,而且魔板游戏水平颇高,我们可以自己选择不同难度的游戏,大有与人脑分庭抗礼之势。 课程设计内容 需求分析 魔板游戏就是大家以前常玩的拼板游戏。 就是将一幅完整 的图片分成小块,打乱顺序,再拼好,并且只能将图块和临界的空格交换位置。 用最短的时间和最省的步骤将图形拼好,此玩法虽然简单,但特别考验智力,魔板游戏与魔方游戏相似属于益智游戏。 2020 级程序设计综合实验报告 10 此项目我们需要通过面向对象的 Java 程序设计来实现,游戏设计中需要用到 GUI 图形界面的设计,产生随机数生成打乱的图片,各种事件(动作事件、鼠标事件和窗口事件等)的响应和处理等面向对象的知识来实现游戏的各项功能。 课程设计 内容 在设计魔板游戏时,需要编写 7 个 Java 源文件: 、 、 、 、 和。 模板游戏除了需要编写上述的 7 个源程序所给出的类外,还需要 Java 系统提供的一些重要的类,如 JMenuItem、 JButton 等类。 魔板游戏所用到得一些重要的类以及之间的组合关系如下图 1 所示。 图 1 类之间的组合关系 以下是我们编写的 6 个 java 源程序的总体设计。 ( 1) ( 主类) PuzzleGame 类负责创建魔板游戏的主窗口,该类含有 main 方法,程序从该类开始执行。 PuzzleGame 类成员变量中有 4 中重要类型的对象 :PuzzlePad、JMune、 JRadioButton 和 JButton。 PuzzleGame 类的主要成员的作用将在后面的PuzzleGame JMune PuzzlePad JRadioButton JButtob Point Block HandleMove Image HandlelMage VerifySuccess 2020 级程序设计综合实验报告 11 详细设计中阐述, PuzzleGame 类创建的窗口以及其中的主要成员对象如图 2 所示。 图 2 PuzzleGame 窗口及主要的成员对象 ( 2) PuzzlePad 类创建的对象是 PuzzlePad 类 最重要的成员之一,代表“魔板”。 该类的成员变量中有 5 种重要类型的对象: Point、 Block、 HandleMove、HandleImage 和 Image。 PuzzlePad 类的主要成员的作用将在后面的详细设计中说明阐述。 ( 3) Block 类是 JTextField 的一个子类,创建的对象是 PuzzlePad 类的重要成员之一,用来表示“魔板”中的方块。 ( 4) Point 类负责创建确定位置的对象,使用 Point 对象可以确定 Block 对象在2020 级程序设计综合实验报告 12 PuzzlePad 对象之中的位置, 即确定“方块”在“魔板”中的位置。 ( 5) HandleImage 类所创建的对象负责将一幅图像分成诺干个小图像。 ( 6) HandleMove 类所创建的对象负责处理鼠标事件。 ( 7) VerifySuccess VerifySuccess 类所创建的对象负责验证用户是否按要求成功排列模板中的方块。 设计工具与运行环境 ( 1) 设计工具 Eclipse、 JCreator Pro。 ( 2) 运行环境 、 Eclipse、 window7。 2020 级程序设计综合实验报告 13 第二章 魔板游戏详细设计 这一章时介绍开发环境和用到的开发工具,系统主要的功能设计,系统的数据流程图, UML 图。 系统的需求分析 用户登录界面图 用 户 信 息输 入 信 息 是 否合 法用 户 登 录 到 主 界 面是弹 出 错 误 信 息否输 入登 录 界 面自动跳转验证 图 3 登录功能结构图 2020 级程序设计综合实验报告 14 设计流程图 图 41 总体流程图 开始 魔板游戏开始界面 Switch 开始游戏 计时器计时 开始移动方块 改变游戏难度 完成游戏 选初级 初级 高级 重新放置方块 改变游戏玩法 选择数字玩法 数字玩法 图像玩法 选择一幅新 图像 选择默认图像 确定玩法 退出 结束 是 否 是 否 2020 级程序设计综合实验报告 15 图 42 总体功能图 系统开发及运行环境 硬件平台:  CPU:  内存: 256MB 以上 软件平台:  操作系统: Windows XP  开发工具包: JDK  JSP 服务器: Tomcat  浏览器:推荐使用  分辨率:最佳效果 1024*768 像素 主界面 开始 选择级别 选择图像 数字玩法 图像玩法 初级 高级 使用一幅新图像 使用默认图像 2020 级程序设计综合实验报告 16 系统主要功能要求 我们所完成的魔板游戏可以实现基本的魔板游戏的功能。 此项目魔板游戏可由用户选择 3*3 和 4*4 两个不同难度, N*N 的魔板游戏原理与此相同,游戏可以通过下拉列表实现选择不同的游戏图像,增加游戏的趣味性。 点击“开始游戏”按钮后可以实现游戏步骤的计数,拼图右边有一个完整的图像可以供 用户参照,用鼠标单击任何与格子相邻的方块可以把该方块移入空格子。 通过不断地移动方块,可以将方块一行一行按数字或图片依次拼图。 若成功完成拼图(即左边的拼图与右边的参照图像一样),则有提示:“恭喜您,成功完成”的字样出现。 系统的详细 设计 PuzzleGame 类 效果图 PuzzlePad 创建的窗口效果如图 5 所示。 ( a) PuzzleGame 创建的窗口(数字玩法) 2020 级程序设计综合实验报告 17 ( b) PuzzleGame 创建的窗口(图像玩法) 图 5 PuzzleGame 创建的窗口 UML 图 MazeWindow 类 是 包中 JFrame 的一个子类,并实现了ActionListener 接口,该类的主要成员变量和方法的 UML 图如图 6 所示。 图 6 PuzzleGame 类的 UML 图 以下是 UML 图中有关数据和方法的详细说明。 1)成员变量  puzzlePad 是 PuzzlePad 类声明的对象,用来刻画魔板,是 PuzzleGame 类中puzzlePad: PuzzlePad digitPlay,imagePlay:JRadioButton bar: JMenuBar startButton:JButton gradMenu,choiceImage:JMenu tool:Toolkit oneGrade,twoGrade:JMenuItem image:Image newImage,defaultImage:JMenuItem PuzzleGame():无类型 actionPerformed(ActionEvent):void main(String[]):void JFrame PuzzleGame 2020 级程序设计综合实验报告 18 最重要的成员之一  bar 是 JMenuBar 创建的菜单条,用来添加菜单。 bar 被放置在窗口的顶部  gradeMenu 和 choiceImage 是 JMenu 创建的菜单,其名字分别为“选择级别”和“选择图像”。 gradeMenu,choiceImage 被添加到菜单条( bar)中。  oneGrade、 twoGrade、 newImage 和 defaultImage 是 JMenuItem 创建的菜单项,名字依次为“初级”,“高级”,“选择一幅新图像”和“使用默认图像”, oneGrade和 twoGrade 菜单项被添加到菜单 gradeMenu 中, newImage 和 defaultImage都将当前窗口注册为自己的 ActionEvent 事件监视器。  digitPlay 和 imagePlay 是 JRadioButton 创建的属于同一选择组中的单选框,名字依次为“数字玩法”,“图像玩法”。 同一时刻 digitPlay 和 imagePlay 中只能有一个处于选中状态。  startButton 是 JButton 创建的按钮对象,名字为“开始”。 startButton 将当前窗口注册为自己的 ActionEvent 事件监视器。  image 是 Image 声明的对象。  tool 是 Toolkit 对象,负责创建 image 对象 2)方法  PuzzleGame()是构造方法,负责完成窗口的初始化 操作。  actionPerformed(ActionEvent)方法是 puzzleGame 类实现 ActionListener 接口中的方法。 PuzzleGame 类创建的窗口是菜单中的菜单项、单选框以及按钮上的 ActionEvent 事件监视器。 如果用户选中 oneGrade 或 twoGrade 菜单项时 actionPerformed(ActionEvent)方法所执行的操作分别是让 puzzlePad 对象将自己的级别设置为一级或二级。 如果用户选中 newImage 或 defaultImage菜单项时, actionPerformed(ActionEvent)方法所执行的操作就是分别改变image 对象。 当用户单击 start 按钮后,如果单选框 digitPlay 处于被选中状态,那么 actionPerformed(ActionEvent)方法所执行的操作就是让 PuzzlePad 对象使用数字魔板,如果单选框 imagePlay 被选中时,那么actionPerformed(ActionEvent)方法所执行的操作就是让 puzzlePad 对象使用图像魔板。  main 方法是程序运行的入口方法。 2020 级程序设计综合实验报告 19 PuzzlePad类 效果图 PuzzlePad 创建的魔板对象效果如图 7 所示。 ( a)数字魔板 ( b)图像魔板 图 7 PuzzlePad 创建的魔板对象 UML 图 PuzzlePad 类时 JPanel 容器的子类,所创建的对象: puzzlePad是 PuzzleGame 类中最重要的成员之一,作为一个容器添加到 PuzzleGame 窗口的中心。 标明 PuzzlePad 类的主要成员变量、方法以及和 PuzzleGame 类之间组合关系的 UML 图如图 8 所示。 2020 级程序设计综合实验报告 20 图 8 PuzzlePad 类的 UML 图 以下是 UML 图中有关数据和方法的详细说明。 1)成员变量  point 是 Point 类型的而为数组,单元为 Point 类创建的对象,用来确定魔板中的方块的位置  block 是 Block 类型的二维数组,单元为 Block 类创建的对象,用来表示魔板中的方块。  distance,grade,m 和 n 是 int 型数据。 Point 对象根据 distance 的值来进行初始化,以便确定 Point 对象之间的距离。 m 和 n 的值是二维数值组 block 和 point的行数和列数, m 和 n 的默认值都是 3。 Grade 的值 代表魔板的级别,默认值是 1. 。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。