《动物换位游戏java课设》由会员分享,可在线阅读,更多相关《动物换位游戏java课设(17页珍藏版)》请在金锄头文库上搜索。
1、成 绩 评 定 表学生姓名班级学号 专 业课程设计题目基于Java的动物换位游戏软件设计评语组长签字:成绩日期 2013 年 月 日课程设计任务书学 院信息学院专 业学生姓名班级学号 课程设计题目基于Java的动物换位游戏软件设计实践教学要求与任务:采用java技术设计动物换位游戏软件,设计要求如下:(1) 程序分为3个级别,用户可以通过界面上提供的菜单来选择“初级”、“中级”和“高级”这三个级别。对于“初级”级别,在水平排列的7块石头上的左右各有3个类型相同的动物,中间的石头上没有动物;对于“中级”级别,在水平排列的9块石头上的左右各有4个类型相同的动物,中间的石头上没有动物;对于“高级”级
2、别,在水平排列的11块石头上的左右各有5个类型相同的动物,中间的石头上没有动物。(2) 用鼠标单击一个动物,如果该动物的前方的石头上没有动物,该动物就跳跃到该石头上,如果该动物前方的石头上有其他的动物,但隔位上的石头没有动物,该动物就越过自己前面的动物跳跃到石头上,其他情形时,该动物不跳跃(跳跃时不能超过2块石头)。(3) 左面的动物只能向右方跳跃,右面的动物只能向左方跳跃。(4) 用户可以通过单击界面上提供的按钮,让程序自动完成动物换位。(5) 可以随时单击界面上提供的按钮,重新开始当前的级别。(6) 用户通过菜单选项,可以选择左、右动物的图像。工作计划与进度安排: 第18周:布置课程设计任
3、务,查阅资料,分组设计,程序调试。 第19周:程序调试,编写课程设计报告,验收,答辩。指导教师: 2013年 6月20日专业负责人: 2013年 6月20日学院教学副院长: 2013年 6月20日 目录1.设计目的.42.设计内容.43.课程软件主要功能.44.类总体设计.44.1类组合关系图.54.2主类.54.3其他类.55.类详细设计(画UML图).66.关键类成员函数流程图及代码.7 6.1总体流程图 .7 6.2程序代码.87.软件运行结果.14 8.结论.16参考文献.161.设计目的 1.通过实验,使学生进一步加深面向对象的编程设计思想; 2.训练掌握、加深理解并巩固Java程序
4、设计课程中所学到的基本概念、编程思路; 3.综合运用Java程序设计的编程方法,能够利用这些程序设计方法来解决工程和科研中常见的实际问题; 4.培养分析解决问题的实际动手能力,进一步提高进行大型程序设计的能力。2.设计要求 设计GUI界面的动物换位游戏,游戏的结果是让左右两组动物交换位置。具体内容如下:程序分为4个级别,用户可以通过界面上提供的菜单选择“初级”、“中级”、“高级”、“自定义”这4个级别。对于“初级”级别,在水平排列的7块石头上的左右各有3个类型相同的动物,中间的石头上没有动物;对于“中级”级别,在水平排列的9块石头上的左右各有4个类型相同的动物,中间的石头上没有动物;对于“高级
5、”级别,在水平排列的11块石头上的左右各有5个类型相同的动物,中间的石头上没有动物;对于“自定义”级别,用户可以输入自己想设置的一个动物数量(输入的数必须是偶数),在水平排列的N块石头上的左右各有(N-1)/2个类型相同的动物,中间的石头上没有动物。3.课程软件主要功能 程序分为不同的级别,左右各有动物,中间石头没有动物,将左右动物交换,不可后退。用鼠标单击一个动物,如果该动物前方的石头上没有动物,该动物就跳跃到该石头上,如果该动物前方的石头上有动物,但隔位上的石头没有动物,该动物就越过自己前面的动物跃到石头上,其他情形时,该动物不能跳跃。如果对游戏有疑问可以点击帮助,查看游戏规则。不能持续玩
6、的可以点自动演示,将自动完成游戏,可以帮助游戏者更好的了解系统的主体功能4.类总体设计设计动物换位时需要编写10个Java源文件:ChangeAnimalWindow.java、Point.java、Animal.java、Stone.java、HandleMouse.java、AutoMoveAnimal.java、People.java、Record.java、ShowRecordDialog.java和Customdlg.java。动物换位除了需要编写上述10个Java源文件所给出的类外,还需要Java系统提供的一些重要的类,如:JmenuItem、File和Jbutton类等。动物换位
7、所用到的一些重要的类以及之间组合关系如图4-1所示。 4.1类组合关系图以下是10个Java源文件的总体设计:图4-1 类之间的组合关系 4.2主类 ChangeAnimalWindow.javaChangeAnimalWindow类负责创建动物换位的主窗口,该类含有main方法,程序从该类开始执行。 4.3其他类Animal.javaAnimal类是JPanel的一个子类,创建的对象是ChangeAnimalWindow类的重要成员之一,用来表示“动物”。Point.java Point类负责创建确定位置的对象,使用Point对象,可以确定Animal以及Stone对象在窗体中的位置。Sto
8、ne.javaStone类是JButton的一个子类,创建的对象表示“石头”。HandleMouse.javaHandleMouse类所创建的对象负责处理鼠标事件。AutoMoveAnimal.javaAutoMoveAnimal类所创建的对象使用算法完成动物的自动换位。Customdlg.javaCustomdlg类所创建的对象用来设置“自定义”级别的动物数量。People.javaPeople对象封装用户的名字和成绩,以便ShowRecordDialog对象可以排序。Record.java Record类是javax.swing包中JDialog对话框的子类,当用户成功完成相应级别的游戏时
9、,Record创建的对象负责保存用户的名字和成绩到相应的级别文件中。ShowRecordDialog.javaShowRecordDialog类是javax.swing包中JDialog对话框的子类,当用户单击查看相应的级别排行榜时,ShowRecordDialog创建的对象负责显示用户的成绩。5.类详细设计(画UML图)ChangeAnimalWindow类是javax.swing包中的JFrame的一个子类,并实现了ActionListener接口,标明该类的主要成员变量和方法的UML图如图5-1所示。以下是UML图中有关数据和方法的详细说明:图5-1 ChangeAnimalWindow
10、类的UML图6.关键类成员函数流程图及代码 6.1总体流程图 图6-1 总体流程图 6.2程序代码import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.util.ArrayList;import java.io.*;import javax.swing.filechooser.*;public class ChangeAnimalWindow extends JFrame implements ActionListener int amountOfAnimal=6; int distance=80;
11、 Animal animal; Point point; Stone stone; HandleMouse handleMouse; AutoMoveAnimal autoMoveAnimal; File leftImageFile,rightImageFile; JButton renew,quit,autoButton=null; JMenuBar bar; JMenu menuGrade,menuImage; JMenuItem oneGradeItem,twoGradeItem,threeGradeItem; JMenuItem leftIamge,rightIamge,default
12、Image; JPanel pCenter; ChangeAnimalWindow() pCenter=new JPanel(); pCenter.setBackground(Color.lightGray); pCenter.setLayout(null); handleMouse=new HandleMouse(); autoMoveAnimal=new AutoMoveAnimal(); leftImageFile=new File(dog.jpg); rightImageFile=new File(cat.jpg); init(); bar=new JMenuBar(); menuGrade=new JMenu(选择级别); menuImage=new JMenu(选择动物图像(JPG,GIF); oneGradeItem=new JMenuItem(初级); twoGradeItem=new JMenuItem(中级); threeGradeItem=new JMenuItem(高级);