java实验报告系统分析怎么写_java课程设计实验报告样例分数_______ 嘉应学院计算机学院实验报告 课程名称:⾯向对象程序设计课程设计(Java) 实验名称:”动物换位”程序设计 指导教师:肖振球 实验地点:_居家学习_实验时间:2020.03.17 提交时间:2020.03.17 班 级:_计算机1807_姓 名:_⽅强_学 号:
181110325_ ⼀、 实验⽬的和要求 掌握动物换位游戏的基本操作。
⼆、 实验环境、内容和⽅法 实验环境:eclipse。。。。。。补充 实验内容:
设计GUI界⾯的动物换位游戏,游戏结果是让左、右两组动物交换位置。具体要求如下 ①在⽔平排列的7个位置上左、右各有3个类型相同的动物,中间的位置上没有动物,左边动物将其右侧视为⾃⼰的前进⽅向,右边动物将其左侧视为⾃⼰的前进⽅向。
②单击⼀个动物,如果该动物的前⽅位置上没有动物,该动物就跳跃到该位置上,如果该动物的前⽅位置上有其他动物,但相隔⼀位的位置上没有其他动物,该动物就越过⾃⼰前⾯的动物跳跃⾄该隔位上,其他情形下该动物不能跳跃(跳跃时不能越过两个位置)。
③左⾯的动物只能向右⽅跳跃,右⾯的动物只能向左⽅跳跃。
javaswing酷炫界面④单击“撤销”按钮撤销上⼀次移动的动物,单击“重新开始”按钮可重新开始游戏。
程序运⾏的参考效果图如图1.1所⽰。
⽅法:按照MVC- Model View Control(模型,视图,控制器)的设计思想展开程序的设计和代码的编写。数据模型部分相当于MVC中的Model⾓⾊,视图设计部分给出的界⾯部分相当于MVC中的View,视图设计部分给出的事件监视器相当于MVC中的 Control。
三、 实验过程描述 1. 数据模型:
根据系统设计要求在数据模型部分编写了以下类 Animal类:封装了左、右动物共同的属性和⾏为 LeftAnimal类: Animal的⼦类,封装了左边动物的独特⾏为 RightAnimal类: Animal的⼦类,封装了右边动物的独特⾏为Point类:刻画动物可以到达的位置。
ViewForAnimal类:封装制作动物视图的⽅法。
2. 简单测试:
把1.2节给出的类看作⼀个⼩框架,下⾯⽤框架中的类编写⼀个简单的应⽤程序,测试左、右动物运动换位,即在命令⾏表述对象的⾏为过程,如果表述成功(如果表述困难说明数据模型不是很合理),那么就为以后的GUI程序设计提供了很好的对象功能测试在后续的GUI设计中,重要的⼯作仅仅是为某些对象提供视图界⾯,并处理相应的界⾯事件⽽已。
3.视图设计 设计GUI程序除了使⽤12节给出的类以外,需要使⽤ javax.swing包提供的视图(也称Java Swing架)以及处理视图上触发的界⾯事件。与1.3节中简单的测试相⽐,GUI程序可以提供更好的⽤户界⾯,完成1.1节提出的设计要求。
GUI部分设计的类如下(主要关的UNL图如图1.4所⽰) AmimalVicw类:其实例为动物提供外观显⽰ GamePanel类:其实例⽤于放置动物的外观,并组合负责处理界⾯事件的监视器 HandleAnimalMove类:其实例是⼀个监视器,该监视器负责处理 AnimalView视图,即动物视图上触发的 MouseEvent事件。当⽤户在动物视图上按下⿏标时该监视器让动物执⾏move()⽅法,松开⿏标时该监视器检查⽤户是否成功地将左右动物互换完毕 HandleRedo类:其实例是⼀个监视器,该监视器负责监视按钮上触发的 Actionevent事件,当⽤户单击按钮触发 Actionevent事件时,该监视器负责撤销⽤户移动动物的操作。
HandleReStart类:其实例是⼀个监视器,该监视器负责监视按钮上触发的 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类增加计时功能 ⑤ 为各个级别增加相应的“英雄榜”。
四、 实验结果及分析 初始界⾯:
游戏难度:
初级:
中级:
⾼级:
英雄榜:
更换图⽚:
实验结果分析 此部分要描述详细