基于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放置帮助信息文字。

(完整word版)java课程设计之贪吃蛇

(完整word版)java课程设计之贪吃蛇

目录一系统描述 (1)1.1 本设计的目的和意义 (1)1.2 设计的主要内容 (1)1.3 设计要达到的目标 (2)1.4设计需要实现的功能和目标 (2)1.5 游戏设计环境 (2)二分析与设计 (3)2.1游戏处理流程 (3)2.2需求分析 (4)2.3 功能模块设计 (4)2.4 详细设计 (8)三系统测试 (19)四心得体会 (21)五参考文献 (22)六附录 (24)基于Java的游戏“贪吃蛇”的设计和实现内容提要:“贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。

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

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

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

一系统描述1.1 本设计的目的和意义贪吃蛇游戏一款非常经典的手机游戏,因为它比较简单有趣,无论老少都比较适合。

贪吃蛇的设计对每一个Java语言设计者进行语言提高和进阶都是一个很好的锻炼机会。

贪吃蛇游戏的设计比较复杂,它涉及面广、牵涉方面多,如果不好好考虑和设计,将难以成功开发出这个游戏。

在这个游戏的设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用类的继承机制以及一些设计模式。

因此,如何设计和开发好这个贪吃蛇游戏,对于提高Java开发水平和系统的设计能力有极大的帮助。

在设计开发过程中,需要处理好各个类之间的继承关系,还要处理各个类相应的封装,并且还要协调好各个模块之间的逻辑依赖关系和数据通信关系。

正是因为如此,本次毕业设计的目的在于学习Java程序设计基本技术,学习用JBuilder开发Java程序的相关技术,熟悉游戏“贪吃蛇”的需求,熟悉项目开发的完整过程。

学会怎样进行一个项目的需求分析、概要设计、详细设计等软件开发过程,熟练地掌握Java程序设计的基本技术和方法,熟练地掌握JBuilder环境的使用方法,培养起初步的项目分析能力和程序设计能力。

贪吃蛇Java课程设计

贪吃蛇Java课程设计

目录1.设计任务与要求 (1)1.1设计任务 (1)1.2具体要求 (1)2.软件主要模块流程图 (2)3.总体方案与说明 (3)3.1总体方案 (3)3.2系统模块 (3)游戏界面设计 (3)贪吃蛇蛇身及运动设置 (5)游戏控制设置 (7)4.程序设计 (8)4.1GamePanel类 (8)类 (8)5.分析问题与解决方案 (9)5.1 问题处理 (9)6小结与体会 (10)参考文献(资料) (11)程序代码: (12)基于Java的游戏“贪吃蛇”的设计和实现内容提要:“贪吃蛇”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。

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

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

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

1.设计任务与要求1.1设计任务设计一个贪吃蛇的游戏功能要求:能够显示贪吃蛇的运动,能通过键盘控制贪吃蛇的运行,能够处理蛇在运行中各种情况,以及其它的辅助功能。

设计任务要完成设计、编码、测试等过程,给出设计思路、主要代码。

源代码以及可运行的贪吃蛇游戏。

1.2具体要求具体内容如下:1) 设计任务与要求2) 总体方案与说明3) 面向对象的设计(主要类的设计)4) 源程序清单与注释5) 软件主要模块流程图6) 问题分析与解决方案(包括调式记录、调式报告,即在调式过程中遇到的主要问题、解决方法及改进设想);7) 小结与体会2.软件主要模块流程图软件的主要模块流程如下图5-1所示图5—1 游戏处理流程3.总体方案与说明3.1总体方案我们设计的贪吃蛇主要利用键盘控制蛇的前进移动方向,是否吃到食物,是否撞墙以及是否暂停、开始游戏等。

当吃到食物的时候,蛇就自动长大一格,在游戏中可进行暂停和开始操作。

中途若是撞到墙或是撞到自己,同样也结束。

3.2系统模块根据总体方案,我把贪吃蛇游戏分为:游戏界面设置(即绘图)、贪吃蛇蛇身及运动与碰撞问题(食物、蛇身、石头)设置三大模块来设计。

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

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

课程设计任务书沈阳理工大学课程设计报告目录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块石头)。

java课程设计贪吃蛇

java课程设计贪吃蛇
-学习构造方法(constructor)的编写,创建蛇和食物对象;
-掌握对象数组的使用,管理蛇的身体部分;
-理解并实现游戏循环(Game Loop)的概念,保持游戏的持续运行和更新;
-引导学生探索游戏中的边界条件处理,如何避免蛇穿越墙壁和自身;
-通过游戏案例,加深对异常处理(try-catch)的认识,保证程序的健壮性。
-最后,通过课堂讨论和展示,让学生分享自己的游戏设计心得和解决问题的策略,促进知识的交流和内化。
-随机数(Random)的使用,生成食物在游戏区域内的随机位置;
-游戏逻辑的实现,包括蛇的长度ຫໍສະໝຸດ 加、得分计算以及游戏结束条件判断。
3、教学内容
-理解面向对象编程思想在游戏开发中的应用,如将蛇、食物和游戏界面抽象为类;
-实现类的封装,为学生介绍私有(private)成员变量和公共(public)方法的使用;
-分析并设计简单的用户交互界面,如开始按钮、暂停按钮和游戏结束提示;
-通过案例,让学生体验程序测试和调试的过程,学习如何寻找和修复程序中的错误;
-鼓励学生进行创新设计,如增加游戏难度、自定义蛇的颜色和速度等,提升编程兴趣和创造力。
5、教学内容
-强调编码规范和注释的重要性,培养学生良好的编程习惯;
-通过贪吃蛇游戏的开发,让学生了解软件开发的迭代过程,包括设计、实现、测试和优化;
-引导学生进行团队合作,分配不同的任务,如界面设计、逻辑开发、测试等,培养团队协作能力;
-介绍如何使用Java文档(Javadoc)为编写的方法和类生成文档,提高代码的可维护性;
-分析游戏中的可扩展性,如何设计代码以便于未来添加新功能,如增加障碍物、敌对生物等;
-讨论游戏的安全性和用户友好性,如何防止非法输入和提供清晰的错误提示;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

java贪吃蛇游戏课程设计

java贪吃蛇游戏课程设计

java贪吃蛇游戏课程设计一、课程目标知识目标:1. 学生能够理解Java基本语法结构,掌握面向对象编程的基本概念;2. 学生能够掌握Java中数组的使用,理解坐标在二维数组中的应用;3. 学生能够了解游戏循环、键盘事件处理等基本游戏编程概念。

技能目标:1. 学生能够运用所学知识,设计并实现一个简单的贪吃蛇游戏;2. 学生能够通过编写代码,实现蛇的移动、食物的生成和碰撞检测等功能;3. 学生能够掌握基本的编程调试技巧,解决游戏开发过程中遇到的问题。

情感态度价值观目标:1. 学生通过游戏编程,培养对编程的兴趣,提高逻辑思维能力和解决问题的能力;2. 学生在团队协作中,学会沟通与分享,增强团队意识和合作精神;3. 学生能够体验编程带来的成就感,树立自信心,激发进一步学习的动力。

课程性质:本课程为实践性较强的课程,结合Java编程知识,让学生动手实践,培养编程技能。

学生特点:学生已具备一定的Java编程基础,对游戏编程感兴趣,但可能缺乏实际编程经验。

教学要求:教师应引导学生掌握Java编程基础知识,注重实践操作,鼓励学生独立思考和团队协作,培养编程兴趣和解决问题的能力。

通过本课程的学习,使学生能够将所学知识应用于实际项目中,提高综合运用能力。

二、教学内容1. Java基本语法回顾:变量、数据类型、运算符、控制结构(条件语句、循环语句);2. 面向对象编程基础:类与对象、构造方法、成员变量、成员方法;3. 二维数组的使用:声明、初始化、访问;4. 游戏编程基础:游戏循环、键盘事件处理、碰撞检测;5. 贪吃蛇游戏设计:- 游戏窗口创建与设置;- 蛇的表示与移动;- 食物的随机生成;- 碰撞检测与游戏逻辑;6. 编程调试与优化:代码调试技巧、性能优化。

教学内容安排与进度:第一课时:回顾Java基本语法,介绍面向对象编程基础;第二课时:二维数组的使用,游戏编程基础;第三课时:贪吃蛇游戏设计(1)- 游戏窗口创建与设置;第四课时:贪吃蛇游戏设计(2)- 蛇的表示与移动;第五课时:贪吃蛇游戏设计(3)- 食物的随机生成与碰撞检测;第六课时:编程调试与优化,完成贪吃蛇游戏。

java跳跃小恐龙课程设计

java跳跃小恐龙课程设计

java跳跃小恐龙课程设计一、课程目标知识目标:1. 学生能理解Java编程语言中面向对象的基本概念,包括类、对象、方法和属性。

2. 学生能掌握运用Java编写简单的图形用户界面程序,实现游戏界面的设计。

3. 学生能了解并运用Java中的事件处理机制,实现游戏中的交互功能。

技能目标:1. 学生能够运用面向对象的思想,独立编写出一个具有基本功能的“跳跃小恐龙”游戏。

2. 学生通过实践操作,掌握使用Java语言处理简单游戏逻辑和动画效果。

3. 学生能够通过调试和修改代码,解决编程过程中遇到的问题,提高解决问题的能力。

情感态度价值观目标:1. 学生在编程过程中,培养良好的逻辑思维能力和创新精神。

2. 学生通过合作学习,培养团队协作精神和沟通能力。

3. 学生在完成游戏项目的过程中,体验编程的乐趣,激发对计算机科学的兴趣和热情。

课程性质:本课程为信息技术学科的一节实践操作课,旨在通过设计一个简单的“跳跃小恐龙”游戏,让学生将所学的Java编程知识运用到实际项目中。

学生特点:学生处于八年级阶段,对计算机编程有一定的基础,具备基本的Java编程知识,对游戏编程有较高的兴趣。

教学要求:课程要求学生在掌握Java基本语法的基础上,通过实践操作,运用面向对象的思想,独立完成一个简单的游戏项目。

教师需关注学生的学习过程,及时给予指导和反馈,提高学生的编程能力和解决问题的能力。

二、教学内容1. 面向对象编程基础:- 类与对象的概念- 方法和属性的声明与使用- 构造方法的定义与调用2. Java图形用户界面设计:- JFrame窗体创建与设置- 组件的添加与布局- 事件监听与处理机制3. 游戏编程逻辑:- 游戏场景的搭建与动画实现- 碰撞检测与事件处理- 游戏循环与控制流程4. 实践项目:“跳跃小恐龙”游戏开发:- 游戏需求分析- 类的设计与实现- 游戏逻辑编写与调试教学内容安排与进度:第一课时:面向对象编程基础,引入类与对象的概念,讲解方法和属性的使用。

基于java的贪吃蛇游戏设计课设

基于java的贪吃蛇游戏设计课设

成绩评定表课程设计任务书目录1.Java语言特点.................. 错误!未定义书签。

1.1Java简介.................. 错误!未定义书签。

1.2应用环境 (2)2.需求分析 (3)2.1游戏开发可行性 (3)2.2设计目的 (3)3.功能设计及源程序的主要部分. ... 错误!未定义书签。

3.1游戏流程图 (4)3.2功能的实现,类的实现及类层次 (5)4.游戏运行及分析 (16)4.1游戏运行结果 (16)4.2测试结果 (19)5.设计总结与体会 (19)5.1遇到的问题及解决办法 (19)5.2心得体会 (19)6.参考文献 (21)1.Java语言的特点1.1 Java简介Sun Microsystems公司在推出Java语言的同时,推出了一套开发工具JDK。

Sun提供的基于字符模式的Java开发工具包JDK: Java开发工具(JDK)是许多Java专家最初使用的开发环境。

Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。

Java源程序编写借助于记事本,Editpuls,UltraEdit等第三方编辑工具。

所有的Java文件编辑、编译、调试、解释运行都是通过使用字符命令来执行操作。

JDK由一个标准类库和一组建立,测试及建立文档的Java实用程序组成。

其核心JavaAPI是一些预定义的类库,开发人员需要用这些类来访问Java语言的功能。

JDK 是整个Java的核心,包括了Java运行环境(Java RuntimeEnvirnment),一堆Java工具和Java基础的类库(rt.jar)。

不论什么Java应用服务器实质都是内置了某个版本的JDK。

因此掌握JDK是学好Java的第一步。

JDK里面是java类库和java的语言规范,它提供的是无论你用何种开发软件写java程序都必须用到的类库和java语言规范.没有jdk,你的java程序根本就不能用。

疯狂贪吃蛇java实现课程设计报告

疯狂贪吃蛇java实现课程设计报告

)安阳工学院计算机科学与信息工程学院-JAVA程序设计课程综合项目报告项目题目:疯狂贪吃蛇专业班级:11计科信息潘强&学生姓名:学生学号:0005指导教师姓名:许研,2013年12月目录一、系统目标 (3)"二、系统设计思路 (3)三、系统详细设计 (4)四、系统实现 (8)五、系统设计总结 (14)六、参考文献 (15)《,&—疯狂贪吃蛇一、系统目标运用java技术开发出贪吃蛇游戏,这个程序是用一个小矩形表示蛇的一节身体,身体每长一节,增加一个矩形块。

移动时必须从蛇头开始,也就是蛇尾不能改作蛇头。

当游戏者按了方向键后,蛇头朝着指定的方向移动,一步移动一节身体。

图形的实现是从蛇头的新位置开始画出蛇。

用户可以用上下左右键控制蛇头的方向。

非常简单!可以实现如下功能:1. 贪吃蛇游戏是大家很常见的小游戏,在生活工作之余大家可以玩它,已达到放松各种压力的目的。

】2. 游戏可以进行升级,也就是增加吃食物的难度,以便使大家更有挑战性,不觉得太无趣。

3. 游戏界面大小可以任意指定,数据从文件读入。

4. 利用swing实现良好的GUI界面。

二、系统设计思路1. 贪吃蛇是很经典的格子游戏。

所谓格子游戏就是在设计游戏时的主要思想是每个设对象都是由格子组成,游戏运行界面也是由格子组成。

格子思想决定了此类游戏在设计时的算法思想。

2. 方向键控制一个方块的移动的方法,一个方块的移动是靠移动其坐标位置来实现的。

3. 方向键控制是上下左右对一个方块的控制,用四个判断语句实现。

4. 蛇的移动算法思想可以看成是第一个方块移动,第二个方块移到第一个方块的位置, 第三个方块移动到第二个方块的位置⋯⋯第N个方块移动到第N-1个方块的位置。

这样连续的移动就是蛇的移动了。

方向控制键控制了第一个方块的移动后,后面方块跟着移动 ,这样也实现了方向键控制对长蛇的移动。

?5. 食物的随机产生的方法食物的随机产生需要一个随机种子函数然后利用系统时间做为随机种子。

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

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

目录1. 软件主要功能 (2)2. 类总体设计 (2)2.1 类组合关系图 (2)2.2 系统流程图 (3)2.3 主类 (4)2.4 其他类 (4)2.4.1 Animal.java (4)2.4.2 Point.java (4)2.4.3 Stone.java (4)2.4.4 HandleMouse.java (4)2.4.5 AutoMoveAnimal.java (4)2.4.6 Customdlg.java (4)2.4.7 People.java (4)2.4.8 Record.java (4)2.4.9 ShowRecordDialog.java (4)3. 类详细设计 (4)3.1 主类 (4)3.2 其他类 (6)4. 关键成员函数代码 (7)5. 软件运行结果 (15)结论 (16)参考文献 (16)1. 软件主要功能采用java技术设计动物换位游戏软件,设计要求如下:(1)程序分为3个级别,用户可以通过界面上提供的菜单来选择“初级”、“中级”和“高级”这三个级别。

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

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

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

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

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

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

java课程设计实验报告样例

java课程设计实验报告样例

java课程设计实验报告样例分数_______嘉应学院计算机学院实验报告课程名称:面向对象程序设计课程设计(Java)实验名称:”动物换位”程序设计指导教师:肖振球实验地点:_居家学习_实验时间:2020.03.17提交时间:2020.03.17班级:_计算机1807_姓名:_方强_学号:181110325_一、实验目的和要求掌握动物换位游戏的基本操作。

二、实验环境、内容和方法实验环境:eclipse。

补充实验内容:设计GUI界面的动物换位游戏,游戏结果是让左、右两组动物交换位置。

具体要求如下①在水平排列的7个位置上左、右各有3个类型相同的动物,中间的位置上没有动物,左边动物将其右侧视为自己的前进方向,右边动物将其左侧视为自己的前进方向。

②单击一个动物,如果该动物的前方位置上没有动物,该动物就跳跃到该位置上,如果该动物的前方位置上有其他动物,但相隔一位的位置上没有其他动物,该动物就越过自己前面的动物跳跃至该隔位上,其他情形下该动物不能跳跃(跳跃时不能越过两个位置)。

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

④单击“撤销”按钮撤销上一次移动的动物,单击“重新开始”按钮可重新开始游戏。

程序运行的参考效果图如图1.1所示。

方法:按照MVC-ModelViewControl(模型,视图,控制器)的设计思想展开程序的设计和代码的编写。

数据模型部分相当于MVC中的Model角色,视图设计部分给出的界面部分相当于MVC中的View,视图设计部分给出的事件监视器相当于MVC中的Control。

三、实验过程描述1.数据模型:根据系统设计要求在数据模型部分编写了以下类Animal类:封装了左、右动物共同的属性和行为LeftAnimal类:Animal的子类,封装了左边动物的独特行为RightAnimal类:Animal的子类,封装了右边动物的独特行为Point类:刻画动物可以到达的位置。

ViewForAnimal类:封装制作动物视图的方法。

  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对象。

相关文档
最新文档