ImageVerifierCode 换一换
格式:DOCX , 页数:66 ,大小:384.04KB ,
资源ID:4594496      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4594496.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于Java的动物换位游戏软件设计.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

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

1、基于Java的动物换位游戏软件设计毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权

2、保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意

3、学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名: 日期: 年 月 日导师签名: 日期: 年 月 日注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)

4、正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外

5、文译文、译文原文(复印件)次序装订指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中

6、 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论文(设计)的理论意义或

7、对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位: (盖章)年 月 日教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否

8、符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日课程设计任务书学 院信息学院专 业电子信息工程学生姓名班级学号课程设计题目基于Java的动物换位游戏软件设计实践教学要求与任

9、务:采用java技术设计动物换位游戏软件,设计要求如下:(1) 程序分为3个级别,用户可以通过界面上提供的菜单来选择“初级”、“中级”和“高级”这三个级别。对于“初级”级别,在水平排列的7块石头上的左右各有3个类型相同的动物,中间的石头上没有动物;对于“中级”级别,在水平排列的9块石头上的左右各有4个类型相同的动物,中间的石头上没有动物;对于“高级”级别,在水平排列的11块石头上的左右各有5个类型相同的动物,中间的石头上没有动物。(2) 用鼠标单击一个动物,如果该动物的前方的石头上没有动物,该动物就跳跃到该石头上,如果该动物前方的石头上有其他的动物,但隔位上的石头没有动物,该动物就越过自己前面

10、的动物跳跃到石头上,其他情形时,该动物不跳跃(跳跃时不能超过2块石头)。(3) 左面的动物只能向右方跳跃,右面的动物只能向左方跳跃。(4) 用户可以通过单击界面上提供的按钮,让程序自动完成动物换位。(5) 可以随时单击界面上提供的按钮,重新开始当前的级别。(6) 用户通过菜单选项,可以选择左、右动物的图像。工作计划与进度安排: 第18周:布置课程设计任务,查阅资料,分组设计,程序调试。 第19周:程序调试,编写课程设计报告,验收,答辩。指导教师: 2013年 6月20日专业负责人: 2013年 6月20日学院教学副院长: 2013年 6月20日目 录1 课设软件主要功能 12 类总体设计 22

11、.1 类组合关系图 22.2 主类 22.3 其他类 23 类详细设计(画UML图),对类成员详细说明 33.1 CHANGEANIMALWINDOW类(主类) 33.2 ANIMAL类 53.3 POINT类 63.4 STONE类 73.5 HANDLEMOUSE类 83.6 AUTOMOVEANIMAL类 94 关键类成员函数流程图及代码(详细注释) 125 软件运行结果 336 结论及参考文献 35动物换位系统的设计1.课设软件主要功能本学期开设了Java程序设计基础这门课程,学习中了解到它具有面向对象、与平台无关、安全、多线程 等特点。使用Java语言不仅可以实现大型企业级的分布式应

12、用系统,还能够为小型的、嵌入 式设备进行应用程序的开发。面向对象的开发方法有利于软件的维护和继承。为了进一步巩固课堂上所学到的知识,深刻把握Java语言的重要概念及其面向对象的特性,锻炼熟练的应用面向对象的思想和设计方法解决实际问题的能力, 进行了Java程序设计的课程设计。此次课程设计的题目为简单的小游戏动物,通过做巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、JCreator等开发工具的运用,拓宽常用类库的应用。使我们通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。设计

13、GUI界面的动物换位游戏,游戏的结果是让左右两组动物交换位置,具体要求如下:(1)程序分为3个级别,用户可以通过界面上提供的菜单来选择“初级”、“中级”和“高级”这3个级别。对于“初级”级别,在水平排列的7块石头上左右各有3个类型相同的动物,中间的石头上没有动物;对于“中级”级别,在水平排列的9块石头上的左右各有4个类型相同的动物,中间的石头上没有动物;对于“高级”级别,在水平排列的11块石头上左右各有5个类型相同的动物,中间的石头上没有动物。(2)用鼠标单击一个动物,如果该动物前方的石头上没有动物,该动物就跳跃到该石头上,如果该动物前方的石头上有其他动物,但隔位上的石头没有动物,该动物就跳跃

14、到该石头上,其他情形时,该动物不跳跃(跳跃时不能越过两块石头)。(3)左面的动物只能向右方跳跃,右面的动物只能向左方跳跃。(4)用户可以通过界面上提供的单击按钮,让程序自动完成动物换位。(5)可以随时单击界面上提供的按钮,重新开始当前的级别。(6)用户通过菜单选项,可以选择左、右动物的图像。在设计动物换位时,需要编写6个Java源文件:ChangeAnimalWindow.java、Point.java、Animal.java、Stone.java、HandleMouse.java和AutoMoveAnimal.java。动物换位除了需要编写的上述6个Java源文件所给出的类外,还需要Java

15、系统提供的一些重要的类,如JmenuItem、File和Jbutton类。动物换位所用到的一些重要的类以及之间的组合关系如图2.1所示。2类总体设计2.1类组合关系图图2.1 类之间的组合关系2.2主类 ChangeAnimalWindow.java ChangeAnimalWindow类负责创建动物换位的主窗口,该类含有main方法,程序从该类开始运行。ChangeAnimalWindow类的成员变量中有五种重要类型的对象:Animal、Point、Stone、HandleMouse和AutoMoveAnimal对象。2.3其他类2.3.1 Animal.javaAnimal类是JPanel

16、的一个子类,创建的对象是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 AutoMoveAnimalAutoMoveAnimal类所创建的对象使用算法完成动物的自动换位。3 类详细设计(画UML图),对类成员详细说

17、明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的值用

18、来确定Point对象之间的距离,进而可以确定Animal之间,Stone之间的距离以及Animal和Stone对象外观的大小。animal是Animal型数组,其长度为amountOfAnimal。point是Point型数组,其长度为amountOfAnimal+1。stone是Stone型数组,其长度为amountOfAnimal+1。handleMouse是HandleMouse类创建的鼠标事件监听器,用来监视animal数组中Animal对象触发的鼠标事件。autoMoveAnimal是AutoMoveAnimal类创建的对话框。通过该对话框可以实现程序自动将左右动物交换位置。bar是

19、JmenuBar创建的菜单条,用来添加菜单。Bar被放置在窗口的顶部。menuGrade是Jmenu创建的菜单,其名字为“选择级别”。menuImage被添加到菜单条bar中。oneGradeItem、twoGradeItem和threeGradeItem是JmenuItem创建的菜单项,它们的名字依次为“初级”、“中级”和“高级”,这三个菜单项被添加到菜单项menuGrade中。LeftImage、rightImage和defaultImage也是JmenuItem创建的菜单项,其名字依次为“左面动物的图像”、“ 右面动物的图像”和“左面动物的默认图像”,这三个菜单项被添加到菜单项 menu

20、Image中。oneGradeItem、twoGradeItem和threeGradeItem以及 leftImage、rightImage和defaultImage都将当前窗口注册为自己的ActionEvent事件监视器。(2)方法ChangeAnimalWindow()是构造方法,负责完成窗口的初始化。init()方法负责完成Animal、Point和Stone对象的创建。setAmountOfAnimal(int)方法负责设置动物的个数,即amountOfAnimal的值。removeAnimalAndStone()方法负责从窗体中移掉动物和石头,即移掉Animal对象和Stone对象。

21、needDoing()方法负责执行一些经常需要重复执行的代码。actionPerformed(ActionEvent)方法是ChangeAnimalWindow类实现的ActionListener接口中的方法。ChangeAnimalWindow创建的窗口是oneGradeItem、twoGradeItem、threeGradeItem、 LeftImage、rightImage、defaultImage菜单项和renew、quit、autoButton按钮的ActionEvent事件监视器。当用户选中某个菜单项或单击按钮时,窗口将执行actionPerformed(ActionEvent)方

22、法进行相应的操作。如果用户选中oneGradeItem、twoGradeItem和threeGradeItem三个菜单的某一项时actionPerformed(ActionEvent)方法做执行的操作就是改变amountOfAnimal的值,并执行needDoing()方法,完成必要的初始化。如果用户选中leftImage、rightImage的某一项时actionPerformed(ActionEvent)方法做执行的操作就是改变leftImageFile和rightImageFile的引用。当用户单击renew按钮时,actionPerformed(ActionEvent)方法的操作是保持

23、当前的amountOfAnimal的值,并执行needDoing()方法,完成必要的初始化,当用户单击quit按钮时,actionPerformed(ActionEvent)方法的操作是弹出autoMoveAnimal对话框,用户可以通过该对话框让程序显示动物换位过程。main(String)方法是程序运行的入口方法。3.2 Animal类Animal类是javax.swing包中Jpanel容器的一个子类,创建的对象是数组animal的单元中的对象。Animal型数组是ChangeAnimalWindow窗口的重要成员之一。标明Animal类的主要成员变量和方法以及和ChangeAnimal

24、Window类之间组合关系的UML图如图3.2所示。图3.2 Animal类的UML图以下是UML图中关于数据和方法的详细说明。(1)成员变量point是Point型对象,用来确定Animal对象在窗口中的位置。isLeft是boolean型数据,用来确定Animal对象是否为“左”。tool是Toolkit对象,用来获得Image对象。leftImage和rightImage是File类型的对象,用来确定Animal对象上绘制的图像文件。(2)方法Animal()是构造方法,负责完成Animal对象的初始化。Animal对象调用setLeftImage(File)方法可以设置leftImag

25、e文件对象。Animal对象调用setRightImage(File)方法可以设置rightImage文件对象。Animal对象调用setIsLeft(boolean)设置自己是否为“左”的动物,即设置isLeft属性的值。Animal对象调用getIsLeft()方法判断自己是否为“左”的动物,即返回isLeft属性的值。Animal对象调用setAtPoint(Point)方法设置自己所在的“点”,即设置属性point的对象引用。Animal对象调用getAtPoint()返回自己所在的“点”,即返回point对象的引用。Animal对象调用paintComponent(Graphics)

26、方法绘制图像,即绘制tool对象根据leftImage或rightImage文件所创建的Image对象。3.3 Point类Point创建的对象,负责刻画Animal对象和Stone对象所在的位置,无可显示的效果图。Point创建的对象含有两个重要int型数据,分别用来表示窗体坐标系中的X轴坐标和Y轴坐标值,窗体坐标系的原点是窗体的左上角,向右是X轴正方向,向下时Y轴正方向。Point类创建的对象是数组point的单元中的对象。Point型数组point是ChangeAnimalWindow窗口的重要成员之一,其单元中的Point对象用来确定Animal对象和Stone对象在窗体中的位置。标明

27、Point类的主要成员变量和方法以及和ChangeAnimalWindow类之间的组合关系的UML图如图3.3所示。图3.3Point类的UML图以下是UML图中关于数据和方法的详细说明。(1)成员变量x和y是Point对象中的两个int型数据,分别用来表示窗体坐标系中的x轴坐标和y轴坐标值。haveAnimal是boolean型数据,如果有Animal对象在该Point对象上时,该数据为true,否则为false。animal是Animal类声明的对象,用来存放一个Animal对象的引用,标明该Animal对象在当前Point对象上。(2)方法Point(intx,inty)是构造方法,用来

28、创建Point对象。Point对象调用isHaveAnimal()方法可以返回一个boolean数据,如果当前Point对象调用Animal对象,isHaveDisc()方法返回true;否则返回false。Point对象调用setIsHaveAnimal(boolean boo)方法可以根据参数boo的值设置当前Point对象上是否有Animal对象。Point对象getX()和getY()方法可以返回其中的x轴坐标和y轴坐标。Point对象调用equals(TowerPoint p)方法可以判断当前Point对象是否和参数p指定的Point对象相同。Point对象调用setThisAnim

29、al(Animal animal)方法,指定参数animal在当前Point对象上。Point对象调用getThisAnimal()方法可以返回当前Point对象上的Animal对象。Point对象调用setThisStone(Stone stone)方法,指定参数stone在当前Point对象上。Point对象调用getThisStone()方法可以返回当前Point对象上的Stone对象。3.4 Stone类Stone类是javax.swing包中Jbutton按钮组件的一个子类,创建的对象是数组stone的单元中的对象。Stone型数组stone是ChangeAnimalWindow窗口

30、的重要成员之一。标明Stone类主要成员变量和方法以及和ChangeAnimalWindow类之间的组合关系的UML图如图3.4所示。图3.4 Stone类的UML图以下是UML图中关于数据和方法的详细说明。(1)成员变量iconStone用来确定Stone对象是的图标。(2)方法Stone()是构造方法,用来创建Stone对象。3.5 HandleMouse类HandleMouse类是javax.swing包中Jpanel容器的一个子类,同时实现了MouseListener和ActionListener接口,创建的对象handleMouse是ChangeAnimalWindow类的成员之一,负责animal数组中的Animal对象上的鼠标事件。当用户鼠标单击Animal对象时,handleMouse对象负责给出移动Animal对象的有关算法。标明HandleMouse类的主要成员变量

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2