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

合集下载

动物换位游戏JAVA课设

动物换位游戏JAVA课设
5.类详细设计(画 UML 图)....................................6 6.关键类成员函数流程图及代码.........................7
6.1 总体流程图 .............................................7 6.2 程序代码...............................................8
2.设计要求
设计 GUI 界面的动物换位游戏,游戏的结果是让左右两组动物交换位置。具体内容如下: 程序分为 4 个级别,用户可以通过界面上提供的菜单选择“初级”、“中级”、“高级”、“自定义” 这 4 个级别。对于“初级”级别,在水平排列的 7 块石头上的左右各有 3 个类型相同的动物,中间 的石头上没有动物;对于“中级”级别,在水平排列的 9 块石头上的左右各有 4 个类型相同的动物, 中间的石头上没有动物;对于“高级”级别,在水平排列的 11 块石头上的左右各有 5 个类型相同的 动物,中间的石头上没有动物;对于“自定义”级别,用户可以输入自己想设置的一个动物数量(输 入的数必须是偶数),在水平排列的 N 块石头上的左右各有(N-1)/2 个类型相同的动物,中间的石头 上没有动物。
5.类详细设计(画 UML 图)
ChangeAnimalWindow 类是 javax.swing 包中的 JFrame 的一个子类,并实现了 ActionListener 接口,标明该类的主要成员变量和方法的 UML 图如图 5-1 所示。
以下是 UML 图中有关数据和方法的详细说明:
图 5-1 ChangeAnimaБайду номын сангаасWindow 类的 UML 图
工作计划与进度安排: 第 18 周:布置课程设计任务,查阅资料,分组设计,程序调试。 第 19 周:程序调试,编写课程设计报告,验收,答辩。

动物换位程序报告v2

动物换位程序报告v2

包头师范学院基于动物换位的java程序数学科学学院第二小组2_0 刘慧杰(44) 2_3 王福芹(27)2_1 张嘉欣(23) 2_4 赵星芳(43)2_2 秦凯(50) 2_5 石慧(03)2015.06.27目录一:摘要 (3)二:关键字 (3)三:任务分配 (3)四:系统功能介绍 (4)2 游戏程序规则说明: (4)2 自定义改进 (5)3 排行榜改进 (6)五:UML图 (6)六:模块功能说明及模块流程图 (7)1 程序流程图 (7)2 模块功能说明 (8)1 ChangeAnimalWindow.java(主类) (8)2 Animal.java (8)3 Point.java (8)4 Stone.java (8)5 HandleMouse.java (8)6 AutoMoveAnimal.java (8)7 Customdlg.java (8)8 People.java (9)9 Record.java (9)10 ShowRecordDialog.java (9)七:系统改进部分说明 (9)1.Customdlg.java (9)2 People.java (11)3 Record.java (12)4 ShowRecordDialog.java (14)八:总结 (17)九:参考文献 (17)十:附件清单 (18)一:摘要本实践报告主要是基于Java语言的程序设计,在Netbean平台上设计的“动物换位”小游戏。

本游戏主要的实现内容为让左右两边相同数量的动物利用中间一个空的石头,左边的动物要全部跳到右边的石头上,右边的动物要全部跳到左边的石头上。

由于本程序先期任课教师提供了一些最初的原代码,故本报告主要介绍的是之后的改进部分内容。

主要改进的内容有:1.自定义等级的增加;2.各等级排行榜的增加;基于对于以上的改进,程序增加了Customdlg.java、People.java、Record.java、ShowRecordDialog.java类,实现了以上功能。

毕业论文-基于java的贪吃蛇游戏设计[管理资料]

毕业论文-基于java的贪吃蛇游戏设计[管理资料]

毕业设计论文作者学号系部专业题目基于Java的贪吃蛇游戏设计指导教师评阅教师完成时间:毕业设计(论文)中文摘要毕业设计(论文)外文摘要目录1 绪论 (1)J AVA语言的特点 (1)开发工具E CLIPSE介绍 (2) (2)应用环境 (3)2 系统需求分析 (3)需求分析 (3)可行性分析 (3)3 系统概要设计 (4)游戏流程图 (4)设计目标 (5)系统功能模块 (5)系统数据结构设计 (7)4 系统详细设计 (10)程序设计 (10)贪吃蛇游戏各功能界面截图 (13)5 系统测试 (16)测试的意义 (16)测试过程 (16)测试结果 (17)结论 (18)致谢 (19)参考文献 (19)1 绪论贪吃蛇是世界知名的益智类小游戏,选择这个题目一方面是为了将我们自己的所学知识加以运用;另一方面,我希望通过自己的所学知识把它剖析开来,通过自己的动手实践,真正的了解它的本质和精髓。

希望通过这次实践,能从中提高自己的编程能力。

并从中学会从零开始分析设计程序,达到学以致用,活学活用的目的。

另外,通过本游戏的开发,达到学习Java技术和熟悉软件开发流程的目的。

本游戏的开发语言为Java,开发工具选用Eclipse。

Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。

这里采用Java作为开发语言主要是基于Java的面向对象和可移植性。

Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

Java语言的特点简单性Java与C++语言非常相近,但Java比C++简单,它抛弃了C++中的一些不是绝对必要的功能,如头文件、预处理文件、指针、结构、运算符重载、多重继承以及自动强迫同型。

Java 实现了自动的垃圾收集,简化了内存管理的工作。

平台无关性Java引进虚拟机原理,并运行于虚拟机,实现不同平台之间的Java接口。

java贪吃蛇游戏软件设计

java贪吃蛇游戏软件设计

佛山科学技术学院《可视化编程技术》课程设计报告贪吃蛇游戏软件设计学生姓名:林敏婷学号:2012914227年级专业:12级教育技术学2班指导老师:容汝佳学院:教育科学学院广东★佛山提交日期:2014年6月目录1. 前言 (2)2.概要设计 (3)2.1 开发环境 (3)2.2 贪吃蛇游戏功能 (3)2.3 界面设计 (4)2.4 类的框架结构图 (5)3. 详细设计 (8)3.1 使用的JAVA类的说明 (8)3.2 类的主要方法 (10)3.2.1 游戏结束功能 (10)3.2.2 游戏开始功能 (10)3.2.3游戏继续功能 (10)3.2.4 游戏暂停功能 (10)3.2.5 判断食物是否被蛇吃掉 (11)3.2.6 蛇在运行中所采取的措施 (11)3.2.7 设计总体认识 (12)3.2.8 程序流程图 (13)4. 运行结果 (14)5. 测试分析 (15)5.1 程序运行情况 (15)5.2 程序异常处理 (16)6. 源程序 (17)6.1 中央控制器 (17)6.2 食物的产生变化 (26)6.3地形的产生变化 (29)6.4 蛇的产生变化 (35)6.5 选项面板 (45)6.6 主界面 (51)6.7 游戏监听器 (59)6.8 蛇的监听器 (60)6.9 工具 (61)6.10 游戏显示页面 (65)参考文献 (67)设计总结 (67)摘要:“贪吃蛇”游戏是一个经典的游戏,本文基于Java技术和eclipse开发环境,设计了一个操作简单、界面美观、功能较齐全的“贪吃蛇”游戏。

其操作十分简单,使用人员能迅速掌握操作技巧并进行娱乐。

即时进行娱乐,享受游戏带来的乐趣,对提高人们的生活水平有一定的帮助。

整个游戏程序分为二个功能模块,八个类模块,实现了游戏的开始、暂停、结束。

可以进行不同游戏地图的选择,还可以对游戏中的背景、贪吃蛇、食物等进行不同颜色的设置,其中背景还可以设置显示指定颜色的网格。

用Java编写动物迷宫游戏

用Java编写动物迷宫游戏

用Java编写动物迷宫游戏分第一部分:游戏简介邮递员小白兔需要走迷宫送四封信选一幅迷宫图在这幅迷宫上有五个小房子,小兔子要把信送到五个小房子中另外还需要一个控制小兔子方向的遥控器,小兔子可以向东西南北四个方向移动算法:1、首先在迷宫上画出方格,在游戏中用变量fangge表示用方向箭头控制小白兔从一个方格移动到另一个方格上,一直到送完信为止其中每个方格可在游戏中画一个矩形框,可显示小白兔的位置,移动位置后先擦去原来画的矩形,然后画一个新的矩形,在每个方格上可显示出可以移动的方向,点示图中的方向键,可以移动到下一个方格的位置,现在我们要在每个方格里放一种动物,而且我们还要把这个迷宫的图片去掉,注意:我们用Java编写游戏,不是用VB编写游戏,我们这个游戏中没有任何图片,这是一个文字游戏。

方格编号动物名称可以移动的方向1 小熊猫1号向东走可到2号方格2 大象2号向东=7;向西=1;向南=33 鳄鱼东南西北4 大熊猫西南北5 梅花鹿南第一个送信的房子6 黑熊西北7 老虎东西8 狮子东9 花豹东西南10 骆驼东西南看到这么多的动物,很容易让人联想到动物园里的动物吧!游戏要求走完所有的方格,看完所有的动物就算打完这个游戏了!第二部分:编写动物迷宫游戏游戏变量(一共有三个全局变量):fangge设为整数值,代表以上表格中的方格编号还有四个枚举量,为东西南北,在代码中用NORTH SOUTH EAST WEST 表示Direction设为字符串,代表东西南北四个方向Exits(3) 代表一个数组,初始化为0,如果移动到一个新的方格,则Exits(Direction)的值为新的方格编号,如果值为零,则表示不可以朝这个方向移动这个游戏的名称为Migong,出现在代码public class中。

第三部分:游戏代码import java.util.Scanner;public class Migong {public static void main(String[] args) {Scanner in=new Scanner(System.in);System.out.println("-------动物迷宫游戏--------");System.out.println("请按方向行走 (1.东 2.西 3.南 4.北)");int person=in.nextInt();Int fangge=1int[] exits;exits=new int[4];exits[0]=0;exits[1]=0;exits[2]=0;exits[3]=0;int i;i=person-1;boolean a=exits[i]==0;boolean b=exits[i]!=0;if (a){System.out.println("你不能往这个方向走");}else{fangge=exits[i];}switch(fangge){case 1:exits[0]=2;exits[1]=0;exits[2]=0;exits[3]=0;System.out.println("你看到的是小熊猫,可以向东走");break;case 2:exits[0]=7;exits[1]=1;exits[2]=3;exits[3]=0;System.out.println("你看到的是大象,可以向东、向南、向西走"); break;case 3:exits[0]=4;exits[1]=8;exits[2]=2;exits[3]=10;System.out.println("你看到的是鳄鱼,可以向东、向西、向南、向北走");break;case 4:exits[0]=0;exits[1]=3;exits[2]=6;exits[3]=5;System.out.println("你看到的是大熊猫,可以向西、向南、向北走");break;case 5:exits[0]=0;exits[1]=0;exits[2]=4;exits[3]=0;System.out.println("你看到的是梅花鹿,可以向南走");break;case 6:exits[0]=0;exits[1]=9;exits[2]=0;exits[3]=4;System.out.println("你看到的是黑熊,可以向西、向北走");break;}}}注:本游戏代码只编写了前6个方格,为了简单一些,更容易看懂。

动物换位游戏java课设

动物换位游戏java课设

成绩评定表课程设计任务书目录1.设计目的 (4)2.设计内容 (4)3.课程软件主要功能 (4)4.类总体设计 (4)4.1类组合关系图 (5)4.2主类 (5)4.3其他类 (5)5.类详细设计(画UML图) (6)6.关键类成员函数流程图及代码 (7)6.1总体流程图 (7)6.2程序代码 (8)7.软件运行结果 (14)8.结论 (16)参考文献 (16)1.设计目的1.通过实验,使学生进一步加深面向对象的编程设计思想;2.训练掌握、加深理解并巩固《Java程序设计》课程中所学到的基本概念、编程思路;3.综合运用Java程序设计的编程方法,能够利用这些程序设计方法来解决工程和科研中常见的实际问题;4.培养分析解决问题的实际动手能力,进一步提高进行大型程序设计的能力。

2.设计要求设计GUI界面的动物换位游戏,游戏的结果是让左右两组动物交换位置。

具体内容如下:程序分为4个级别,用户可以通过界面上提供的菜单选择“初级”、“中级”、“高级”、“自定义”这4个级别。

对于“初级”级别,在水平排列的7块石头上的左右各有3个类型相同的动物,中间的石头上没有动物;对于“中级”级别,在水平排列的9块石头上的左右各有4个类型相同的动物,中间的石头上没有动物;对于“高级”级别,在水平排列的11块石头上的左右各有5个类型相同的动物,中间的石头上没有动物;对于“自定义”级别,用户可以输入自己想设置的一个动物数量(输入的数必须是偶数),在水平排列的N块石头上的左右各有(N-1)/2个类型相同的动物,中间的石头上没有动物。

3.课程软件主要功能程序分为不同的级别,左右各有动物,中间石头没有动物,将左右动物交换,不可后退。

用鼠标单击一个动物,如果该动物前方的石头上没有动物,该动物就跳跃到该石头上,如果该动物前方的石头上有动物,但隔位上的石头没有动物,该动物就越过自己前面的动物跃到石头上,其他情形时,该动物不能跳跃。

如果对游戏有疑问可以点击帮助,查看游戏规则。

java课程设计实验报告动物换位

java课程设计实验报告动物换位

实验主题:动物换位1. 实验目的1.1 掌握Java面向对象程序设计的基本思想和方法;1.2 学习使用Java语言编写程序并进行调试;1.3 加深对继承、多态等概念的理解。

2. 实验内容2.1 设计一个动物类Animal,包括属性:尊称、芳龄、性莂等,并包括方法:eat()、run()等;2.2 在Animal类的基础上,设计其他动物类,例如猫类Cat、狗类Dog,并且实现相关的方法;2.3 设计一个动物换位的场景类,对不同种类的动物进行换位操作,观察调用不同对象的同一方法时的效果。

3. 实验原理3.1 面向对象程序设计:将问题进行对象抽象,建立对象与对象之间的关系;3.2 继承关系:利用继承关系实现不同类之间的共性和特性;3.3 多态性:通过调用父类的引用指向子类对象,实现方法的动态绑定和多态的效果。

4. 实验步骤4.1 设计动物类Animal,包括属性和方法的声明;4.2 设计猫类Cat和狗类Dog,继承Animal类,并重写eat()和run()方法;4.3 设计动物换位的场景类AnimalSwap,创建不同种类的动物对象,并进行方法的调用。

5. 实验代码Animal类:```javaclass Animal {String name;int age;char sex;public Animal(String name, int age, char sex) { = name;this.age = age;this.sex = sex;}public void eat() {System.out.println(name + " is eating.");}public void run() {System.out.println(name + " is running."); }}```Cat类:```javaclass Cat extends Animal {public Cat(String name, int age, char sex) {super(name, age, sex);}Overridepublic void eat() {System.out.println(name + " is eating fish."); }Overridepublic void run() {System.out.println(name + " is jumping."); }}```Dog类:```javaclass Dog extends Animal {public Dog(String name, int age, char sex) {super(name, age, sex);}Overridepublic void eat() {System.out.println(name + " is eating bone."); }Overridepublic void run() {System.out.println(name + " is barking.");}}```AnimalSwap类:```javapublic class AnimalSwap {public static void m本人n(String[] args) { Animal cat = new Cat("Tom", 3, 'M'); Animal dog = new Dog("Mike", 5, 'F');cat.eat();dog.eat();cat.run();dog.run();}}```6. 实验结果运行AnimalSwap类,输出结果:```Tom is eating fish.Mike is eating bone.Tom is jumping.Mike is barking.```7. 实验分析通过实验可知,通过调用不同对象的eat()和run()方法时,虽然调用的是同一个方法,但实际执行的是不同类中重写的方法,表现出多态的效果。

动物换位[1]

动物换位[1]
学生姓名
课程设计说明书
NO.1
成绩评定表
王聿鹏
班级学号
1203030223
专 业 电子信息工 课程设计题目 基于 Java 的动物

换位游戏软件设计


组长签字:
成绩 日期
2013 年 月 日
沈阳大学
课程设计说明书
NO.2
课程设计任务书
学院 学生姓名 课程设计题目
信息学院
专业
电子信息工程
王聿鹏
班级学号 1203030223
单条 bar 中。 ·oneGradeItem、twoGradeItem 和 threeGradeItem 是 JmenuItem 创建的菜单项,
它们的名字依次为“初级”、“中级”和“高级”,这三个菜单项被添加到菜单项 menuGrade
中。LeftImage、rightImage 和 defaultImage 也是 JmenuItem 创建的菜单项,其名字
工作计划与进度安排: 第 18 周:布置课程设计任务,查阅资料,分组设计,程序调试。 第 19 周:程序调试,编写课程设计报告,验收,答辩。
指导教师:
专业负责人:
学院教学副院长:
2013 年 6 月 20 日 2013 年 6 月 20 日
2013 年 6 月 20 日
沈阳大学
课程设计说明书
NO.3
Animal Point Stone HandleMouse AutoMoveAnimal JmenuItem File Jbutton
2.2 系统功能描述
图 2.1 类之间的组合关系
2.2.1 ChangeAnimalWindow.java(主类)
ChangeAnimalWindow 类负责创建动物换位的主窗口,该类含有 main 方法, 程序从该类开始运行。ChangeAnimalWindow 类的成员变量中有五种重要类型的对象: Animal、Point、Stone、HandleMouse 和 AutoMoveAnimal 对象。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

毕业论文声明本人郑重声明:1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。

除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。

对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。

本人完全意识到本声明的法律结果由本人承担。

2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。

本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。

3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。

4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。

论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。

论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。

对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。

学位论文作者(签名):年月关于毕业论文使用授权的声明本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。

本人完全了解大学有关保存,使用毕业论文的规定。

同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。

本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。

如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。

本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。

本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据库和收录到《中国学位论文全文数据库》进行信息服务。

在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。

论文作者签名:日期:指导教师签名:日期:毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。

4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。

图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订教研室(或答辩小组)及教学系意见课程设计任务书目录1 课设软件主要功能 (1)2 类总体设计 (2)2.1 类组合关系图 (2)2.2 主类 (2)2.3 其他类 (2)3 类详细设计(画UML图),对类成员详细说明 (3)3.1 CHANGEANIMALWINDOW类(主类) (3)3.2 ANIMAL类 (5)3.3 POINT类 (6)3.4 STONE类 (7)3.5 HANDLEMOUSE类 (8)3.6 AUTOMOVEANIMAL类 (9)4 关键类成员函数流程图及代码(详细注释) (12)5 软件运行结果 (33)6 结论及参考文献 (35)动物换位系统的设计1.课设软件主要功能本学期开设了Java程序设计基础这门课程,学习中了解到它具有面向对象、与平台无关、安全、多线程等特点。

使用Java语言不仅可以实现大型企业级的分布式应用系统,还能够为小型的、嵌入式设备进行应用程序的开发。

面向对象的开发方法有利于软件的维护和继承。

为了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,锻炼熟练的应用面向对象的思想和设计方法解决实际问题的能力,进行了Java程序设计的课程设计。

此次课程设计的题目为简单的小游戏动物,通过做巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、JCreator等开发工具的运用,拓宽常用类库的应用。

使我们通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。

设计GUI界面的动物换位游戏,游戏的结果是让左右两组动物交换位置,具体要求如下:(1)程序分为3个级别,用户可以通过界面上提供的菜单来选择“初级”、“中级”和“高级”这3个级别。

对于“初级”级别,在水平排列的7块石头上左右各有3个类型相同的动物,中间的石头上没有动物;对于“中级”级别,在水平排列的9块石头上的左右各有4个类型相同的动物,中间的石头上没有动物;对于“高级”级别,在水平排列的11块石头上左右各有5个类型相同的动物,中间的石头上没有动物。

(2)用鼠标单击一个动物,如果该动物前方的石头上没有动物,该动物就跳跃到该石头上,如果该动物前方的石头上有其他动物,但隔位上的石头没有动物,该动物就跳跃到该石头上,其他情形时,该动物不跳跃(跳跃时不能越过两块石头)。

(3)左面的动物只能向右方跳跃,右面的动物只能向左方跳跃。

(4)用户可以通过界面上提供的单击按钮,让程序自动完成动物换位。

(5)可以随时单击界面上提供的按钮,重新开始当前的级别。

(6)用户通过菜单选项,可以选择左、右动物的图像。

在设计动物换位时,需要编写6个Java源文件:ChangeAnimalWindow.java、Point.java、Animal.java、Stone.java、HandleMouse.java和AutoMoveAnimal.java。

动物换位除了需要编写的上述6个Java源文件所给出的类外,还需要Java系统提供的一些重要的类,如JmenuItem、File和Jbutton类。

动物换位所用到的一些重要的类以及之间的组合关系如图2.1所示。

2类总体设计2.1类组合关系图图2.1 类之间的组合关系2.2主类ChangeAnimalWindow.javaChangeAnimalWindow类负责创建动物换位的主窗口,该类含有main方法,程序从该类开始运行。

ChangeAnimalWindow类的成员变量中有五种重要类型的对象:Animal、Point、Stone、HandleMouse和AutoMoveAnimal对象。

2.3其他类2.3.1 Animal.javaAnimal类是JPanel的一个子类,创建的对象是1 ChangeAnimalWindow类的重要成员之一,用来表示“动物”。

2.3.2 Point.javaPoint.java类负责创建确定位置的对象,是Point对象,可以确定Animal以及Stone对象在窗体中的位置。

2.3.3 Stone.javaStone类是Jbutton的一个子类,创建的对象表示“石头”。

2.3.4 HandleMouse.javaHandleMouse类所创建调度对象负责处理鼠标事件。

2.3.5 AutoMoveAnimalA utoMoveAnimal类所创建的对象使用算法完成动物的自动换位。

3 类详细设计(画UML图),对类成员详细说明3.1 ChangeAnimalWindow类ChangeAnimalWindow类是javax.swing包中Jframe的一个子类,并实现了ActionListener 接口,标明该类的主要成员变量和方法的UML图如图3.1所示。

图3.1 ChangeAnimalWindow类的UML图以下是UML图中关于数据和方法的详细说明。

(1) 成员变量·amountOfAnimal 是int型数据,默认值是6。

amountOfAnimal的值用来确定ChangeAnimalWindow窗体中“动物”的数目,即Animal对象的数目。

·distance是int型数据,默认值是80。

Distance的值用来确定Point对象之间的距离,进而可以确定Animal之间,Stone之间的距离以及Animal和Stone对象外观的大小。

相关文档
最新文档