基于JavaWeb的猜歌游戏设计与实现_第1页
基于JavaWeb的猜歌游戏设计与实现_第2页
基于JavaWeb的猜歌游戏设计与实现_第3页
基于JavaWeb的猜歌游戏设计与实现_第4页
基于JavaWeb的猜歌游戏设计与实现_第5页
已阅读5页,还剩146页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

本科毕业论文(设计)题目基于JAVAWEB的猜歌游戏设计与实现姓名学号专业计算机科学与技术院系信息工程学院指导老师职称学位讲师/硕士完成时间2015年5月教务处制安徽新华学院本科毕业论文(设计)独创承诺书本人按照毕业论文(设计)进度计划积极开展实验(调查)研究活动,实事求是地做好实验(调查)记录,所呈交的毕业论文(设计)是我个人在导师指导下进行的研究工作及取得的研究成果。据我所知,除文中特别加以标注引用参考文献资料外,论文(设计)中所有数据均为自己研究成果,不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做的工作已在论文中作了明确说明并表示谢意。毕业论文(设计)作者签名日期安徽新华学院2015届本科毕业论文(设计)I基于JAVAWEB的猜歌游戏设计与实现摘要随着社会的不断发展,越来越多的人面临的压力越来越大,人们渴望随时随地都能放松自我。然而游戏正成为人们释放压力,放松自己最行之有效的娱乐方式之一。而基于JAVAWEB的猜歌游戏以其界面美观,操作简单,对硬件要求低等优点将会备受大家的青睐。系统通过数据库对用户基本信息和歌曲信息进行统一管理,借助经典的框架SERVLET对数据进行处理,又选择了前端一些功能强大的插件对数据进行展示,将猜歌与游戏很好的结合起来,意在给用户创造了一个良好的交互平台。为了更好地管理和维护本系统,系统还专门设置了管理员角色和用户角色。管理员主要的任务在于对用户上传的歌曲进行审核。而用户则是享受猜歌的乐趣,使得猜歌游戏能够稳定、高效地运行。为了增强游戏的趣味性,告别了原始猜歌游戏的不灵活性。该系统通过用户上传歌曲功能时时更新数据库,使得歌曲不断地更新,玩家与玩家之间可以互相分享歌曲。随着网络的发展,该游戏还存在大量地后续研究工作。关键词猜歌;游戏;数据;SERVLET框架;JAVAWEB安徽新华学院2015届本科毕业论文(设计)JAVAWEBBASEDSONGGUESSINGGAMEDESIGNANDIMPLEMENTATIONABSTRACTWITHTHECONTINUOUSDEVELOPMENTOFSOCIETY,MOREANDMOREPEOPLEAREFACEDWITHTHEPRESSUREINCREASING,PEOPLEWANTTORELAXYOURSELFANYTIME,ANYWHEREHOWEVER,THEGAMEISBECOMINGAPEOPLERELEASESTRESSANDRELAXONEOFTHEIRMOSTEFFECTIVEFORMSOFENTERTAINMENTTHEJAVAWEBBASEDSONGGUESSINGGAMEWITHITSBEAUTIFULINTERFACE,EASYOPERATION,ANDLOWHARDWAREREQUIREMENTSWILLBEMUCHEVERYONEOFALLAGESSYSTEMTHROUGHADATABASEOFUSERINFORMATIONANDSONGINFORMATIONFORUNIFIEDMANAGEMENT,WITHCLASSICSERVLETFRAMEWORKFORDATAPROCESSING,ANDSELECTEDANUMBEROFPOWERFULFRONTENDPLUGINSFORDATADISPLAY,THESONGGUESSINGGAMEAGOODCOMBINATION,MEANINGGIVINGTHEUSERTOCREATEAGOODINTERACTIVEPLATFORM,INTENDEDFORTHEUSERTOCREATEAGOODINTERACTIVEPLATFORMINORDERTOBETTERMANAGEANDMAINTAINTHESYSTEM,THESYSTEMALSOSETSTHEADMINISTRATORROLEANDUSERROLESADMINISTRATORMAINTASKISTOAUDITUSERSTOUPLOADSONGSANDUSERSWILLENJOYTHEFUNOFGUESSINGTHESONG,SOGUESSSONGGAMECANBESTABLYANDEFFICIENTLYRUNINORDERTOENHANCETHEGAMEINTERESTING,BIDFAREWELLTOTHEORIGINALSONGGUESSINGGAMEINFLEXIBILITYTHESYSTEMFUNCTIONSBYUSERSTOUPLOADSONGSFROMTIMETOTIMETOUPDATETHEDATABASE,SOTHESONGCONSTANTLYUPDATED,YOUCANSHARESONGSWITHEACHOTHERBETWEENPLAYERSANDTHEPLAYERSWITHTHEDEVELOPMENTOFTHEGAMETHEREAREALARGENUMBEROFFOLLOWUPRESEARCHKEYWORDSGUESSTHESONGPLAYDATASERVLETFRAMEWORKJAVAWEB安徽新华学院2015届本科毕业论文(设计)目录1绪论111研究的背景及意义1111研究的背景1112研究的目的与意义112研究的主要内容213本文组织结构314本章小结32系统研究的理论依据和技术背景521猜歌游戏的设计思想522系统开发环境简介5221ECLIPSE简介6222TOMCAT介绍6223MYSQL数据库简介7224系统开发环境的搭建7225SERVLET框架简介723本章小结83系统的需求分析和概要设计931系统需求分析9311系统功能需求分析9312系统性能需求分析10安徽新华学院2015届本科毕业论文(设计)32系统概要设计11321系统流程的设计11322系统主要的难点设计界面12323数据库表的设计1333本章小结144系统的实现1541系统界面的实现1542登录界面的实现1543游戏菜单界面的实现1744选择歌曲类型界面的实现1845猜歌游戏主界面的实现1846注册账号界面的实现2247上传歌曲菜单的实现2347游戏排名界面的实现2547歌曲审核界面的实现2748本章小结295测试3051单元测试3052系统测试小结366总结与展望3761论文总结3762展望37安徽新华学院2015届本科毕业论文(设计)致谢38参考文献39安徽新华学院2015届本科毕业论文(设计)11绪论本章首先介绍了课题的研究背景、研究的目的与意义,其次对本文主要研究的内容进行了叙述。11研究的背景及意义111研究的背景接口到手机APP的纯数据化接口,变化是如此地翻天覆地。显然的,这些变化推动了WEB框架的发展,如考虑到REST服务支持,TOMCAT6到TOMCAT7从只支持GET,POST方法到对GET,POST,DELETE,PUT,HEAD等多种方法的支持1;与此同时,JDK的每次发布都会给WEBMVC框架带来新的技术热点,如SPRING3MVC的ANNOTATION配置取代SPRING2MVC原有的XML配置文件升级2。然而随着网络的发展,网页游戏已经逐渐取代以往的单机游戏成为游戏界的主流。网页游戏凭着它特有的互动性,深受各个年龄段人们的喜爱。网页游戏从其重返网游市场之始,就已经注定了它在网游市场中必定占有一席位置,而以JAVA为核心技术的必定是网页游戏未来发展的重头戏。所以设计一款休闲娱乐、简易方便的益智游戏前景非常客观。本系统就是基于JAVAWEB开发的一款休闲益智游戏。意在于将歌曲与游戏相结合,给用户一个不一样的娱乐方式。112研究的目的与意义游戏在现今社会里已为人们释放压力、放松自己最行之有效的娱乐方式之一。随着网络技术的快速发展,网页小游戏以其界面美观、操作简单、无需安装、对硬件要求低等优点备受广大玩家的青睐。因此,设计一款符合大众风格的网页小游戏具有重要意义。在分析网页游戏的基础上,首先通过游戏策划和需求分析确定游戏规则、界面布局和游戏所需实现的功能然后用HTML,CSS处理各种界面元素,完成游戏界面的制作;最后采用JAVASCRIP语言和JAVA面向向对象语言编程实现游戏选泽类型、游戏开始、音乐播放、上传歌曲、个人信息查询、猜歌排名、歌曲审核、选择歌曲类型、友好的猜歌界面、猜中提示、猜错提示、图片消除、图片重置,积分等级提高、虚拟金币获取以及重新开始和下一关等功能。为了体现游戏的竞技性,增加趣味性,特设计SQL2008数据库以保存玩家的得分及排名信息,用JAVA实现对数据库的直接操作,通安徽新华学院2015届本科毕业论文(设计)2过框架连接前端页面和后台JAVA代码,实现提交分数和查看排行榜的功能。同时为了提高游戏性能,对路径判断算法进行了优化。本文论述了猜歌游戏的开发背景、意义,介绍了系统开发所使用的环境、工具以及开发语言,并对相关的开发技术进行了阐述。重点论述了游戏策划、需求分析、详细设计、动画设计、代码实现和游戏测试的过程。综上所述现阶段网页游戏的开发进入了一个新的阶段,在这个阶段的开发中网页游戏不仅需要丰富的编程经验,还需要掌握不同框架的优缺点和用户新的娱乐需求的进一步发掘,从而开发出符合用户需求,吸引用户的游戏。12研究的主要内容该游戏是一个益智休闲的小游戏。歌曲能让人心情舒畅,而游戏则让人轻松愉悦,但如果两者结合,这无疑将会受到广大玩家的青睐。本游戏还有一大特点是无需下载客户端,一经注册便能使用。当进入游戏时玩家可以任选所需要挑战的难度。游戏分为普通场和挑战赛。在普通场当中你可以选择不同类型的歌曲进行猜歌,歌曲类型分为流行歌曲、经典歌曲、民族歌曲、黄梅戏。很显然,这基本满足所有玩家的需求。在普通场中,你可以随意猜歌,并且猜对以后你可以获取一定的金币和积分,但是你是不能获取等级的。即使你猜错了,你也可以选择继续猜或者选择下一首。然而在挑战赛中,这四种歌曲类型都有可能出现,并且如果你猜错了,你只有用你的一定的金币去换取下一首歌曲。倘若你余额不足,将会终止你的猜歌游戏,你也可以选择放弃使用金币。在挑战赛中,每猜对一首歌,你的积分、等级、金币都会上升。而且你所闯的关数与你领取的奖励成正比。但是如果你猜错了,系统也会扣除一定的积分。下面我将会阐述金币、积分和等级这三者的意义和区别。积分只是代表你猜歌场次的多少。不论你猜对猜错,都会增加。而金币则是一个类似虚拟的网络人民币,你只有在猜对歌曲的情况下才能获得,当你有一定的金币的时候,你在挑战赛当中将会很随意的通过,毫无疑问,你领取的奖励也就会越多,同时等级也会越来越高。所以玩好这个游戏的根本在于储存金币。如果你认为该游戏仅仅是这样,那你就大错特错了。为了体现游戏的公平性和趣味性,游戏中还有一个上传歌曲的功能。凡是注册账号者都可以将你喜爱的歌曲进行上传。为了保证歌曲的质量,该系统有一个歌曲审核的功能。审核歌曲有一个专门的负责人。负责人通过歌曲的信息通过试听和查阅资料,核实歌曲是否能够加入到猜歌游戏当中。如果审核通过,则加入到猜歌游戏列表当中,给广大玩家进行猜歌,如果审核过程中发现上传的歌曲不符合要求,则不给予通过。13本文组织结构安徽新华学院2015届本科毕业论文(设计)3本文主要详细介绍了JAVAWEB的发展史和现在所占的主导地位,而网页游戏又以其界面美观,操作简单,对硬件要求低等优点将会备受大家的青睐。第1章首先概述了项目的研究背景,分析当前JAVAWEB在当前发展下的一种趋势,提出了本文研究的主要内容。其次,对项目研究的目的和意义进行了综述,其中也阐述了。第2章本章主要介绍了系统研究的理论依据,就如何才能实现猜歌游戏,如何对猜歌游戏实现多样化、趣味化、简易化、动态化、管理化、为主题进行展开。同时对系统的开发环境做了简单介绍。第3章本章主要对游戏所实现的功能进行需求分析,对猜歌游戏和系统性能进行了分析,分析了猜歌游戏实现的可行性。对系统的性能进行了详细的分析同时也提出来解决性能问题的解决方案。同时对系统的流程进行了设计。第4章根据系统的概要设计进行详细的设计与实现。对功能来具体实现。第5章主要对系统的功能进行单元测试,并对系统的测试结果进行总结。第6章是对全文的总结与展望,总结本文的研究工作和成果,展望未来的技术努力方向。14本章小结本章首先概述了项目的研究背景,分析了JAVAWEB在当今社会的地位和发展,并且也将自己的优势发展到未来。随后又提出了网页游戏也随着WEB的发展而越来越受到大众的喜欢,进而提出了本文研究的主要内容。随后又对猜歌游戏实现的可行性和性能进行综合考虑,提出猜歌游戏的需求和设计出猜歌游戏的流程。再通过设计出的需求对猜歌游戏功能实现进行详细设计。最后对系统进行单元测试并且总结自己的成果和后期维护性。安徽新华学院2015届本科毕业论文(设计)42系统研究的理论依据和技术背景本章主要介绍了系统中猜歌游戏的理论依据和系统的开发环境。21猜歌游戏的设计思想本系统主要是通过JAVAWEB实现猜歌游戏,那么JAVAWEB的优势体现在以下几个方面。安全性有JAVA做强有力的后盾支撑,安全性高;广泛性不但有成熟的设计模式,而且还有成熟的框架,可以用很多表达式以及标签来展示我们需要的内容;稳定性安全性高,也是它具有稳定性的原因之一,另外,因为JAVAWEB被用来做很多大型的商业项目,所以说,稳定性比较高,然而还有很多高手不断的改进;又有强大的数据库统一管理数据,要实现猜歌游戏一点也不困难。猜歌游戏的主要设计在于表设计。通过建立表关系,使得数据与数据之间既能独立又能共享。显然用户表主要用于管理用户的基本信息,通过该表能够给用户提供查询排名,查看基本信息功能,而管理员则可以对用户进行修改删除功能。音乐表主要是为了管理音乐功能。通过这张表可以实现猜歌功能。同时这张表也关联其本身,用于音乐的分类,又管理用户表是为了查询该歌曲是哪一位用户上传的。还有一张音乐审核表。主要目的是为了管理用户上传歌曲。管理员通过查看音乐信息,试听功能,审核该歌曲能否加入到音乐列表中,为广大的猜歌爱好者进行服务。很显然,他需要关联音乐表,当然我们也需要知道是哪位用户进行上传的,所以也需要关联用户表。通过这三张表基本上能够管理猜歌游戏的基本数据,然而JAVAWEB又有比较流行的JAVA语言做支撑。还有许多开源的前端框架,比如JQUERY实现局部刷新技术。又有特有的标签对音乐进行播放,再加上许多架包都能提供上传与下载功能。实现猜歌游戏的登陆、开始游戏,玩家排名,注册用户、查看个人信息、上传歌曲、歌曲审核等功能一点也不困难。22系统开发环境简介221ECLIPSE简介ECLIPSE是一个开放源代码的、基于JAVA的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境3。幸运的是,ECLIPSE附带了安徽新华学院2015届本科毕业论文(设计)5一个标准的插件集,包括JAVA开发工具(JAVADEVELOPMENTKIT,JDL)虽然大多数用户很乐于将ECLIPSE当作JAVA集成开发环境(IDE)来使用,但ECLIPSE的目标却不仅限于此。ECLIPSE还包括插件开发环境(PLUGINDEVELOPMENTENVIRONMENT,PDE),这个组件主要针对希望扩展ECLIPSE的软件开发人员,因为它允许他们构建与ECLIPSE环境无缝集成的工具。由于ECLIPSE中的每样东西都是插件,对于给ECLIPSE提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所4。222TOMCAT介绍TOMCAT是APACHE软件基金会(APACHESOFTWAREFOUNDATION)的JAKARTA项目中的一个核心项目,由APACHE、SUN和其他一些公司及个人共同开发而成。由于有了SUN的参与和支持,最新的SERVLET和JSP规范总是能在TOMCAT中得到体现,TOMCAT5支持最新的SERVLET24和JSP20规范。因为TOMCAT技术先进、性能稳定,而且免费,因而深受JAVA爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的WEB应用服务器5。目前最新版本是80。TOMCAT服务器是一个免费的开放源代码的WEB应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好APACHE服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上TOMCAT部分是APACHE服务器的扩展,但它是独立运行的,所以当你运行TOMCAT时,它实际上作为一个与APACHE独立的进程单独运行的6。诀窍是,当配置正确时,APACHE为HTML页面服务,而TOMCAT实际上运行JSP页面和SERVLET7。另外,TOMCAT和IIS等WEB服务器一样,具有处理HTML页面的功能,另外它还是一个SERVLET和JSP容器8,独立的SERVLET容器是TOMCAT的默认模式。不过,TOMCAT处理静态HTML的能力不如APACHE服务器。目前TOMCAT最新版本为80。223MYSQL数据库简介MYSQL是一个关系数据库,由瑞典MYSQLAB公司开发,目前属于ORACLE公司。MYSQL是最流行的关系型数据库管理系统,在WEB应用方面MYSQL是最好的安徽新华学院2015届本科毕业论文(设计)6RDBMSRELATIONALDATABASEMANAGEMENTSYSTEM,关系数据库管理系统应用软件之一9。MYSQL是一种关联数据库管理系统10,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MYSQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MYSQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MYSQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和APACHE可组成良好的开发环境11。224系统开发环境的搭建JAVAWEB的开发环境的搭建主要分为软件和硬件两个部分。(1)JAVAWEB的开发的系统需求操作系统支持WINDOWS系统或者LINX系统硬件配置系统盘需要至少2G的剩余硬盘空间,用于安装ECLIPSE。和TOMCAT和MYSQL。(2)系统的开发工具ECLIPSE80TOMCAT80MYSQLWINDOW系统电脑一台(3)系统的开发语言JAVA225SERVLET框架简介SERVLET是一种服务器端的编程语言,是J2EE中比较关键的组成部分(其实学到现在J2EE里面的13个标准才接触了3个,他们分别(MWC)上发布的手机操作系统12。SERVLET本质上也是JAVA类,编写SERVLET需要遵循JAVA的基本语法,但是与一般的JAVA类不同的是SERVLET是只能运行在服务器端的JAVA类,而且必须遵循特殊的规范,在运行过程中有自己的生命周期,这些特性都是SERVLET所独有的12。另外SERVLET和安徽新华学院2015届本科毕业论文(设计)7HTTP协议是紧密联系的13,所以使用SERVLET几乎可以处理HTTP协议所有方面的内容,这也正是SERVLET受到开发人员青睐的最大原因14。23本章小结本章主要介绍了猜歌游戏的设计思想,通过表结构分析该猜歌游戏的可行性。重点讲解了为了实现猜歌游戏所需要开发环境。安徽新华学院2015届本科毕业论文(设计)83系统的需求分析和概要设计系统的需求分析是系统开发过程中的基石,是系统开发过程中比不可少的环节,影响着系统的整个开发过程。在开发本课题前,本人对有关本课题的国内外市场以及现有成果进行了研究和分析,在实现基本功能的前提下又加入了新的功能,因此具有一定的竞争力和市场价值。31系统需求分析311系统功能需求分析系统主要实现以下几个功能登录,注册,开始游戏,上传歌曲,歌曲审核,个人信息查询,游戏帮助、猜歌排名、关卡设置、猜歌、猜错猜对提示等。登录是为了防止没有申请账号的用户访问本系统,却无法对这些用户进行统一管理。要想玩该游戏需要申请账号以后方能通过登录界面进入本系统,然后进行猜歌。选择开始游戏后,为了增加游戏的趣味性和挑战性。可以挑战不同类型的歌曲,分为流行歌曲、经典歌、民族歌曲、黄梅戏、随机歌曲。选择游戏类型以后便可以进行猜歌。为了体现游戏的操作方便,用点击按键获得歌曲而代替以前的文本输入,而且还可以修改自己选定的歌曲。猜歌的关卡分为普通场和挑战赛,两者都有奖励。在普通场中,当猜错以后,会有一定的积分奖励。但如果猜对以后,不仅积分奖励翻倍,还会奖励金币。并且猜错以后还可以选择继续猜,也可以选择挑战下一首。然而对于挑战赛来说,当你猜错以后,你将无法继续进行下一首,除非你愿意花费一定的金币。对于猜错的玩家会扣除一定的等级。但是还会有积分的奖励。倘若你猜对了,你将会获得一定的积分、等级、金币。而且这些奖励会随着你挑战的关数而逐渐翻倍。为了让广大的玩家很快的熟悉该系统,还专门有个游戏帮助。点击以后即可下载。通过查看游戏帮助很容易上手该游戏。但是如果仅仅是这些功能很难满足广大玩家的需求。为了增强游戏的趣味性和挑战性。本系统还增加了歌曲排名和上传歌曲的功能。玩家可以查询所有的玩家的排名,也可以按条件进行查询。在上传歌曲的过程中,系统还专门设置了管理员角色和用户角色。用户可以将自己喜欢的歌曲进行上传(如图31所示)。但是为了保证歌曲的质量,管理员会对歌曲进行审核。审核过程中管理员可以查看歌曲的信息和试听该歌曲来判断该歌曲的信息是否属实。如果属实,则给予上传。并且该歌曲将会是广大玩家所猜的对象。倘若审核不通过。则无法加入猜歌游戏列表当中(如图32所示)。安徽新华学院2015届本科毕业论文(设计)9图31管理员功能图31用户功能312系统性能需求分析选择一个好的框架对于提高系统的性能有很大的提高。虽然如今市场上都流行SSH框架,也就是STRUTSSPRINGHIBERNATE,又或者是MYBATIS作为访问数据库的桥梁。但是这些框架都是为了提高开发速度,降低开发的成本。比较适合大型的项目。然而计算机的性能与速度成反比。要想提高计算机的速度,就必须要多消耗一定的内存。所以我选择了SERVLET框架。其实这些框架本质都是从SERVLET演变而来。为了实现多人开发。用XML技术做了一系列的配置。也做了许多的判断。所以自然而然对于原始的SERVLET框架性能明显高于这些框架。因为这个系统基本上是自己独立完成。综合考虑,SERVLET框架性才是适合自己的框架安徽新华学院2015届本科毕业论文(设计)10对于猜歌排名中的列表展示,为了提高用户的查询速度,我选择了分页模式进行查询。可以分页的方式可以由玩家自己来定义。本来一次性全部加载完数据变为分批加载。这样既能满足玩家的需求,又能提高系统的性能而另一个则是用局部刷新代替了整个页面的刷新。也就是用AJAX进行异步刷新,又以前的整个页面进行传输转化为数据以键值对的方式进行传输,性能显然提高了许多。32系统概要设计321系统流程的设计通过浏览器访问站点以后进入到登录界面,未注册的可以注册账号再进行登录。在用户名丶密码验证码都正确的情况进入游戏菜单界面。趟若不正确又跳到登录界面进行再次登录。在游戏菜单中选择所想要操作的功能。选择开始游戏后进行猜歌,根据猜歌的结果返回给歌曲排名。选择上传歌曲后,在长传歌曲填写歌曲信息以后对歌曲进行上传。上传完以后,管理员对所有玩家的上传的歌曲进行审核,审核通过的加入到猜歌游戏当中,审核不通过的保留在审核列表当中。选择游戏帮助以后即可下载该游戏的帮助文档。即可快速熟悉该系统。游戏的流程图如图32和33所示。图32系统总体流程图安徽新华学院2015届本科毕业论文(设计)11图33猜歌流程图322系统主要的难点设计界面为了使得用户猜歌更加的方便和增加游戏的趣味性,便由按键选择框代替原本的输入框。当一首歌曲随机出现时,便获取该歌曲的名称,然而从140个常用字中随机取出一定的汉字,使得随机产生的汉字和歌曲的名称加起来正好30个字符,展现给玩家。玩家通过点击按键能获取到汉字,并且也可以删除所选择的汉字。最终获取出歌曲的名称,返回给服务器进行判断。如图34所示而另一个难点则是为了页面的美观,和系统性能的考虑。在游戏排名列表和审核列表中选择了ECSIDE前端页面框架。该框架不仅样式好看,还具有很多种功能。其中主要的可以选择玩家所需要分页的页大小、以EXCEL或者CSV格式导出列表、打印列表等功能如图35所示图34选择歌曲名称安徽新华学院2015届本科毕业论文(设计)12图35猜歌排名列表323数据库表的设计一个系统好坏在于数据库表的设计,一个完美的设计不仅能体现代码逻辑结构的清晰,更能体现代码的质量。提高代码的重复利用性,减少计算机的内存,提高效率。本系统通过需求分析设计出了用户表,歌曲表和歌曲审核表。用户表作为基本信息表,歌曲表则关联用户表,将用户和歌曲紧密的联系起来。而歌曲审核表既关联歌曲表又关联用户表。通过一对一、一对多、多对多的关系,三者既能独立,又互相联系。如图36所示安徽新华学院2015届本科毕业论文(设计)13图36表与表之间的关系33本章小结本章主要对游戏所实现的功能进行需求分析,对图形和系统性能进行了分析,分析了图形的特点和实现的可行性。对系统的性能进行了详细的分析同时也提出来解决性能问题的解决方案。对系统的流程,系统所需的图形文件,系统的总体架构和系统用例进行了设计。通过本章的分析、设计能更加具体的了解系统功能,对系统所要实现的功能和图形文件有了更深的认识。为下一章系统功能的具体实现提供了可靠的参考依据。安徽新华学院2015届本科毕业论文(设计)144系统的实现本章主要是对系统的主要功能的实现。41系统界面的实现系统的每个页面都会有一个按钮来实现页面的跳转。当点击按钮以后,系统会去寻找用户所需要请求的页面,也就是控制器。控制器会根据用户的业务需求去调用业务逻辑层的代码去处理业务,业务逻辑层则会访问数据库,提取用户所需要的数据,最后以页面的方式将数据返回给用户15。如图41所示图41基于MVC的SERVLET实现原理42登录界面的实现通过登录页面获取用户的基本信息,包括用户名、密码、验证码。在服务器端首先对验证码进行验证。然后再去验证用户名和密码。通过用户名去查询数据库中有无该用户的信息,如果存在再去验证密码是否正确,倘若都正确,则允许进入猜歌游戏系统进行猜歌。否则返回登录界面。PROTECTEDVOIDDOPOSTHTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTION安徽新华学院2015届本科毕业论文(设计)15STRINGACCOUNTREQUESTGETPARAMETER“ACCOUNT“TRIMSTRINGPASSWORDREQUESTGETPARAMETER“PASSWORD“STRINGCAPTCHEREQUESTGETPARAMETER“CAPTCHE“TRIMHTTPSESSIONSESSIONREQUESTGETSESSIONFALSEIFNULLSESSIONSTRINGIDENTITYINGSSTRINGVALUEOFSESSIONGETATTRIBUTE“IDENTITYINGS“IFIDENTITYINGSEQUALSCAPTCHECREDENTIALCREDENTIALUSERSERVICELOGINACCOUNT,PASSWORDIFCREDENTIALISAPPROVEDSESSIONSETATTRIBUTE“GAMEUSER“,CREDENTIALGETUSERRESPONSESENDREDIRECT“HOME“ELSEREQUESTSETATTRIBUTE“MSG“,“你输入的用户名或密码有误,请重新入“REQUESTGETREQUESTDISPATCHER“/VIEWS/LOGINJSP“FORWARDREQUEST,RESPONSEELSEREQUESTSETATTRIBUTE“MSG“,“你输入的验证码有误“REQUESTGETREQUESTDISPATCHER“/VIEWS/LOGINJSP“FORWARDREQUEST,RESPONSEELSEREQUESTSETATTRIBUTE“MSG“,“超时“REQUESTGETREQUESTDISPATCHER“/VIEWS/LOGINJSP“FORWARDREQUEST,RESPONSE安徽新华学院2015届本科毕业论文(设计)16图42登录界面43游戏菜单界面的实现用户可以根据游戏菜单进行不同的操作。PROTECTEDVOIDDOGETHTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTIONLISTUSERLISTUSERSERVICEQUERY“WHERE11“REQUESTSETATTRIBUTE“USERLIST“,USERLISTSYSTEMOUTPRINTLNUSERLISTSIZEREQUESTGETREQUESTDISPATCHER“/VIEWS/GAMELISTJSP“FORWARDREQUEST,RESPONSE安徽新华学院2015届本科毕业论文(设计)17图43菜单界面44选择歌曲类型界面的实现点击开始按钮以后进入歌曲类型界面。游戏分为两种类型普通场和挑战赛。普通场又分为流行歌曲、民族歌曲、经典歌曲、黄梅戏。挑战赛随机歌曲。PROTECTEDVOIDDOGETHTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTIONSTRINGFLAGREQUESTGETPARAMETER“FLAG“REQUESTSETATTRIBUTE“FLAG“,FLAGREQUESTGETREQUESTDISPATCHER“/VIEWS/PLAYGAMEJSP“FORWARDREQUEST,RESPONSE安徽新华学院2015届本科毕业论文(设计)18图44关卡挑战界面45猜歌游戏主界面的实现用户选择不同类型的歌曲以后,将选择的信息反馈到服务器端,在服务器端通过查询数据库找到用户选择类型的歌曲。随机产生一首歌曲,并获取歌曲的歌名和地址。再从数据库中取出140个常用的汉字。随机产生的汉字与歌曲的名称组合成30个汉字。再随机排列,展现在页面上。PROTECTEDVOIDDOGETHTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTION/获得SESSIONUSERUSERUSERREQUESTGETSESSIONGETATTRIBUTE“GAMEUSER“/获取玩家基本信息INTUSERIDIFUSERNULLUSERUSERGAMEUSERDAOGETUSERSTRINGVALUEOFUSERIDREQUESTSETATTRIBUTE“USER“,USERGAMEINTUSERDJUSERGETDJ安徽新华学院2015届本科毕业论文(设计)19STRINGDJNULLIFUSERDJ1000REQUESTSETATTRIBUTE“DJ“,DJ/获得关卡STRINGGUANKAREQUESTGETPARAMETER“DQDJG“/定义当前第几关INTDQDJGIFGUANKANULL|“EQUALSGUANKADQDJG1安徽新华学院2015届本科毕业论文(设计)20ELSEDQDJGINTEGERPARSEINTGUANKA1REQUESTSETATTRIBUTE“DQDJG“,DQDJGLISTGCLISTGRADEDAOQUERYINTCOUNTGCLISTSIZELISTLISTNEWARRAYLISTSTRINGMSG“TRUE“/1流行歌曲2。民族歌曲3经典歌曲4黄梅戏5随机歌曲STRINGFLAGREQUESTGETPARAMETER“FLAG“STRINGWHERE“WHERE11“/表示挑战赛IFFLAGNULLLISTMUSICLISTMUSICDAOQUERYWHERETRY/获取有多少首歌INTCOUNTMUSICMUSICLISTSIZE/随机产生一首歌INTAINTMATHRANDOMCOUNTMUSIC1IFA1MUSICMUSICMUSICLISTGETA1REQUESTSETATTRIBUTE“MUSIC“,MUSIC/获取地址安徽新华学院2015届本科毕业论文(设计)21STRINGMUSICURLMUSICGETMUSICPATH/获取歌曲真实名STRINGMUSICREALNAMEMUSICGETMUSICREALNAME/获取歌曲名STRINGMUSICNAMEMUSICGETMUSICNAMEREQUESTSETATTRIBUTE“MUSICURL“,MUSICURLTRIMMUSICNAMETRIM/获取MUSIC名字额长度INTMUSICLENGTHMUSICREALNAMETRIMLENGTH/随机获取30MUSICLENGTH个字FORINTI0ISYLISTNEWARRAYLIST/再循环30次随机取出FORINTI0I“SYLISTGETIGETSJZD“SYSTEMOUTPRINTLNGEQUANREQUESTSETATTRIBUTE“GEQUAN“,GEQUANSTRINGBUILDERGEQUZNEWSTRINGBUILDER/获取猜歌的一共需要几个字FORINTI0I“REQUESTSETATTRIBUTE“FLAG“,FLAGREQUESTSETATTRIBUTE“GEQUZ“,GEQUZREQUESTSETATTRIBUTE“MUSICLENGTH“,MUSICLENGTHREQUESTSETATTRIBUTE“SYLIST“,SYLISTCATCHEXCEPTIONE/TODOHANDLEEXCEPTIONREQUESTGETREQUESTDISPATCHER“/VIEWS/PARTIALS/MUSICMAINJSP“FORWARDREQUEST,RESPONSE安徽新华学院2015届本科毕业论文(设计)23图45猜歌游戏界面46注册账号界面的实现通过注册界面获取用户的注册信息,在服务器中将用户所填写的信息保存在数据库中。PROTECTEDVOIDDOPOSTHTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTIONSTRINGUSERNAMEREQUESTGETPARAMETER“ZCYHM“STRINGPASSWORDREQUESTGETPARAMETER“ZCMM“USERUSERNEWUSERUSERSETACCOUNTUSERNAMEUSERSETPASSWORDPASSWORDUSERSETCJSJNEWDATEUSERSETDJ100USERSETJB100USERSETJF100USERSETSFGLY0BOOLEANRESULTTRUE安徽新华学院2015届本科毕业论文(设计)24TRYRESULTUSERDAOADDUSERCATCHEXCEPTIONERESULTFALSEPRINTWRITEROUTRESPONSEGETWRITEROUTPRINTF“PARENTUPLOADCALLBACKS“,RESULT图46上传歌曲弹出框47上传歌曲菜单的实现点击保存将用户所填写的信息传输到服务器端,服务器解析数据,以二进制流的方式读取传过来歌曲信息。然后创建磁盘路径,分配空间。将歌曲存放在指定的磁盘中。然后将歌曲的路径和名称存放在数据库中。PROTECTEDVOIDDOPOSTHTTPSERVLETREQUESTREQUEST,安徽新华学院2015届本科毕业论文(设计)25HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTIONSTRINGENCODINGREQUESTGETCHARACTERENCODINGSTRINGROOTPATHTHISGETSERVLETCONTEXTGETREALPATH“/“EXAMINEEXAMINENEWEXAMINEBOOLEANMSGFALSEDISKFILEITEMFACTORYDISFACTORYNEWDISKFILEITEMFACTORYDISFACTORYSETSIZETHRESHOLD10244DISFACTORYSETREPOSITORYNEWFILESTRINGFORMAT“S/RESOURCES/MUSIC“,ROOTPATHSERVLETFILEUPLOADUPLOARDNEWSERVLETFILEUPLOADDISFACTORYUPLOARDSETFILESIZEMAX3210241024UPLOARDSETHEADERENCODINGENCODINGTRYLISTITEMSUPLOARDPARSEREQUESTREQUESTITERATORITERATORITEMSITERATORHASHMAPMAPMAINNEWHASHMAPWHILEITERATORHASNEXTFILEITEMITEMITERATORNEXTIFITEMISFORMFIELDMAPMAINPUTITEMGETFIELDNAME,ITEMGETSTRINGENCODINGELSESTRINGFILENAMEITEMGETNAMEINTINDEXFILENAMELASTINDEXOFFILESEPARATORFILENAMEFILENAMESUBSTRINGINDEX1,FILENAMELENGTHLONGSIZEITEMGETSIZEIF0SIZE|“EQUALSFILENAMECONTINUEDATEDATENEWDATE安徽新华学院2015届本科毕业论文(设计)26SIMPLEDATEFORMATFORMATNEWSIMPLEDATEFORMAT“YYYYMMDDMMSSSSS“STRINGNEWFILENAMESTRINGFORMAT“S_S“,FORMATFORMATDATE,FILENAMEMAPMAINPUT“FILENAME“,NEWFILENAMEEXAMINESETMUSICNAMENEWFILENAMEFILESTRINGFORMAT“S/RESOURCES/MUSIC/S“,ROOTPATH,NEWFILENAMEITEMWRITEFILEEXAMINESETUPLOADTIMENEWDATEEXAMINESETMUSICREALNAMEMAPMAINGET“GQMC“EXAMINESETMUSICPATH“/RESOURCES/MUSIC/“EXAMINESETSHZT1TRYEXAMINESETMUSICFIDINTEGERPARSEINTMAPMAINGET“GQLX“CATCHEXCEPTIONE/TODOHANDLEEXCEPTIONUSERUSERUSERREQUESTGETSESSIONGETATTRIBUTE“GAMEUSER“IFUSERNULLTRYMSGEXAMINEDAOADDEXAMINECATCHEXCEPTIONEEPRINTSTACKTRACEPRINTWRITEROUTRESPONSEGETWRITEROUTPRINTF“安徽新华学院2015届本科毕业论文(设计)27“PARENTUPLOADCALLBACKS“,MSGCATCHEXCEPTIONEEPRINTSTACKTRACE图47上传歌曲弹出框48游戏排名界面的实现游戏排名也就是将所有用户的基本信息通过前端插件ECSIDE展现在页面中。这里涉及到一个玩家的名次。由于每次玩家的信息都在改变。所以不能直接读取数据就可以了。必须在每次读取的过程中按照玩家的等级进行排序。排序从高到低。然后每次取出一个用户的信息,再给该用户分配一个名次,然后保存在数据库中。PROTECTEDVOIDDOGETHTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSETHROWSSERVLETEXCEPTION,IOEXCEPTIONSTRINGCXYHMREQUESTGETPARAMETER“CXYHM“/用户名STRINGCXYHDJREQUESTGETPARAMETER“CXYHDJ“/等级安徽新华学院2015届本科毕业论文(设计)28STRINGWHERE“WHERE11“IFCXYHMNULL/IFCXYHDJNULL/REQUESTSETATTRIBUTE“CXYHM“,CXYHMLISTUSERLISTUSERDAOQUERYWHERE/获取当前排名INTPAIMING0INTSYGYH0IFUSERLISTNULLI“PARENTUPLOADCALLBACKS“,RESULT图49歌曲审核界面安徽新华学院2015届本科毕业论文(设计)32410本章小结本章主要对第3章中的功能需求,性能需求和概要设计进行了实现,完成了系统的设计目标。对每个功能的实现进行了详细的论述。安徽新华学院2015届本科毕业论文(设计)335测试本章主要对系统的功能进行单元测试,对系统的性能进行了测试。并对系统的测试结果进行总结。51单元测试测试时选取的硬件测试设备为1一台WINDOWS系统或者LINX系统的电脑一台利用电脑通过浏览器输入网址访问站点,能否实现正常登录,能否实现猜歌游戏,能否上传歌曲成功。能否在歌曲审核成功后玩家可以猜这首歌,能否查看自己的排名等。主要的测试用例如下1登录测试当输入正确的用户名、密码、验证码后跳到游戏菜单主界面,假如有一个不正确,并给出相应的错误信息,则还是返回到登录界面。图51返回到登录界面安徽新华学院2015届本科毕业论文(设计)34图52游戏菜单界面2猜歌流程测试,选择不同类型的歌曲能否正常进入猜歌游戏界面,随机播放的歌曲的名称是否能在按钮中找到,点击按钮是否能获取到自己想要猜的歌曲的名称,当猜错以后普通场和比赛场能否给出不同的提示,猜对以后等级、积分、金币能否正常的增加。图53选择流行歌曲后进入的界面安徽新华学院2015届本科毕业论文(设计)35图54获得玩家猜的歌曲的名称图55普通场歌曲猜对提示和奖励安徽新华学院2015届本科毕业论文(设计)36图56普通场歌曲猜错提示和奖励图57挑战赛歌曲猜对提示和奖励安徽新华学院2015届本科毕业论文(设计)37图58挑战赛歌曲猜错提示和奖惩3上传歌曲流程,玩家进行歌曲上传成功后,能否在歌曲审核中出现,管理员登录系统后能否对未审核的歌曲进行审

温馨提示

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

评论

0/150

提交评论