收藏 分享(赏)

基于java的动物换位游戏软件设计课程设计.doc

上传人:无敌 文档编号:632864 上传时间:2018-04-15 格式:DOC 页数:40 大小:3.54MB
下载 相关 举报
基于java的动物换位游戏软件设计课程设计.doc_第1页
第1页 / 共40页
基于java的动物换位游戏软件设计课程设计.doc_第2页
第2页 / 共40页
基于java的动物换位游戏软件设计课程设计.doc_第3页
第3页 / 共40页
基于java的动物换位游戏软件设计课程设计.doc_第4页
第4页 / 共40页
基于java的动物换位游戏软件设计课程设计.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、沈阳理工大学课程设计报告课程设计任务书学 院 信息学院 专 业 电子信息工程学生姓名 班级学号课程设计题目 基于 Java 的动物换位游戏软件设计实践教学要求与任务:采用 java 技术设计动物换位游戏软件,设计要求如下:(1) 程序分为 3 个级别,用户可以通过界面上提供的菜单来选择“初级” 、 “中级”和“高级”这三个级别。对于“初级”级别,在水平排列的 7 块石头上的左右各有 3 个类型相同的动物,中间的石头上没有动物;对于“中级”级别,在水平排列的 9 块石头上的左右各有 4 个类型相同的动物,中间的石头上没有动物;对于“高级”级别,在水平排列的 11块石头上的左右各有 5 个类型相同

2、的动物,中间的石头上没有动物。(2) 用鼠标单击一个动物,如果该动物的前方的石头上没有动物,该动物就跳跃到该石头上,如果该动物前方的石头上有其他的动物,但隔位上的石头没有动物,该动物就越过自己前面的动物跳跃到石头上,其他情形时,该动物不跳跃(跳跃时不能超过 2 块石头) 。(3) 左面的动物只能向右方跳跃,右面的动物只能向左方跳跃。(4) 用户可以通过单击界面上提供的按钮,让程序自动完成动物换位。(5) 可以随时单击界面上提供的按钮,重新开始当前的级别。(6) 用户通过菜单选项,可以选择左、右动物的图像。工作计划与进度安排:第 18 周:布置课程设计任务,查阅资料,分组设计,程序调试。第 19

3、 周:程序调试,编写课程设计报告,验收,答辩。指导教师:2013 年 6 月 20日专业负责人:2013 年 6 月 20 日学院教学副院长:2013 年 6 月 20 日沈阳理工大学课程设计报告成绩评定表学生姓名 班级学号专 业 电子信息工程课程设计题目 基于 Java 的动物换位游戏软件设计评语 组长签字:成绩日期 2013 年 月 日沈阳理工大学课程设计报告目 录1 课设软件主要功能 .12 类总体设计 .22.1 类组合关系图 .22.2 主类 .22.3 其他类 .23 类详细设计 .33.1 CHANGEANIMALWINDOW 类 .33.2 ANIMAL 类 .53.3 POI

4、NT 类 .73.4 STONE 类 .83.5 HANDLEMOUSE 类 .93.6 AUTOMOVEANIMAL 类 .104 关键类成员函数流程图及代码 .135 软件运行结果 .35结论 .37参考文献 .37沈阳理工大学课程设计报告1动物换位系统的设计1 课设软件主要功能程序分为不同的级别,左右各有动物,中间石头没有动物,将左右动物交换,不可后退。用鼠标单击一个动物,如果该动物前方的石头上没有动物,该动物就跳跃到该石头上,如果该动物前方的石头上有动物,但隔位上的石头没有动物,该动物就越过自己前面的动物跃到石头上,其他情形时,该动物不能跳跃。不能持续玩的可以点自动演示,将自动完成游戏

5、,可以帮助游戏者更好的了解系统的主体功能。设计 GUI 界面的动物换位游戏,游戏的结果是让左右两组动物交换位置。具体内容如下:1) 程序分为 4 个级别,用户可以通过界面上提供的菜单选择“初级” 、 “中级” 、 “高级” 、 “自定义”这 4 个级别。对于“初级”级别,在水平排列的 7 块石头上的左右各有 3 个类型相同的动物,中间的石头上没有动物;对于“中级”级别,在水平排列的 9 块石头上的左右各有 4 个类型相同的动物,中间的石头上没有动物;对于“高级”级别,在水平排列的 11 块石头上的左右各有 5 个类型相同的动物,中间的石头上没有动物;对于“自定义”级别,用户可以输入自己想设置的

6、一个动物数量(输入的数必须是偶数) ,在水平排列的 N 块石头上的左右各有(N-1)/2个类型相同的动物,中间的石头上没有动物。2) 用鼠标单击一个的动物,如果该动物前方的石头上没有动物,该动物就跳跃到该石头上,如果该动物前方的石头上有动物,但隔位上的石头没有动物,该动物就越过自己前面的动物跃到石头上,其他情形时,该动物不能跳跃(跳跃时不能超过 2 块石头) 。3) 左面的动物只能向右方跳跃,右面的动物只能向左方跳跃。4) 用户可以通过单击界面上提供的按钮,让程序自动完成动物换位。5) 可以随时单击界面上提供的按钮,重新开始当前的级别。6) 用户可以通过菜单选项,可以选择左、右动物的图像。沈阳

7、理工大学课程设计报告22 类总体设计2.1类组合关系图2.2主类ChangeAnimalWindow.java(主类)ChangeAnimalWindow 类负责创建动物换位的主窗口,该类含有 main 方法,程序从该类开始执行。2.3 其他类2.3.1 AnimalAnimal 类是 JPanel 的一个子类,创建的对象是 ChangeAnimalWindow 类的重要成员之一,用来表示“动物” 。2.3.2 PointPoint 类负责创建确定位置的对象,使用 Point 对象,可以确定 Animal 以及 Stone 对象在窗体中的位置。ChangeAnimalWindowAnimal

8、HandleMouseAutoMoveAnimalJbutton JmenuIteemCustomdlgFile ShowRecordDialogPoint Stone沈阳理工大学课程设计报告32.3.3 StoneStone 类是 JButton 的一个子类,创建的对象表示“石头” 。2.3.4 HandleMouseHandleMouse 类所创建的对象负责处理鼠标事件。2.3.5 AutoMoveAnimalAutoMoveAnimal 类所创建的对象使用算法完成动物的自动换位。3类详细设计3.1 ChangeAnimalWindow 类1.效果图ChangeAnimalWindow 创

9、建的窗口效果如图所示:图 3-1-1 动物换位的主窗口2.UML 图ChangeAnimalWindow 类是 javax.swing 包中的 JFrame 的一个子类,并实现了 ActionListener接口,标明该类的主要成员变量和方法的 UML 图如图所示。以下是 UML 图中有关数据和方法的详细说明。沈阳理工大学课程设计报告4图 3-1-2 ChangeAnimalWindow 类的 UML 图3.以下是 UML 图中有关数据和方法的详细说明1)成员变量 amoutOfAnimal 是 int 型数据,默认值是 6。amoutOfAnimal 的值用来确定ChangeAnimalWi

10、ndow 窗体中“动物”的数目,即 Animal 对象的数目。 distance 是 int 型数据,默认值是 80。distance 的值用来确定 Point 对象之间的距离,进而可以确定 Animal 之间,Stone 之间的距离以及 Animal 和 Stone 对象外观的大小。 animal 是 Animal 型数组,其长度为 amoutOfAnimal。 point 是 Point 型数组,其长度为 amoutOfAnimal+1。 stone 是 Stone 型数组,其长度为 amoutOfAnimal+1。 handleMouse 是 HandleMouse 类创建的鼠标事件监视

11、器,用来监视 animal 数组中 Animal 对象触发的鼠标事件。 autoMoveAnimal 是 AutoMoveAnimal 类创建的对话框。通过该对话框可以实现程序自动将左右动物交换位置。 bar 是 JMenuBar 创建的菜单条,用来添加菜单。bar 被放置在窗口的顶部。 menuGrade 是 JMenu 创建的菜单,其名字为“选择级别” 。menuImage 也是 JMenu 创建的菜单,其名字为“选择动物图像(JPG,GIF) ”。menuGrade 和 menuImage 被添加到菜单条 bar 中。 oneGradeItem、twoGradeItem、threeGra

12、deItem 是 JMenuItem 创建的菜单项,它们的名字依次为“初级” 、 “中级” 、 “高级” ,这 3 个菜单项被添加到菜单项 menuGrade 中。leftImage、rightImage 和 defaultImage 也是 JMenuItem 创建的菜单项,其名字依次为“左面动物的图像” 、 “右面动物的图像”和“左右面动物的默认图像” ,这三个菜单项被添加到菜单项 menuImage 中。renew、quit 和 autoButton 是 JButton 创建的按钮对象,名字依次为“重新沈阳理工大学课程设计报告5开始” 、 “撤销”和“自动演示” 。renew、quit 和

13、 autoButton 都将当前窗口注册为自己的ActionEvent 事件监视器。2)方法 ChangeAnimalWindow()是构造方法,负责完成窗口的初始化。 init()方法负责完成 Animal、Stone 和 Point 对象的创建。 setAmoutOfAnimal(int)方法负责设置动物的个数,即 amountOfAnimal 的值。 removeAnimalAndStone()方法负责从窗体中移掉动物和石头,即移掉 Animal 对象和 Stone对象。 needDoing()方法负责执行一些经常需要重复执行的代码。 actionPerformed(ActionEven

14、t)方法是 ChangeAnimalWindow 类实现的 ActionListener 接口中的方法。ChangeAnimalWindow 创建的窗口是oneGradeItem、twoGradeItem、threeGradeItem、custom、leftImage、rightImage、defaultImage 等菜单项和 renew、quit、autoButton 按钮的 ActionEvent 事件监视器。当用户选中某个菜单项或单击按钮时,窗口将执行 actionPerformed(ActionEvent)方法进行相应的操作。如果用户选中 oneGradeItem、twoGradeIt

15、em、threeGradeItem 和 custom 四个菜单项的某一项时,actionPerformed(ActionEvent)方法所执行的操作就是改变 amountOfAnimal 的值,并执行 needDoing()方法,完成必要的初始化。如果用户选中 leftImage 和 rightImage 菜单项的某一个时,actionPerformed(ActionEvent)方法所执行的操作就是改变 leftImageFile和 rightImageFile 的引用。当用户单击 renew 按钮时,actionPerformed(ActionEvent)方法所进行的操作是保持当前的 amo

16、untOfAnimal 的值,并执行 needDoing()方法,完成必要的初始化,当用户单击 quit 按钮时,actionPerformed(ActionEvent)方法所进行的操作是撤销当前“动物”的前一次跳跃。当用户单击 autoButton 按钮时,actionPerformed(ActionEvent)方法所进行的操作是弹出 autoMoveAnimal 对话框,用户可以通过该对话框让程序显示动物换位过程。main(String)方法是程序运行的入口方法。3.2 Animal 类1.效果图Animal 创建的对象效果图如图所示:沈阳理工大学课程设计报告6图 3-2-1 动物的效果图

17、2.UML 图Animal 类是 javax.swing 包中 JPanel 容器的一个子类,创建的对象是数组 animal 的单元中的对象。Animal 型数组 animal 是 ChangeAnimalWindow 窗口的重要成员之一。标明 Animal 类的主要成员变量和方法以及和 ChangeAnimalWindow 类之间组合关系的 UML 图,如图所示。图 3-2-2 Animal 类的 UML 图以下是 UML 图中有关数据和方法的详细说明。1) 成员变量 point 是 Point 型对象,用来确定 Animal 对象在窗口中的位置。 isLeft 是 boolean 型数据,

18、用来确定 Animal 对象是否为“左” 。 tool 是 Toolkit 对象,用来获得 Image 对象。 leftImage 和 rightImage 是 File 类型的对象,用来确定 Animal 对象上绘制的图像文件。2) 方法 Animal()是构造方法,负责完成 Animal 对象的初始化。 Animal 对象调用 setLeftImage(File)方法可以设置 leftImage 文件对象。 Animal 对象调用 setRightImage(File)方法可以设置 rightImage 文件对象。 Animal 对象调用 setIsLeft(boolean)设置自己是否为

19、“左”的动物,即设置 isLeft 属性的值。 Animal 对象调用 getIsLeft()方法判断自己是否为“左”的动物,即返回 isLeft 属性的值。 Animal 对象调用 setAtPoint(Point)方法设置自己所在的“点” ,即设置属性 point 的对象引用。沈阳理工大学课程设计报告7 Animal 对象调用 getAtPoint()返回自己所在的“点” ,即返回 point 对象的引用。Animal 对象调用 paintComponent(Graphics)方法绘制图像,即绘制 tool 对象根据leftImage 或 rightImage 文件所创建的 Image 对

20、象。3.3 Point 类1.效果图Point 创建的对象,负责刻画 Animal 对象和 Stone 对象所在的位置,无可显示的效果图。2.UML 图Point 创建的对象含有两个重要 int 型数据,分别用来表示窗体坐标系中的 x 轴坐标和 y 轴坐标值,窗体坐标系的原点是窗体的左上角,向右是 x 轴的正向,向下是 y 轴的正向。Point 类创建的对象是数组 point 的单元中的对象。Point 型数组 point 是 ChangeAnimalWindow 窗口的重要成员之一,其单元中的 Point 对象用来确定 Animal 对象和 Stone 对象在窗体中的位置。标明 Point类

21、的主要成员变量和方法以及和 ChangeAnimalWindow 类之间的组合关系的 UML 图,如图所示。图 3-3-2 Point 类的 UML 图以下是 UML 图中有关数据和方法的详细说明。1) 成员变量 x 和 y 是 Point 对象中的两个 int 型数据,分别用来表示窗体坐标系中的 x 轴和 y 轴坐标值。 haveAnimal 是 boolean 数据,如果有 Animal 对象在该 Point 对象上时,该数据为 true;否则为 false。 animal 是 Animal 类声明的对象,用来存放一个 Animal 对象的引用,标明该 Animal 对象在当前 Point 对象上。2) 方法

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报