基于Java的“勇闯NBA”游戏的设计与实现毕业论文设计.doc_第1页
基于Java的“勇闯NBA”游戏的设计与实现毕业论文设计.doc_第2页
基于Java的“勇闯NBA”游戏的设计与实现毕业论文设计.doc_第3页
基于Java的“勇闯NBA”游戏的设计与实现毕业论文设计.doc_第4页
基于Java的“勇闯NBA”游戏的设计与实现毕业论文设计.doc_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业论文(设计)题 目: 基于Java的“勇闯NBA”游戏的 设计与实现 毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日注 意 事 项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)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订3)其它指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位: (盖章)年 月 日平顶山学院本科毕业设计教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日基于Java的“勇闯NBA”游戏的设计与实现摘 要随着电脑的普及,各样类型的游戏正在不断地走进无数人的生活。同时,由于生活节奏的加快,人们在繁忙的工作、学习之余更加地注重体育锻炼,篮球作为大家最为喜爱的体育运动之一,因此,也有着无数的球迷喜爱、关注着代表着世界篮球最高水平的体育赛事NBA。该游戏是将NBA与游戏结合,开发的一款NBA角色扮演类游戏,相信它一定会吸引无数的篮球爱好者和游戏玩家前去体验。该游戏是一个用JAVA应用程序编写的角色扮演类游戏,玩家可以创建一个角色来进行游戏,角色拥有篮球和传统RPG游戏的角色属性,游戏包括个人资料,NBA生涯,名人堂,NBA商店,练身房,我的物品,篮球知识问答等模块。该游戏的主要特色在于攻防双方分别使用自己的篮球攻击和防守技能来进行回合式的对战,每一回合双方攻防的成功率是由对战双方的属性值和使用的攻防技能的技能值等因素共同决定,然后根据该成功率得出该回合得分与否,最终先得到一定分数的一方将获胜。为达到游戏界面的美化效果,所有的使用画布进行绘制,同时设有背景图片。玩家操作的事件处理使用鼠标和键盘事件相结合的方式实现了友好的用户交互。本论文阐述了基于Java的“勇闯NBA”游戏的背景、研究现状及意义,介绍了系统开发所使用的环境、工具以及开发语言,并对相关的开发技术进行了阐述。按照软件开发的生命周期论述了需求分析、概要设计、详细设计和代码实现的过程。具体论述了面向对象设计方法、系统设计的原则、系统设计的总体目标以及体系结构的特点。关键词:Java应用程序,角色扮演,NBA,画布 The Design and Implementation of The Java-based Dawn of the NBA Game AbstractWith the popularization of computers, every type of game into the lives of countless people. The same time, due to the accelerated pace of life in the busy work, learn and more emphasis on physical exercise, basketball as one of the sports most popular, so also has numerous fans love watching represents the highest world basketball the level of sporting events - the NBA. The game of the NBA and the game, the development of a NBA role-playing games, I believe it will attract millions of basketball fans and gamers to go experience. The game is a JAVA application written in role-playing game, players can create a role to play the game, the role has the attributes of basketball and the role of the traditional RPG games, the game, including personal information, NBA career, Hall of Fame, the NBA Store, practice the gym, my articles, basketball quiz module. The main features of the game is between offensive and defensive basketball attack and defense skills to carry out round-style battle, each round of both the offensive and defensive success rate is the value of the skills from the Battle of the properties of both the value and use of offensive and defensive skills and other factors common decision, and then derived based on the success rate of the round scores or not, the final before a certain fraction of the party will win. To achieve the beautifying effect of the interface of the game, all use the canvas to draw, at the same time has a background image. Players operating the event handler using a combination of mouse and keyboard events to achieve a user-friendly interaction. This paper described the background based on Javas Dawn of the NBA game, the status and significance of language used in the system development environment, tools, and development and the development of technologies are described. Discusses the software development life cycle requirements analysis, preliminary design, detailed design and code implementation process. Are discussed in detail the principles of object-oriented design, system design, the characteristics of the overall system design goals and architecture.Keywords: JAVA application, RPG, JDBC, canvas目 录1 绪 论11.1 研究背景与意义11.2 研究现状21.3 本论文结构安排31.4 本章小结42 技术及开发工具介绍52.1画布绘制技术52.2 事件处理技术52.2.1 ActionEvent事件52.2.2 ItemEvent事件62.2.3 鼠标事件62.2.4 键盘事件62.3 图像拷贝技术72.4 Java多线程机制72.5 SQL Server数据库管理技术72.6 JDBC数据库连接技术82.7 开发工具介绍82.8 本章小结83 需求分析93.1 实际业务操作流程93.2 设计目标103.3 功能需求103.2.1 注册、登录功能113.2.2 查看资料、物品113.2.3 生涯、名人堂、对战123.2.4 NBA商店、练身房133.4 本章小结144 概要设计154.1 功能设计154.2 数据库设计174.2.1数据分析174.2.2概念结构设计184.2.3 逻辑结构设计194.3 本章小结265 详细设计与实现275.1 系统设计275.1.1页面设计275.1.2类的设计295.2 核心算法315.3 系统实现325.3.1 游戏开始界面325.3.2 登录、注册模块335.3.3 游戏主菜单355.3.4 个人资料模块355.3.5 NBA生涯模块365.3.6 名人堂模块385.3.7 NBA商店模块395.3.8 练身房模块405.3.9 我的物品模块415.3.10 知识问答模块425.3.11 游戏对战模块425.4 本章小结436 测试456.1测试计划456.2 功能测试456.3 本章小结467 结束语477.1 总结477.2 展望48附 录49参考文献55致 谢561 绪 论角色扮演类游戏是当今比较流行的游戏类型之一,一直以来深受不少玩家的喜爱,而现在的NBA游戏也得到了许多的玩家的喜爱和认可,本系统是将角色扮演类游戏和篮球运动相结合,玩家可以通过轻松的进行游戏来缓解工作和学习压力,并且能够在游戏的同时收获更多NBA以及篮球方面的知识。本章主要是介绍该系统的研究背景、意义和研究现状,并介绍了本论文的结构安排。1.1 研究背景与意义如今,随着电脑的普及,各样类型的游戏正在不断地走进无数人的生活。角色扮演游戏(RPG,英文全称 Role-playing game)是一种最深受人们喜爱的游戏模式,在游戏中,玩家扮演虚拟世界中的一个或者几个特定角色在特定场景下进行游戏。角色根据不同的游戏情节和统计数据(例如力量、灵敏度、智力、魔法、技能等)具有不同的能力,而这些属性会根据游戏规则在游戏情节中改变。有些游戏的系统可以根据此而改进。玩家需扮演游戏中的主角(可以不止一个人)在游戏。由于角色扮演游戏可以使玩家扮演与其本人截然不同的人物,可以满足玩家成为游戏中最强大的人、最伟大的英雄的欲望,而亲身体验跌宕起伏的剧情又能使玩者如同看一本小说一般,与游戏中的人物同喜同悲。 这些恐怕也就是角色扮演游戏里最有趣最吸引人的地方1。因此,编写一个角色扮演类游戏也必将带给人们也不一样的感受,在游戏的同时体会到不少的乐趣。随着社会的飞速发展,人们生活水平也在不断地提高,许多人都更加注重精神文化生活,休息娱乐我们这个时代生活很重要的一部分,游戏就是一种参与交互式的形式,由于电脑的普及,喜欢游戏休闲的人日益增多,同时,人们也都更加地注重体育锻炼,喜欢关注体育赛事,篮球就作为大家最为喜爱的体育运动之一,而NBA更是汇聚了世界顶尖篮球运动员并且代表着世界篮球最高水平的体育赛事,吸引了无数的球迷的喜爱和关注。如果将NBA与游戏结合,开发一款新型的NBA游戏也定会吸引无数的篮球爱好者和游戏玩家前去体验。设计一款角色扮演类的“勇闯NBA”的游戏,让玩家可以上传自己的图片来创建一个角色去挑战现役的NBA球员和以任务的形式去挑战已经退役的深受大家喜爱的名人堂篮球巨星,不仅可以满足玩家们心中对NBA的那种渴望之感,同时还可以缓解其工作、学习压力,在游戏中可以再设有篮球知识问答环节,通过答题可以收获金钱、经验等也就更能够增加玩家的乐趣,同时还能在轻松游戏之时收获更多NBA方面的知识。1.2 研究现状目前比较受欢迎的NBA游戏主要是EA公司开发的NBA Live以及世嘉开发(后转为Take-Two)的NBA 2K系列,它们都是操作型游戏,玩家进入游戏后可以任意选择自己的球队和将要对战的球队,系统模拟出比赛现场,然后玩家通过按键控制己方球员移动、控球、投篮来完成与电脑智能控制另一支球队的比赛。其中在今年10月份发布的NBA2K12,其游戏控制给人一种更精干的感觉,比之前作有更大的控制力,一部分是因为动画没有了以前那种累赘感;行动间更加紧凑、执行命令时更加干脆利落。运球进攻可以在更小的范围内执行,令你能够在有限的空间内,控制到更多的球员,边场和角位运作相对而言就更精准,大大避免玩家一不小心就把球运入人群区域。NBA 2K12是2K Sports继NBA 2K11之后的又一篮球巨作,在NBA 2K11成功的基础上,2K在新作中又新增了“辉煌模式”,完美重现了15位传奇球星的辉煌岁月。 2K表示,在这一模式下,玩家能够体验到15位传奇球星和他们所在队伍的最辉煌岁月,包括乔丹、魔术师约翰逊、拉里伯德、J博士和贾巴尔等等。在这一模式下游戏时,你能够通过努力解锁这些传奇球队,并在普通模式下与现在的强队一较高下,比如挑战迈阿密三巨头和科比带领的湖人队还有诺维斯基的小牛队等等。还有就是网页游戏范特西篮球经理,它是是国内第一款根据实时体育赛事竞争的网络体育策略游戏,玩家在游戏中充当一名NBA经理人,所有NBA球星掌握在你手中的一款在线模拟经营类网页游戏。这款游戏基于网页设计,无需下载,系统配置要求不高,只要可以轻松打开网页便可随意玩转。该游戏将带给玩家前所未有的刺激体验,开辟一个新的网游时代。在游戏中玩家充当俱乐部经理的角色,管理球员,雇佣职员,设置阵容战术,在比赛中进行指挥,使玩家在游戏的过程中充分展示经营和管理一个球队需要具备的素质和能力,从而最终成为一位杰出的篮球经理人。范特西篮球经理给玩家提供了充足的管理空间,玩家并不需要是一个地道的球迷,也不需要有太多的经营经验,它可以让你从不懂篮球到喜爱篮球,最终学会经营篮球,从中找到无限乐趣。然而范特西篮球经理的对战全是文字直播,不能够很好的吸引玩家。角色扮演类游戏如梦幻西游、大话西游、仙剑奇侠传和古剑奇谭等已深入无数人的心中,其采用的对战模式更是被不少的游戏爱好者熟知和喜爱。如果开发一款角色扮演类型的NBA游戏,并且应用篮球的攻防技巧来进行类似仙剑奇侠传中的游戏对战模式,给玩家带来一种亲身去“闯”NBA并与心目中球星对战之感,相信会得到不少玩家的喜爱。1.3 本论文结构安排在对如今比较流行的角色扮演类游戏和有关NBA的篮球游戏体验和调研的基础上,再结合自己对篮球运动的喜爱以及对篮球知识的了解,然后运用大学期间所学的专业技术知识,设计实现了一个基于Java的“勇闯NBA”角色扮演类游戏。该游戏是一个基于Java应用技术,采用JDBC数据库访问技术设计开发的一款角色扮演类游戏,选择SQL Server 2000数据库管理系统进行数据存储管理,使用JDK版本为JDK1.6,并利用MyEclipse 8.0开发环境进行游戏开发。接下来介绍该论文的组织结构安排。第一章主要介绍了该游戏研究、设计的背景和角色扮演类游戏和NBA篮球游戏的研究现状,在此基础上分析设计,论述该游戏的意义以及分析和目前已有该类游戏的不同和改进之处。第二章主要介绍了设计该游戏所用到的相关技术和开发工具的简单介绍,包括开发环境,使用的数据库管理系统等。第三章是对该游戏的需求分析,在调研大家对篮球游戏的需求的基础上,详细分析、总结该游戏所需具有的功能模块,并对各功能模块进行了具体的用例分析,绘制出系统的用例图,并由此得出了不同玩家的功能需求和系统的性能、数据需求。第四章是系统的概要设计,主要包括游戏功能模块设计以及数据库的设计。功能模块设计是更加需求分析得出游戏必须的几个功能模块,绘制了系统的功能模块图并阐述了各模块所具有的功能。数据库是一个游戏的重要的支撑,整个游戏的设计都将是基于数据实现的。因此,对数据库进行仔细的分析设计就显得极其重要。数据库的表主要是根据游戏的各功能模块的需求得出并设计的。接着对主要的数据库表的属性字段进行了详细的介绍并绘制了整个系统的E-R图,展示了各表之间的关联关系。第五章介绍了该系统的详细设计与实现,从页面设计、类的设计以及各功能的详细设计与实现结果进行了描述。页面设计阐述了进行页面设计所需的关键技术,页面的布局方式以及字体颜色以及图片的如何选择搭配来达到游戏界面的美观效果。类的设计是针对各功能模块而设计的具体功能类和为了支持这些功能类而设计的支持类等。功能的详细设计与实现是对如何具体的实现游戏的各大功能进行了具体的描述,重点描述了进行这些功能设计的设计理念、实现这些功能所用到的专业技术和具体的实现过程,同时对游戏功能的实现界面进行了截图展示。第六章是系统的测试,包括测试环境的介绍,功能测试、用户界面测试和测试得出的一些问题严重程度的描述。其中的功能测试主要通过设计测试用例对各大功能模块进行测试,以确定各功能都已实现且能正常运行。用户界面测试主要是用于测试游戏的各界面之间能否正确的跳转,并且能够正确的向玩家展示所有的必要信息。第七章是作为结束语,对该游戏的设计做了简单的总结,阐述了自己通过本次系统设计从中的收获和自身存在的不足之处,最后对系统的改进和扩充寄予了一定的展望。1.4 本章小结本章首先介绍了该课题的背景和意义,明确了设计该游戏的必要性和意义所在。接着介绍了该类游戏的研究现状,最后介绍了本论文的组织结构安排。2 技术及开发工具介绍该部分主要介绍游戏所采用的技术及开发工具,包括画布绘制技术,事件处理技术,图片拷贝技术,Java多线程机制,SQL Server 2000数据库管理系统,JDBC数据库连接技术。2.1画布绘制技术Java.awt包中的Canvas类负责创建画布对象2。创建画布对象的常用办法是用Canvas的子类来创建画布对象,并在子类中重写父类的public void paint(Graphics g)方法。该方法是Component类的一个方法,可以在其子类中重写这个方法,当重写这个方法是,参数g是自动实例化的,这样就可以在子类中使用对象g调用相应方法,比如画串、画图形、画图像等,组件调用repaint()方法时,程序首先清除paint()方法以前所画的内容,然后再调用paint()方法。游戏需要有着良好的界面方可赢得更多玩家的喜爱,为了达到界面的美化效果,需多处绘制图像。在Java小应用程序中,有个Applet类提供了一个下载图像的方法getImage(),因此,在小应用程序中较容易绘制图像。而该游戏程序是Java应用程序,编写应用程序时经常要使用Frame类,但Frame类没有获取图像的方法。这就需要java.awt包中的Tookit类帮忙。Toolkit类是一个抽象类,不能用构造方法直接创建这样对象,但Java运行环境提供了一个Toolkit对象,任何一个组件调用getToolkit()方法可以返回这个对象的引用。Toolkit类有一个获取图像的方法getImage(String s)。2.2 事件处理技术编写游戏必然要用到事件处理技术来进行玩家操作事件的判断以做出相应的事件处理3。在Java应用程序中事件处理有很多种,在本游戏中主要用到ActionEvent事件、ItemEvent事件、鼠标事件、键盘事件。2.2.1 ActionEvent事件当在文本框中输入字符并按下Enter键时,java.awt.event包中的ActionEvent类自动创建一个事件对象,并将它传递给actionPerfomed(ActionEvent e)方法中的参数e,监视器将自动调用方法:actionPerformed(ActionEvent e)对发生的事件做出处理。所以,称文本框这个事件源可以发生ActionEvent类型的事件。为了能监视到这种类型的事件,事件源必须使用addActionListener方法获得监视器:创建监视器的类必须实现接口ActionListener。2.2.2 ItemEvent事件选择框可以发生ItemEvent事件,当选择框获得监视器之后,选择框从未选中状态变成选择状态或从选中状态变为未选中状态时就发生ItemEvent事件,即ItemEvent类将自动创建一个事件对象。发生ItemEvent事件的事件源获得监视器的方法是addItemListener(监视器)。处理ItemEvent事件的接口是ItemListener,创建监视器的必须实现ItemListener接口,该接口中只有一个方法。当选择框发生ItemEvent事件时,监视器将自动调用接口方法:itemStateChanged(ItemEvent e)。除了可以使用getSource()方法返回ItemEvent事件的事件源外,ItemEvent还提供了getItemSelected()方法,该方法也返回ItemEvent事件源。2.2.3 鼠标事件由于是游戏,所以玩家必然要大量的使用鼠标进行操作,因此,鼠标事件必不可少,还将被多次应用。在任何组件上都可以发生鼠标事件。使用MouseListener接口可以处理在事件源上按下、释放鼠标,在事件源上点击,鼠标进入、退出事件源等鼠标事件,使用MouseMotionListener接口可以处理在事件源上拖动和移动鼠标的鼠标事件。使用这两个接口就可以完成游戏所需的所有的鼠标操作的事件处理。2.2.4 键盘事件为了更加的方便玩家操作,还要设有一些的键盘事件。当玩家按下、释放或敲击键盘上一个键时就触发了键盘事件,必须要有触发事件的事件源。当一个组件处于激活状态时,敲击键盘上一个键就导致这个组件触发了键盘事件。事件源使用addKeyListener方法获得监视器。监视器是一个对象,创建该对象的类必须实现接口KeyListener。用KeyEvent类的public int getKeyCode()方法,可以判断哪个键被按下、敲击或释放,getKeyCode()返回一个键码值。也可以用KeyEvent类的public char getKeyChar()判断哪个键被按下、敲击或释放,getKeyChar()返回键上的字符。2.3 图像拷贝技术玩家创建角色时可以从本地计算机上传一张自己的图片,为了保证本地机的这张图片被移动走或删除时在游戏中仍能够显示出玩家图片,需要在玩家创建角色成功后将图片拷贝到项目的目录下4。由于图片是二进制形式的文件,因此必须使用字节流进行拷贝。通过该输入流读取文件数据到缓存中,再通过该输出流将缓存中的数据读出写到新的文件中即可实现图像文件的拷贝。2.4 Java多线程机制Java编写程序都运行在在Java虚拟机(JVM)中,在JVM的内部,程序的多任务是通过线程来实现的5。每用java命令启动一个java应用程序,就会启动一个JVM进程。在同一个JVM进程中,有且只有一个进程,就是它自己。在这个JVM环境中,所有程序代码的运行都是以线程来运行。在Java程序中,JVM负责线程的调度。线程调度是值按照特定的机制为多个线程分配CPU的使用权。调度的模式有两种:分时调度和抢占式调度。分时调度是所有线程轮流获得CPU使用权,并平均分配每个线程占用CPU的时间;抢占式调度是根据线程的优先级别来获取CPU的使用权。JVM的线程调度模式采用了抢占式模式。2.5 SQL Server数据库管理技术SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统,该版本继承了SQL Server 7.0 版本的优点,同时又比它增加了许多更先进的功能6。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等7。目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,Microsoft SQL Server,Access等都采用了SQL语言标准8。虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。在该游戏系统中就是采用SQL Server 2000来对玩家和球员等大量的数据进行管理。2.6 JDBC数据库连接技术JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成9。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法10。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。 简单地说,JDBC 可做三件事:与数据库建立连接、发送操作数据库的语句并处理结果。2.7 开发工具介绍该游戏的开发使用了MyEclipse作为开发工具,MyEclipse企业级工作平台是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。尤其是它的代码提示功能可以很好的帮助我们减少编写代码过程中出现错误的概率,能够有效地提高系统开发的效率。2.8 本章小结本章介绍了开发该游戏所用的主要相关技术,包括事件处理和数据库技术等。而后又对开发需要用到的开发环境做了简单介绍。3 需求分析系统的需求分析就是从系统的实际业务操作流程、系统设计目标和功能需求上进行分析并得出系统的用例图。对游戏开发中将要面临的问题及其解决方案进行初步设计及合理安排11,明确开发目标。3.1 实际业务操作流程该游戏的业务流程主要是开始游戏后会有一游戏开始界面来展示篮球以及NBA相关的信息,接着会进入游戏的登录界面,如果是新玩家,需要首先点击创建角色进入角色创建界面,拥有了角色之后就会返回到登录界面输入注册的姓名和密码进入游戏的主菜单,在主菜单中包括了游戏主要的几个功能模块:个人资料、NBA生涯、名人堂、NBA商店、练身房、我的物品,玩家可以通过键盘左右键进行选择后点击回车或者直接使用鼠标点击进入。每个创建的角色都需要具有等级属性,一定的经验、金钱、体力、力量、敏捷、攻击值、防守值等属性。经验和金钱可以通过与NBA球员以及名人堂球星进行对战后获得,参与篮球的知识问答同样可以获得一定的金钱,有了金钱就可以进入NBA商店,在商店中可以提供一些篮球的装备,如球衣、球鞋、篮球等,每种装备都能提升玩家一定体力、力量、敏捷值和攻防值,还需设有球员所需的食品和饮料等,这些食品用以增加玩家比赛过程中消耗的体力、力量、敏捷值,各种商品的价钱和所能够增加的属性值都需要在玩家选中该商品时进行显示。玩家可以利用所获得的金钱去商店中购买篮球装备和食品饮料来提升自己的属性值,以便能够在与球员的对战中拥有更大的成功率并且不断地挑战等级更高属性值更大的球员。新创建的角色拥有一定的攻防技能,需要先进入NBA生涯,选择挑战一些等级较低的球员获取一定的金钱和经验后再返回到主菜单进入NBA商店购买装备和食品以及进入练身房提升属性值和学习新的篮球攻防技能。玩家要查看自己的商品和属性以及攻防技能时,可以从主菜单选择进入我的物品和个人资料。当玩家的属性值达到一定的程度之后就可以去做该游戏的任务,即挑战名人堂的十五位明星,战败所有的这十五位明星后即为游戏的结束。3.2 设计目标该游戏为角色扮演类游戏,因此首先应当提供给玩家创建游戏角色的功能,在角色创建好之后要提供游戏的登录验证。将篮球的攻击和防守技能用于本游戏也是本游戏的主要特色之一,不仅能让广大的篮球爱好者更加的了解篮球,同时带给游戏玩家更大的吸引力。玩家角色创建时就可以具有一些基本的攻防技能,以便能够使用这些技能去挑战一些等级较低的球员,各技能都有一定的技能值,因此为了能够学习其它的攻防技能和提高已有技能的技能值,可以设有练身房,玩家可以使用金钱和经验来学习新技能和提升自己的攻防技能值。玩家经验、金钱、体力、力量、敏捷、攻击值、防守值等属性,因此必须提供玩家查看自己这些资料的功能,还需设有玩家的物品栏,玩家可以随时查看自己的已有物品,并且能够点击使用相应的物品。游戏最核心的应该是玩家与球员的对战环节,NBA共有30支球队,每支球队又有十多名球员,玩家需要去选择自己想要挑战的球员去挑战,为了选择球员,还需要先选择球队,球队的选择可以先绘制一张NBA球队分布图,玩家可以在该分布图中点击球队队徽进行选择进入,进入后列出该球队的十名在NBA中场均得分从高到底的球员即可满足游戏需求。而玩家选择其中的一个球员时就应当显示该球员的信息,以便玩家判断是否挑战。游戏还需要设有任务,可以选取一些名人堂的球星,将其等级设的较高,需在玩家达到一定等级之后才能够战败他们,玩家战败所有的名人堂球星之后才意味着游戏的结束。在对战中,对战双方需要使用自己篮球技能,使用技能之时可以展示该技能的动态图片,双方交替进攻转换,攻防成功的概率受到技能值以及属性值等多因素的影响,最终先得到一定分数者获胜。为了提供给玩家更多能够获得金钱和经验的的地方,在玩家选择好挑战球员之后,进行挑战之前可以加入篮球和NBA知识问答模块,这样不仅可以更好的吸引玩家,还能丰富玩家的NBA知识,带给玩家更多的乐趣。3.3 功能需求功能需求是对功能分析得到的各主要功能模块再进行详细的分析,得出这些模块具体的需求,从而使整个游戏的功能更加完善,以满足玩家的所有需要。3.2.1 注册、登录功能玩家角色创建需要让玩家上传一张自己的图片,提供显示玩家图片的画布,还需提供给玩家填写姓名、密码的文本框以及选择角色的篮球位置的下拉列表,因为不同位置的球员所具有的篮球攻防技能会有所不同12。游戏登录需要玩家输入姓名、密码,然后对玩家输入信息进行身份验证,判断是否能够进入该游戏。图3-1玩家注册、登录用例图表3-1玩家登录、注册用例描述用例编号301用例名称注册、登录用例用例概述玩家完成游戏角色的创建和游戏登录参与者游戏玩家前置条件想要进行本游戏后置条件进入该游戏成功保证当前系统正常运行基本事件流步骤活动1玩家上传图片2填写姓名、密码和选择角色的篮球位置3输入姓名、密码进行验证后登录游戏规则与约束用户名、密码都输入正确,在点击进入游戏按钮3.2.2 查看资料、物品个人资料需要绘制展示玩家属性的信息栏,包括玩家的图片、玩家的等级、金钱、经验等属性,以及玩家的攻防技能栏,技能栏要分为进攻技能栏和防守技能栏。我的物品包括物品栏和装备栏,物品栏展示玩家已有的装备和食品,装备栏中展示玩家正在使用的装备,共有篮球、球衣、球鞋、头带和护臂五种。图3-2查看资料、物品用例图表3-2查看资料、物品用例描述用例编号302用例名称玩家查看资料、物品用例用例概述玩家在个人资料中可以查看自己的图片、属性信息和功防技能,在我的物品中查看自己的装备和食品等参与者游戏玩家前置条件玩家想要查看自己的资料和物品后置条件显示资料和物品成功保证当前系统正常运行基本事件流步骤活动1玩家查看自己的图片和属性信息2玩家查看自己已有的攻防技能3玩家查看自己的装备和食品规则与约束玩家点击个人资料和我的物品3.2.3 生涯、名人堂、对战NBA生涯是该游戏的主要模块,玩家可以先从NBA球队分布图中选择球队后进入该球队,然后从该球队的十名球员中选择球员进行挑战,挑战成功之后会获得一定的金钱和经验奖励,以便能够去练身房中提升自己的等级、属性值、学习新技能和去商店中购买商品来增加自己的属性值。名人堂中设有十五位名人堂球星以图片形式展示,玩家达到一定等级后可以前去挑战,战败所有的球星即游戏全部结束。在玩家从NBA生涯或名人堂中选择球员挑战之后,进入篮球和NBA知识问答界面,该模块可以丰富玩家的篮球方面知识,增加对游戏的兴趣,答对即可获得一定的金钱和经验奖励。然后会进入该游戏的核心模块对战模块,双方使用自己的攻防技能进行对战,在中间显示使用技能的动态图片和文字描述信息,每回合成功的概率受到他们使用的技能值和体力、力量、敏捷等值的影响,最终先达到一定分数者获胜。图3-3 生涯、名人堂、对战用例图表3-3 NBA生涯、名人堂、对战用例用例编号303用例名称NBA生涯、名人堂、对战用例用例概述玩家通过从NBA球队分布图上选择球队及其球员或从名人堂中选择球星进行挑战,在挑战之前要进行篮球知识问答参与者游戏玩家前置条件玩家想要挑战NBA球员后置条件进入与球员对战界面成功保证当前系统正常运行基本事件流步骤活动1玩家从NBA生涯选择球队及其球员进行挑战2玩家从名人堂选择球星进行挑战3玩家进行篮球知识问答4玩家使用自己攻防技能与选择的球员进行对战,对战过程显示使用技能的动态图片规则与约束玩家点击我的生涯和名人堂3.2.4 NBA商店、练身房NBA商店提供给玩家购买装备和食品的地方,装备可以增加体力、力量、敏捷总值,而食品可以增它们的当前值。当玩家选择一个商品时应当显示该商品的价钱等信息并提供购买按钮。在练身房中玩家使用自己的金钱和经验学习新的攻防技能、提升已有技能的值和体力、力量、敏捷总值以及升级功能。图3-4 NBA商店、练身房用例图表3-4 NBA商店、练身房用例用例编号304用例名称NBA商店、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论