1、java课程设计实验报告样例分数_ 嘉应学院计算机学院实验报告 课程名称:面向对象程序设计课程设计Java 实验名称:动物换位程序设计 指导教师:肖振球 实验地点:_居家学习_实验时间:2023.03.17 提交时间:2023.03.17 班 级:_计算机1807_姓 名:_方强_学 号:181110325_ 一、 实验目的和要求 掌握动物换位游戏的根本操作。 二、 实验环境、内容和方法 实验环境:eclipse。补充 实验内容: 设计GUI界面的动物换位游戏,游戏结果是让左、右两组动物交换位置。具体要求如下 在水平排列的7个位置上左、右各有3个类型相同的动物,中间的位置上没有动物,左边动物将
2、其右侧视为自己的前进方向,右边动物将其左侧视为自己的前进方向。 单击一个动物,如果该动物的前方位置上没有动物,该动物就跳跃到该位置上,如果该动物的前方位置上有其他动物,但相隔一位的位置上没有其他动物,该动物就越过自己前面的动物跳跃至该隔位上,其他情形下该动物不能跳跃跳跃时不能越过两个位置。 左面的动物只能向右方跳跃,右面的动物只能向左方跳跃。 单击“撤销按钮撤销上一次移动的动物,单击“重新开始按钮可重新开始游戏。 程序运行的参考效果图如图1.1所示。 方法:按照MVC- Model View Control(模型,视图,控制器)的设计思想展开程序的设计和代码的编写。数据模型局部相当于MVC中的
3、 Model角色,视图设计局部给出的界面局部相当于MVC中的View,视图设计局部给出的事件监视器相当于MVC中的 Control。 三、 实验过程描述 1. 数据模型: 根据系统设计要求在数据模型局部编写了以下类 Animal类:封装了左、右动物共同的属性和行为 LeftAnimal类: Animal的子类,封装了左边动物的独特行为 RightAnimal类: Animal的子类,封装了右边动物的独特行为Point类:刻画动物可以到达的位置。 ViewForAnimal类:封装制作动物视图的方法。 2. 简单测试: 把1.2节给出的类看作一个小框架,下面用框架中的类编写一个简单的应用程序,测
4、试左、右动物运动换位,即在命令行表述对象的行为过程,如果表述成功(如果表述困难说明数据模型不是很合理),那么就为以后的GUI程序设计提供了很好的对象功能测试在后续的GUI设计中,重要的工作仅仅是为某些对象提供视图界面,并处理相应的界面事件而已。 3.视图设计 设计GUI程序除了使用12节给出的类以外,需要使用 javax.swing包提供的视图(也称Java Swing架)以及处理视图上触发的界面事件。与1.3节中简单的测试相比,GUI程序可以提供更好的用户界面,完成1.1节提出的设计要求。 GUI局部设计的类如下(主要关的UNL图如图1.4所示) AmimalVicw类:其实例为动物提供外观
5、显示 GamePanel类:其实例用于放置动物的外观,并组合负责处理界面事件的监视器 HandleAnimalMove类:其实例是一个监视器,该监视器负责处理 AnimalView视图,即动物视图上触发的 MouseEvent事件。当用户在动物视图上按下鼠标时该监视器让动物执行move()方法,松开鼠标时该监视器检查用户是否成功地将左右动物互换完毕 HandleRedo类:其实例是一个监视器,该监视器负责监视按钮上触发的 Actionevent事件,当用户单击按钮触发 Actionevent事件时,该监视器负责撤销用户移动动物的操作。 HandleReStart类:其实例是一个监视器,该监视器
6、负责监视按钮上触发的 Actionevent事件,当用户单击按钮触发 Actionevent事件时,该监视器负责将游戏复原成最初始的样子。 4.GUI程序 建立名字是image和ch1同级别的文件夹,并将名字是cat.jpg和dog.jpg的图像文件保存到该image中 APPWindow是JFrame 的子类,其实例将GamePanel类的实例集成到窗口中,即提供游戏的主界面外观 运行AppWindow类 在本章代码的根底上改良动物换位游戏: 在 App Window类中增加菜单,该菜单下有3个菜单项,分别是初级、中级和高级。初级时,游戏中的动物是6个,中级时是8个,高级时是10个。 在 App Window类中増加菜单,该菜单下有两个菜单项,分别是“更改左动物图像和“更改右动物图像。用户单击菜单项弹出文件对话框,例如单击“更改左动物图像菜单项,用户可以使用弹出的文件对语框为左边动物选择图像文件 增加音乐效果,让动物运动时程序能播放简短的声音,并且左、右动物运动时程序播放的声音不同(可参见第8章中的ch8.view. Playmusic类)。 使用javaw.swing.Timer类增加计时功能 为各个级别增加相应的“英雄榜。 四、 实验结果及分析 初始界面: 游戏难度: 初级: 中级: 高级: 英雄榜: 更换图片: 实验结果分析 此局部要描述详细!