基于Java的动物换位游戏软件设计课程设计

上传人:大米 文档编号:473035170 上传时间:2022-11-04 格式:DOC 页数:40 大小:3.53MB
返回 下载 相关 举报
基于Java的动物换位游戏软件设计课程设计_第1页
第1页 / 共40页
基于Java的动物换位游戏软件设计课程设计_第2页
第2页 / 共40页
基于Java的动物换位游戏软件设计课程设计_第3页
第3页 / 共40页
基于Java的动物换位游戏软件设计课程设计_第4页
第4页 / 共40页
基于Java的动物换位游戏软件设计课程设计_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《基于Java的动物换位游戏软件设计课程设计》由会员分享,可在线阅读,更多相关《基于Java的动物换位游戏软件设计课程设计(40页珍藏版)》请在金锄头文库上搜索。

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

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

3、业负责人: 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 POINT类73.4 STONE类83.5 HANDLEMOUSE类93.6 AUTOMOVEANIMAL类104 关键类成员函数流程图及代码135 软件运行结果35结论37参考文献37 / 文档可自

4、由编辑打印动物换位系统的设计1 课设软件主要功能程序分为不同的级别,左右各有动物,中间石头没有动物,将左右动物交换,不可后退。用鼠标单击一个动物,如果该动物前方的石头上没有动物,该动物就跳跃到该石头上,如果该动物前方的石头上有动物,但隔位上的石头没有动物,该动物就越过自己前面的动物跃到石头上,其他情形时,该动物不能跳跃。不能持续玩的可以点自动演示,将自动完成游戏,可以帮助游戏者更好的了解系统的主体功能。设计GUI界面的动物换位游戏,游戏的结果是让左右两组动物交换位置。具体内容如下:1) 程序分为4个级别,用户可以通过界面上提供的菜单选择“初级”、“中级”、“高级”、“自定义”这4个级别。对于“

5、初级”级别,在水平排列的7块石头上的左右各有3个类型相同的动物,中间的石头上没有动物;对于“中级”级别,在水平排列的9块石头上的左右各有4个类型相同的动物,中间的石头上没有动物;对于“高级”级别,在水平排列的11块石头上的左右各有5个类型相同的动物,中间的石头上没有动物;对于“自定义”级别,用户可以输入自己想设置的一个动物数量(输入的数必须是偶数),在水平排列的N块石头上的左右各有(N-1)/2个类型相同的动物,中间的石头上没有动物。2) 用鼠标单击一个的动物,如果该动物前方的石头上没有动物,该动物就跳跃到该石头上,如果该动物前方的石头上有动物,但隔位上的石头没有动物,该动物就越过自己前面的动

6、物跃到石头上,其他情形时,该动物不能跳跃(跳跃时不能超过2块石头)。3) 左面的动物只能向右方跳跃,右面的动物只能向左方跳跃。4) 用户可以通过单击界面上提供的按钮,让程序自动完成动物换位。5) 可以随时单击界面上提供的按钮,重新开始当前的级别。6) 用户可以通过菜单选项,可以选择左、右动物的图像。 2 类总体设计2.1类组合关系图ChangeAnimalWindowAnimalHandleMouseAutoMoveAnimalJbuttonJmenuIteemCustomdlgFileShowRecordDialogPointStone2.2主类ChangeAnimalWindow.java

7、(主类)ChangeAnimalWindow类负责创建动物换位的主窗口,该类含有main方法,程序从该类开始执行。2.3其他类2.3.1 AnimalAnimal类是JPanel的一个子类,创建的对象是ChangeAnimalWindow类的重要成员之一,用来表示“动物”。2.3.2 PointPoint类负责创建确定位置的对象,使用Point对象,可以确定Animal以及Stone对象在窗体中的位置。2.3.3 StoneStone类是JButton的一个子类,创建的对象表示“石头”。2.3.4 HandleMouseHandleMouse类所创建的对象负责处理鼠标事件。2.3.5 Auto

8、MoveAnimalAutoMoveAnimal类所创建的对象使用算法完成动物的自动换位。3类详细设计3.1 ChangeAnimalWindow类1.效果图ChangeAnimalWindow创建的窗口效果如图所示:图3-1-1动物换位的主窗口2.UML图ChangeAnimalWindow类是javax.swing包中的JFrame的一个子类,并实现了ActionListener接口,标明该类的主要成员变量和方法的UML图如图所示。以下是UML图中有关数据和方法的详细说明。图3-1-2 ChangeAnimalWindow类的UML图3.以下是UML图中有关数据和方法的详细说明1)成员变量

9、l amoutOfAnimal是int型数据,默认值是6。amoutOfAnimal的值用来确定ChangeAnimalWindow窗体中“动物”的数目,即Animal对象的数目。l distance是int型数据,默认值是80。distance的值用来确定Point对象之间的距离,进而可以确定Animal之间,Stone之间的距离以及Animal和Stone对象外观的大小。l animal是Animal型数组,其长度为amoutOfAnimal。l point是Point型数组,其长度为amoutOfAnimal+1。l stone是Stone型数组,其长度为amoutOfAnimal+1。

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

11、deItem、threeGradeItem是JMenuItem创建的菜单项,它们的名字依次为“初级”、“中级”、“高级”,这3个菜单项被添加到菜单项menuGrade中。leftImage、rightImage和defaultImage也是JMenuItem创建的菜单项,其名字依次为“左面动物的图像”、“右面动物的图像”和“左右面动物的默认图像”,这三个菜单项被添加到菜单项menuImage中。renew、quit和autoButton是JButton创建的按钮对象,名字依次为“重新开始”、“撤销”和“自动演示”。renew、quit和autoButton都将当前窗口注册为自己的ActionE

12、vent事件监视器。2)方法l ChangeAnimalWindow()是构造方法,负责完成窗口的初始化。l init()方法负责完成Animal、Stone和Point对象的创建。l setAmoutOfAnimal(int)方法负责设置动物的个数,即amountOfAnimal的值。l removeAnimalAndStone()方法负责从窗体中移掉动物和石头,即移掉Animal对象和Stone对象。l needDoing()方法负责执行一些经常需要重复执行的代码。l actionPerformed(ActionEvent)方法是ChangeAnimalWindow类实现的ActionLi

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

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

15、法所进行的操作是撤销当前“动物”的前一次跳跃。当用户单击autoButton按钮时,actionPerformed(ActionEvent)方法所进行的操作是弹出autoMoveAnimal对话框,用户可以通过该对话框让程序显示动物换位过程。main(String)方法是程序运行的入口方法。3.2 Animal类1.效果图Animal创建的对象效果图如图所示: 图3-2-1动物的效果图2.UML图Animal类是javax.swing包中JPanel容器的一个子类,创建的对象是数组animal的单元中的对象。Animal型数组animal是ChangeAnimalWindow窗口的重要成员之一。标明Animal类的主要成员变量和方法以及和Cha

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 论文指导/设计

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号