基于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 周:程序调试,编写课程设计报告,验收,答辩。

JAVA设计贪吃蛇游戏

JAVA设计贪吃蛇游戏

JAVA设计贪吃蛇游戏1.课程设计目的《JA VA程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。

实践教学环节是必不可少的一个重要环节。

本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JA VA程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。

2.设计方案论证2.1设计思路功能要求:1)有一条蛇,在屏幕上爬,用上下左右键控制吃豆子,吃得多了,到了一定积分,就能过关。

越吃越长,不能碰墙,不能咬自己的尾巴!2)需要设计的类有场地、蛇、豆类等。

2.2开发环境2.2.1硬件环境机房计算机一台2.2.2软件环境操作系统:Windows XP开发软件:ECLIPSE2.3概要设计2.3.1自定义类说明类名:snakegame作用:用来处理当蛇撞到墙或自己的身体时程序的运行继承的父类:jframe类实现的接口: keylistener2.4详细设计2.4.1程序概述本程序是一个利用Java应用软件制作的贪食蛇小游戏。

在游戏过程中,用户通过点击小键盘区的方向键来控制蛇的运行方向;当蛇没有吃到食物且碰到墙壁或自己的身体时游戏结束。

2.4.2程序流程图本次游戏设计的处理流程如图1所示。

进入游戏画面键盘操作:左移右移向下向上没有吃到食物且蛇碰到边界单击“确定”游戏结束图1 游戏处理流程图2.4.3 总设计模块的划分根据游戏需求中游戏所要实现的功能,整个游戏分为二个模块进行具体的设计,如图2所示。

3.设计结果与分析本程序在运行后,能够正常的相应按键事件。

游戏重新开始。

运行结果如下图4所示:贪吃蛇游戏游戏主界面模块游戏控制模块图2 游戏总设计模块图4 程序运行图当蛇没有吃到食物且碰到边界或碰撞到自己的身体时,游戏结束,此时得分为0。

java贪吃蛇课程设计

java贪吃蛇课程设计

java贪吃蛇课程设计1设计⽬的1.1背景近年来,Java作为⼀种新的编程语⾔,以其简单性、可移植性和平台⽆关性等优点,得到了⼴泛地应⽤,特别是Java与万维⽹的完美结合,使其成为⽹络编程和嵌⼊式编程领域的⾸选编程语⾔。

JBuilder是Borland公司⽤于快速开发Java应⽤的⼀款优秀的集成开发环境,它以其友好的开发界⾯、强⼤的组件⽀持等优点,得到⼴⼤程序员的接受和认可。

“贪吃蛇”游戏是⼀个经典的游戏,它因操作简单、娱乐性强⽽⼴受欢迎。

本⽂基于Java技术和JBuilder开发环境,开发了⼀个操作简单、界⾯美观、功能较齐全的“贪吃蛇”游戏。

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

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

本⽂在介绍Java相关技术和国内外发展现状的基础上,对“贪吃蛇”游戏的整个⽣命周期的各个开发阶段进⾏了详细地介绍。

⾸先,分析了开发本游戏软件的可⾏性,重点分析本设计所采⽤的技术的可⾏性。

其次,从游戏主界⾯等⼏⽅⾯,分析了本游戏的功能需求;从可使⽤性和安全性⽅⾯分析了属性需求。

然后,进⾏了游戏的概要设计和详细设计,这也是本⽂的重点。

概要设计给出⼆个功能模块的主框架以及六个类模块的函数调⽤关系;详细设计介绍了Java2标准运⾏环境的配置,重点给出各个类模块的程序流程图以及UML图,列表介绍了各个类包含的变量、使⽤的⽅法,展⽰了游戏的界⾯。

为了保证程序代码的正确性和功能实现的可靠性,本⽂还介绍了游戏软件的程序调试过程和功能测试结果。

1.2⽬标本软件是针对贪吃蛇⼩游戏的JAVA程序,利⽤⽅向键来改变蛇的运⾏⽅向,空格键暂停或继续游戏,并在随机的地⽅产⽣⾷物,吃到⾷物就变成新的蛇体,碰到壁或⾃⾝则游戏结束,否则正常运⾏。

2 总体设计2.1 设计思路本系统主要是完成贪吃蛇游戏的基本操作。

⽤户可以⾃⼰练习和娱乐。

本系统需要满⾜以下⼏点要求:(1) 利⽤⽅向键来改变蛇的运⾏⽅向。

毕业设计论文-基于Java的游戏设计贪吃蛇

毕业设计论文-基于Java的游戏设计贪吃蛇

毕业设计(论文)中文摘要1 绪论贪吃蛇是世界知名的益智类小游戏,选择这个题目一方面是为了将我们自己的所学知识加以运用;另一方面,我希望通过自己的所学知识把它剖析开来,通过自己的动手实践,真正的了解它的本质和精髓。

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

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

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

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

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

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

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

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

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

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

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

Java 的数据类型与机器无关。

1.1.3 安全性Java的编程类似C++,但舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针入侵系统。

它提供了安全管理器,防止程序的非法访问。

1.1.4 面向对象Java吸收了C++面向对象的概念,将数据封装于类中,实现了程序的简洁性和便于维护性,使程序代码可以只需一次编译就可反复利用。

1.1.5 分布式Java建立在TCP/IP网络平台上,提供了用HTTP和FTP协议传送和接收信息的库函数,使用其相关技术可以十分方便的构建分布式应用系统。

动物换位程序报告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课设

成绩评定表课程设计任务书目录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()方法时,虽然调用的是同一个方法,但实际执行的是不同类中重写的方法,表现出多态的效果。

双手贪吃蛇+Java程序设计+课程设计报告

双手贪吃蛇+Java程序设计+课程设计报告

课题名称:双手贪吃蛇摘要:“贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎,而“双手贪吃蛇”是基于经典的创新。

此程序基于Java技术,利用eclipse软件设计,开发了一个操作简单、界面简洁、功能较齐全的“双手贪吃蛇”游戏。

整个游戏程序由游戏界面设置(即绘图)、两条贪吃蛇运动和食物放置设置、提示框设置三大模块来设计,实现了游戏的开始和结束。

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

关键词:贪吃蛇;双手贪吃蛇;Java小游戏1 课题背景及意义“双手贪吃蛇”是经典游戏的一个小小创新,它的设计比较复杂,涉及面广、牵涉方面多,对于初学者来说是有一定难度的挑战。

在这个游戏设计中,涉及到图形界面的实现与更新、键盘监听、数组的使用与记录、多线程的应用,还应用到类的继承机制。

在设计开发过程中,需要处理好各个类之间的继承关系,协调好各个模块之间的逻辑依赖关系。

本次课程设计的目的在于学习Java程序设计基本技术,熟悉“双手贪吃蛇”的需求,熟悉项目开发的完整过程。

学会怎样进行一个项目的需求分析、概要设计、详细设计等开发过程,培养起初步的项目分析能力和程序设计能力。

2 需求分析(1)游戏主界面:游戏主界面框架包括游戏图形面板、游戏帮助信息区域。

(2)两条贪吃蛇运动:游戏开始时两条蛇有个初始速度,键盘的W、S、A、D控制黑蛇的运动方向,键盘的上下左右控制红蛇的运动方向。

(3)食物放置:游戏开始时,食物在游戏面板中随机出现,蛇吃到食物后,食物再次随机出现。

(4)蛇身增加:任意一条蛇吃到食物后,增加一个单位的蛇身。

(5)分数增加:分数初始值为0,任意一条蛇吃到一个食物,分数加10。

(6)游戏结束:任意一条蛇碰到游戏面板边界后,游戏结束。

(7)输入框、提示框显示:游戏结束后,弹出输入框输入玩家名称,确定后弹出游戏排行榜,再次确定后弹出玩家分数。

3 系统设计与实现(一)游戏主界面建立一个类Yard继承JFrame,建立三个ImageIcon(icon/icon1/icon2)分别放置黑蛇、红蛇和食物的图标,建立string2放置帮助信息文字。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计任务书成绩评定表目录1 课设软件主要功能 (1)2 类总体设计 (2)2.1 类组合关系图 (2)2.2 主类 (2)2.3 其他类 (2)3 类详细设计 (3)3.1 CHANGEANIMALWINDOW类 (3)3.2 ANIMAL类 (5)3.3 POINT类 (7)3.4 STONE类 (8)3.5 HANDLEMOUSE类 (9)3.6 AUTOMOVEANIMAL类 (10)4 关键类成员函数流程图及代码 (13)5 软件运行结果 (35)结论 (37)参考文献 (37)动物换位系统的设计1 课设软件主要功能程序分为不同的级别,左右各有动物,中间石头没有动物,将左右动物交换,不可后退。

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

不能持续玩的可以点自动演示,将自动完成游戏,可以帮助游戏者更好的了解系统的主体功能。

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

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

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

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

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

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

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

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

2 类总体设计2.1类组合关系图2.2主类ChangeAnimalWindow.java(主类)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 AutoMoveAnimalAutoMoveAnimal类所创建的对象使用算法完成动物的自动换位。

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)成员变量●amoutOfAnimal是int型数据,默认值是6。

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

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

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

●animal是Animal型数组,其长度为amoutOfAnimal。

●point是Point型数组,其长度为amoutOfAnimal+1。

●stone是Stone型数组,其长度为amoutOfAnimal+1。

●handleMouse是HandleMouse类创建的鼠标事件监视器,用来监视animal数组中Animal对象触发的鼠标事件。

●autoMoveAnimal是AutoMoveAnimal类创建的对话框。

通过该对话框可以实现程序自动将左右动物交换位置。

●bar是JMenuBar创建的菜单条,用来添加菜单。

bar被放置在窗口的顶部。

●menuGrade是JMenu创建的菜单,其名字为“选择级别”。

menuImage也是JMenu创建的菜单,其名字为“选择动物图像(JPG,GIF)”。

menuGrade和menuImage被添加到菜单条bar中。

●oneGradeItem、twoGradeItem、threeGradeItem是JMenuItem创建的菜单项,它们的名字依次为“初级”、“中级”、“高级”,这3个菜单项被添加到菜单项menuGrade中。

leftImage、rightImage和defaultImage也是JMenuItem创建的菜单项,其名字依次为“左面动物的图像”、“右面动物的图像”和“左右面动物的默认图像”,这三个菜单项被添加到菜单项menuImage中。

renew、quit和autoButton是JButton创建的按钮对象,名字依次为“重新开始”、“撤销”和“自动演示”。

renew、quit和autoButton都将当前窗口注册为自己的ActionEvent事件监视器。

2)方法●ChangeAnimalWindow()是构造方法,负责完成窗口的初始化。

●init()方法负责完成Animal、Stone和Point对象的创建。

●setAmoutOfAnimal(int)方法负责设置动物的个数,即amountOfAnimal的值。

●removeAnimalAndStone()方法负责从窗体中移掉动物和石头,即移掉Animal对象和Stone对象。

●needDoing()方法负责执行一些经常需要重复执行的代码。

●actionPerformed(ActionEvent)方法是ChangeAnimalWindow类实现的ActionListener接口中的方法。

ChangeAnimalWindow创建的窗口是oneGradeItem、twoGradeItem、threeGradeItem、custom、leftImage、rightImage、defaultImage等菜单项和renew、quit、autoButton按钮的ActionEvent事件监视器。

当用户选中某个菜单项或单击按钮时,窗口将执行actionPerformed(ActionEvent)方法进行相应的操作。

如果用户选中oneGradeItem、twoGradeItem、threeGradeItem和custom四个菜单项的某一项时,actionPerformed (ActionEvent)方法所执行的操作就是改变amountOfAnimal的值,并执行needDoing()方法,完成必要的初始化。

如果用户选中leftImage和rightImage菜单项的某一个时,actionPerformed(ActionEvent)方法所执行的操作就是改变leftImageFile和rightImageFile 的引用。

当用户单击renew按钮时,actionPerformed(ActionEvent)方法所进行的操作是保持当前的amountOfAnimal的值,并执行needDoing()方法,完成必要的初始化,当用户单击quit按钮时,actionPerformed(ActionEvent)方法所进行的操作是撤销当前“动物”的前一次跳跃。

当用户单击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类的主要成员变量和方法以及和ChangeAnimalWindow类之间组合关系的UML图,如图所示。

图3-2-2 Animal类的UML图以下是UML图中有关数据和方法的详细说明。

1)成员变量●point是Point型对象,用来确定Animal对象在窗口中的位置。

●isLeft是boolean型数据,用来确定Animal对象是否为“左”。

●tool是Toolkit对象,用来获得Image对象。

●leftImage和rightImage是File类型的对象,用来确定Animal对象上绘制的图像文件。

2)方法●Animal()是构造方法,负责完成Animal对象的初始化。

●Animal对象调用setLeftImage(File)方法可以设置leftImage文件对象。

●Animal对象调用setRightImage(File)方法可以设置rightImage文件对象。

●Animal对象调用setIsLeft(boolean)设置自己是否为“左”的动物,即设置isLeft属性的值。

●Animal对象调用getIsLeft()方法判断自己是否为“左”的动物,即返回isLeft属性的值。

●Animal对象调用setAtPoint(Point)方法设置自己所在的“点”,即设置属性point的对象引用。

●Animal对象调用getAtPoint()返回自己所在的“点”,即返回point对象的引用。

Animal对象调用paintComponent(Graphics)方法绘制图像,即绘制tool对象根据leftImage 或rightImage文件所创建的Image对象。

相关文档
最新文档