




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)任务书设计论文题目基于JAVA组件技术的拼图游戏软件的设计与实现题目分类工程设计;工程技术研究;软件工程(如CAI课题等);专题研究;艺术设计;其他题目来源自然科学基金与部、省、市级以上科研课题;企、事业单位委托课题;院级课题;自拟课题其他指导教师(指导教师组组长及成员姓名)职称工作单位备注1、毕业设计论文的内容和要求选题尽量与实际应用需求相结合。要求写明本设计(论文)所涉及的分析方法或技术手段;要求有学生独立的见解,设计内容要详细写明具体步骤和技术指标毕业设计论文的内容和要求内容使用JAVASWING组件开发一个拼图游戏图形界面应用软件,要求具有区分难度,统计积分,更改外观设计,背景音乐等功能。要求(1)明确需求,学习使用OOA方法对项目需求进行分析。使用OOD方法对项目进行设计。使用OOP方法对项目进行编码实现。(2)必须具备背景音乐、难度划分、统计积分以及更换外观界面的功能。(3)玩家操作界面要简洁,游戏界面要美观。(4)可增添更多的游戏附件功能。开发环境JDK15或以上版本,ECLIPSE具体步骤(1)学习或复习面向对象基本知识和JAVA相关知识。(2)认真阅读项目需求及设计需求,做好需求分析和软件设计工作。(3)编写软件测试用例,在编码过程中进行测试工作。(4)设计游戏界面,并编写相应代码。(5)编写JAVA代码,实现游戏功能。2、应完成的工作和提交材料要求(论文的撰写内容、格式、字数的要求,课题完成后应提交成果的种类、数量、质量等方面的要求)(1)撰写毕业论文不少于15000字,要求内容正确、概念清楚、条理分明、文字通顺、数据准确、图表齐全。(2)论文撰写符合(论文)撰写格式与装订要求。(3)翻译1500汉字以上的有关技术资料或专业文献,内容要尽量结合课题。翻译表达准确、通顺,外文摘要完整、准确。(4)在完成毕业论文的过程中,按期完成相关任务,并提交毕业设计(论文)开题报告、毕业设计(论文)中期进展情况检查表、指导记录表、外文翻译原文与译文等文档。(5)提交课题的可执行程序、源程序、程序流程图以及相应结论。3、主要参考文献(参考文献不少于10篇,外文不少于2篇,参考文献目录按GB/T77142005的要求填写)1(美)埃克尔JAVA编程思想(第4版)M北京机械工业出版社,20072(美)霍顿JAVA2入门经典JDK5M北京机械工业出版社,20063(美)JOSHUABLOCHEFFECTIVEJAVA中文版第2版M北京机械工业出版社,20094方英兰,韩兵,居阳等计算机软件项目实训指导M北京电子工业出版社,20115(美)YDANIELLIANGJAVA语言程序设计基础篇(英文版)M北京机械工业出版社,20116(美)YDANIELLIANGJAVA语言程序设计进阶篇(英文版)M北京机械工业出版社,20117(美)KATHYSIERRA,BERTBATESHEADFIRSTJAVA,2NDEDITIONM北京中国电力出版社,20078(美)JOSHUABLOCH,NEALGAFTERJAVATMPUZZLERSTRAPS,PITFALLS,ANDCORNERCASESM北京人民邮电出版社,20109裴龙,何大可JAVASWING组件设计模式分析J计算机应用,247175,280,200110吕校春,李玲莉基础SWING的JAVAGUI组件开发J机械工程师,129131,20084、毕业设计论文进度计划(从正式启动时间开始,以周为单位填写)(1)20112012学年第1学期第15周下达毕业设计任务书,与学生见面。进行毕业论文(设计)内容和要求的讲述,让学生理解选题的目的、意义,清楚毕业设计做什么和怎么做,需要查找哪些资料及准备课题所需的软件系统。(2)20112012学年第1学期第16周第18周充分理解任务书的内容,研读参考文献,学习课题所需软件系统的安装、使用方法。进行外文文献的翻译工作。进一步分析相关资料,整理思路,在此基础之上完成毕业论文大纲和开题报告初稿。(3)20112012学年第2学期第1周提交开题报告文档、外文文献译文和原文,进行开题报告的准备工作(PPT讲稿等)。(4)20112012学年第2学期第2周进行开题报告。(5)20112012学年第2学期第3周第6周课题的理论研究,形成课题具体方案。搭建并熟悉系统开发运行环境,进行相应的程序设计和代码编写工作。填写中期检查表,准备中期检查。(6)20112012学年第2学期第7周进行中期检查。(7)20112012学年第2学期第8周第11周完善课题方案、设计,继续程序编写和调试,分析数据,形成结论。完成毕业设计(论文)的初稿。(8)20112012学年第2学期第12周按论文撰写格式要求提交论文。相关教师对论文进行评阅。(9)20112012学年第2学期第13周根据评阅意见进行论文第一次修改。完成毕业论文的预答辩工作。(10)20112012学年第2学期第14周根据预答辩的结果进行论文第二次修改,完成论文终稿,并准备正式答辩。(11)20112012学年第2学期第15周毕业设计(论文)答辩。指导教师签字日期年月日教教学单位意见审核人签字系(院)(盖章)年月日学院意见审核专家签字年月日题目基于JAVA组件技术的拼图游戏软件的设计与实现摘要拼图游戏是一种可变性很高且耐玩的游戏,在平时空闲的时候可以自己制定图片然后享受智力拼图,空闲之余不妨放松一下。拼图是一种大人与小孩都能玩的游戏,它可以开发智力且帮助大家提高动脑解决问题的能力。玩拼图还有助于手眼协调,玩家能训练和了解“部分”与“全部”的关系,可以知道许多的“部分”能拼凑出一个“全部”,以及一个“全部”是由许多“部分”所组成的。本课题主要是用ECLIPSE对一小型游戏进行开发。选择一个游戏的拼图图片,单击方框可使图片移动,从而能够拼出一幅完整的图片,这类游戏主要考察玩家的反应能力,在游戏之余提高观察和应变能力。本游戏中通过分析JAVA游戏的开发流程,对功能进行设计。该游戏主要实现了开始游戏,更改图片可自定义图片,游戏难度选择(9宫初级,16宫中级和25宫高级),战况成绩统计,成绩排名,背景音乐等功能。游戏界面美观,操作简单,功能齐全,是广大游戏爱好者都喜欢的一款游戏,具有一定的复杂性和可玩性。关键字拼图游戏SWING八数码TITLEDESIGNANDIMPLEMENTATIONOFTHEJIGSAWPUZZLEGAMEBASEDONJAVASWINGABSTRACTAJIGSAWPUZZLEISAVERYFLEXIBLEANDPLAYABLEGAME,INYOURSPARETIME,YOUCANFORMULATEPICTURESANDENJOYTHEINTELLECTUALPUZZLE,ENJOYYOURFREETIMEJIGSAWPUZZLEISONEKINDOFGAMETHATCANBEPLAYEDBYBOTHADULTSANDCHILDRENITCANDEVELOPONESINTELLIGENCEANDCANALSOHELPUSTOIMPROVEOURABILITYTOSOLVEPROBLEMSPLAYINGPUZZLESCANALSOHELPHANDEYECOORDINATIONPLAYERSCANBETRAINEDANDUNDERSTAND“PARTS“AND“ALL“,CANKNOWTHATALOTOF“PARTS“PUTTOGETHERTOBEA“FULL“,ANDA“FULL“ISMADEUPOFMANY“PARTS“THISSUBJECTISMAINLYABOUTUSINGTHESOFTWAREOFECLIPSETODESIGNASMALLGAMECHOOSINGONEPICTUREOFTHEGAME,CLICKINGTHEBOXCANMAKETHEPICTURETOMOVE,THEREBYABLETOSPELLOUTACOMPLETEGRAPH,THISGAMEMAINLYCONSIDERTOTRAINTHEGAMEPLAYERSABILITYTORESPOND,WHILETHEGAMEIMPROVEPLAYERSOBSERVATIONANDSTRAINCAPACITYTHROUGHTHESUMMARYANDANALYSISOFTHEJAVAGAME,THEJIGSAWPUZZLEGAMEDESIGNSTHEFUNCTIONANDPROCESSTHEGAMEACHIEVEDSUCHMAINFUNCTIONTOSTARTTHEGAME,CHANGINGPICTURESCANALSOBECUSTOMIZEDPICTURE,SELECTINGTHEDIFFICULTYOFTHEGAME9HOUSEPRIMARY,INTERMEDIATEANDSENIOR16HOUSE25HOUSE,TOSTATISTICTHERESULTS,PERFORMANCERANKING,BACKGROUNDMUSICANDSOONWITHSPECIFICIMPLEMENTATION,WITHBEAUTIFULGAMEINTERFACE,WITHSIMPLEOPERATION,ANDWITHWHOLEFUNCTIONS,ITSONEOFTHEMOSTPOPULARGAMESINPLAYERSTHINKING,ANDITHASCOMPLEXITYANDPLAYABILITYKEYWORDSJIGSAWPUZZLESWING8PUZZLEQUESTION目录1前言111项目的背景与国内外研究现状112项目的目的与意义213系统开发方法介绍32项目开发语言及开发环境521JAVA语言522开发环境623ECLIPSE简述73可行性分析831可行性分析所采用的方法和步骤832评价尺度833可行性分析8331经济可行性8332技术可行性8333操作可行性94需求分析1041OOA方法介绍1042功能需求1043性能需求1144环境需求1145可靠性需求1146安全保密需求1147用户界面需求1248软件成本消耗与开发进度需求1249条件假定和限制125总体设计1351总体设计方案1352功能模块设计13521登录注册部分流程分析14522游戏功能分析1453系统流程图设计166详细设计1861数据库设计与实现18611数据库的概念18612ACCESS介绍19613数据库设计20614数据库实现2362关键算法的设计与实现26621八数码问题26622判断图片按钮是否可以移动28623自定义图片的算法29624判断拼图是否成功2963拼图游戏界面的设计与实现30631人机界面设计与实现30632界面设计过程及特色407软件测试4171测试的目的及相关问题4172测试方法4273部分测试用例42731系统启动测试42732拼图测试43733游戏难度测试43734背景音乐测试44735拼图游戏窗体外观的测试44736成绩与成绩排名的测试4574测试分析和总结45结论46致谢48参考文献491前言11项目的背景与国内外研究现状随着信息技术的飞速发展、蓬勃进步,同时随着国际互连网与相关系统的迅速普及,不同国家、行业被INTERNET连接在一起,互相通信,共享全世界的计算机资源和信息。如何保证不同格式的资料或信息能够安全、高速、自由的交流、传输就成为一个迫切解决的问题。1996年SUN公司JAVA语言的正式发表可以说是INTERNET的一次技术革命,SUN公司的一位营销天才把一门试验性的跨平台语言由象征踏实的OAK(橡树),改名为香气四溢的JAVA(咖啡)时,可能他没有想到这门语言能有后来的辉煌。事实上,如果现在SUN想为这门语言改名,以准确体现其在计算机行业的地位,似乎OAK更形象。今天,虽然JAVA语言并非真正意义上的遍地开花,但它已经出现在众多场合和设备中,而且它享有运行稳定、设计精良的美名。它实现了程序的运行不受平台的限制,在网络上不仅可以进行无格式的资料交换,还可以进行程序交换。JAVA语言具备了其它语言所没有的独特优势,它一出现就马上受到了各界人士的欢迎。JAVA的出现无疑给计算机行业带来了一股清风,它带来了许多新鲜而有趣的思想和观念。JAVASWING组件在游戏的实现上扮演着不可或缺的重要角色,SWING是一个用于开发JAVA应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。SWING提供了本机的外观和手感,模拟多个平台的外观和感觉,同时还支持一个可插拔的外观和手感,使应用程序有一个拥有外观和感觉的基础平台。它具有比AWT更强大和灵活的组件。除了熟悉的部件,如按钮,复选框和标签,SWING提供了一些先进的零部件,如卡式面板,滚动窗格,树,表,列出,因此SWING深受开发人员青睐。除此之外,他们只用很少的代码就可以利用SWING丰富、灵活的功能和模块化组件来创建优雅的用户界面。因此,可以推断JAVASWING组件在未来游戏等各个相关领域依旧会保持良好的发展势头,发扬其优势,更好的服务于JAVA游戏产业。12项目的目的与意义现代科学技术的发展,改变了人类的生活,作为新世纪的大学生,应该站在时代发展的前沿,掌握最先进的现代科学技术知识,以适应社会的发展,应能够独立地完成各种应要面临的任务,成为一名有创新意识的新型人才。目前,很多新的技术领域都涉及到了JAVA语言。JAVA语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此JAVA语言也是学习面向对象编程和网络编程的首选语言。该课题的主要目的是使JAVA游戏开发者深入理解所学的JAVA语言,并实践于该游戏设计中,深刻体会以前所学的有关JAVA程序设计方面的语言基础、异常处理、事件处理、应用程序以及图形用户界面设计等方面的知识,加深对结构化设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构等。学会使用JAVA系统,其中包括对程序的调试、运行、保存等知识的运用,还包括提高程序开发功能,能运用合理的方法简化JAVA程序的操作,开发过程中应培养分析问题、解决问题的能力。基于JAVA组件技术的拼图游戏软件是一款具有娱乐性、益智性、便捷性的游戏软件。此软件可以使用户放松心情,享受于拼图游戏的乐趣之中。该游戏软件可以让用户选择适合自己的主题与难度,根据用户的不同水平,锻炼其图片记忆能力以及拼凑还原能力。游戏结束后亦可让用户清晰了解到自己的游戏状态水平,便于调整自己对这款游戏的新的难度要求。另外要求软件设计精致,画面亲和,人机交互高效快捷,能够给用户带来人性化的服务。软件面向的主流群体集中在年轻人,但也适宜儿童或者老人使用,提供了适宜各类用户群体的图片风格与难度设置。不论是旨在轻松娱乐,还是益智教育的目的,该软件都是一款家庭生活中以及学习生活的必备软件。设计并实现基于JAVA组件技术的拼图游戏软件作为自己的毕业课题设计是对学校基础课程、专业课程以及实践课程的一次综合性考查。此外,JAVASWING组件在单机游戏平台上的应用一直处于热门,这次的系统全面的实践可以说是一次很好的锻炼,会对以后工作生活带来积极的影响。13系统开发方法介绍目前比较成熟的系统开发方法有生命周期法、原型法、面向对象法等。生命周期法把一个信息系统从其提出、分析、设计和使用,直到停止使用的整个生存期视为一个生命周期。整个生命周期划分为五个主要工作阶段可行性分析阶段、系统分析阶段、系统设计阶段、系统实施阶段和系统运行、维护与评价阶段。通常采用结构化系统分析和系统设计方法,自上而下分析、设计,强调开发过程的整体性和全局性;开发过程在时间上基本按阶段进行,任务明确;结合用户需求进行开发;开发周期长,维护不方便。适用于开发需求较明确固定的信息系统。原型法是系统开发者在初步了解用户需求的基础上,开发出能实现系统最基本功能的一个原型,再根据用户对原型使用与评价的意见,提出修改方案,修改完善原型,如此反复多次,直到得到用户满意的最终系统为止。开发过程以用户为中心,开发周期短。适用于开发需求不够明确或不断变化的软件。面向对象法以类,类的继承,聚集等概念描述客观事物以及联系。为系统的开发提供了全新的思路,面向对象方法以对象为中心。其特征主要有模块性,继承性和类比性,动态连接性。面向对象开发方法的开发过程1系统调查和需求分析对系统将要面临的具体管理问题以及用户对系统开发的需求进行调查研究,即先弄清要干什么的问题;2分析问题的性质和求解问题在繁杂的问题域中抽象地识别出对象以及其行为、结构、属性、方法等。一般称之为面向对象的分析,即OOA;3整理问题对分析的结果作进一步的抽象、归类、整理,并最终以范式的形式将它们确定下来。一般称之为面向对象的设计,即OOD;4程序实现用面向对象的程序设计语言将上一步整理的范式直接映射(即直接用程序设计语言来取代)为应用软件。一般称之为面向对象的程序,即OOP;5识别客观世界中的对象以及行为,分别独立设计出各个对象的实体;分析对象之间的联系和相互所传递的信息,由此构成信息系统的模型;由信息系统模型转换成软件系统的模型,对各个对象进行归并和整理,并确定它们之间的联系;由软件系统模型转换成目标系统。面向对象开发方法的应用范围在大型管理信息系统开发中,若不经自顶向下的整体划分,而是一开始就自底向上地采用OO方法开发系统,会造成系统结构不合理、各部分关系失调等等问题。OO方法和结构化方法在系统开发中相互依存、不可替代。综上所述,由于面向对象开发方法主要针对于各类管理系统的开发,所以该毕业设计中采用面向对象方法与原型法相结合的方法进行系统开发,主要也因为原型法是近几年发展起来的一种开发方法。该方法从一个初始信息要求的集合出发,在发展中逐步完善信息系统,更简单、易学,同时也更适合该系统的开发。使用原型法开发大体有以下几个步骤1确定系统需求;2设计初始原型,包括确定需求以及开发工作模型,例如屏幕格式、功能菜单格式以及对关键数据和功能的说明等;3对初始原型进行需求迭代,不断进行修正或改进,直至得到一个用户满意的原型,从而终止原型迭代过程;4原型效果考察,考察用户新加入的需求信息和组成成分的严格说明信息,看其对原型效果的影响,是否影响到原型的有效性,如果导致原型失败,应加以修正和改进;原型法的生命周期提供了一种完整的、灵活的、近于动态的需求定义技术。它综合了所有提出的必要需求,建立原型就近似于预先需求的规格说明。对原型的工作模型可以进行必要的剪裁和组织,以便更接近目标系统。它可以综合用户、领导和原型开发人员的各方需求。2项目开发语言及开发环境21JAVA语言1平台无关性平台无关性是指JAVA能运行于不同的平台。JAVA引进虚拟机原理,并运行于虚拟机,实现不同平台的JAVA接口之间。使用JAVA编写的程序能在世界范围内共享。JAVA的数据类型与机器无关,JAVA虚拟机(JAVAVIRTUALMACHINE)是建立在硬件和操作系统之上,实现JAVA二进制代码的解释执行功能,提供于不同平台的接口。2安全性JAVA的编程类似C,学习过C的开发者能够很快掌握JAVA的精髓。JAVA舍弃了C的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。JAVA对程序提供了安全管理器,防止程序的非法访问。3面向对象JAVA吸取了C面向对象的概念,将数据封装于类中,利用类的优点实现了程序的简洁性以及便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。JAVA提供了众多的一般对象的类,通过继承即可使用父类的方法。在JAVA中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。JAVA提供的OBJECT类及其子类的继承关系如同一棵倒立的树形,根类为OBJECT类,OBJECT类功能强大,经常会使用到它及其它派生的子类。4分布式JAVA建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。5健壮性JAVA致力于检查程序在编译和运行时的错误,类型检查帮助检查出许多开发早期出现的错误,JAVA自己操纵内存减少了内存出错的可能性,JAVA还实现了真数组,避免了覆盖数据的可能。这些功能特征大大提高了开发JAVA应用程序的周期。22开发环境图21JAVA开发环境图JAVA开发环境图如图21所示,图中表示出JAVA拼图游戏软件的开发环境、具体的目录存放以及操作环境等。其中建议使用的操作系统为MICROSOFTWINDOWSXP,程序开发语言为JAVA,下面是JDK的安装步骤以及配制方法的简单介绍。JDK下载、安装及配置JDK是整个JAVA的核心,包括了JAVA运行环境(JAVARUNTIMEENVIRONMENT),一堆JAVA工具和JAVA基础的类库(RTJAR)。第一步下载JDK6U23WINDOWSI586,ECLIPSEINDIGO;第二步安装下载好的JDK是一个可执行安装程序,执行安装即可;第三步设置环境变量打开“我的电脑属性高级环境变量系统变量”,设置以下三个变量JAVA_HOMEPATH;JAVA虚拟机的CLASSLOADER会按照CLASSPATH设定的路径搜索CLASS文件。23ECLIPSE简述ECLIPSE是一个开放源代码的基于JAVA的可扩展开发平台,是一个相当著名的开源JAVAIDE,由IBM公司开源。ECLIPSE主要以其开放性、极为高效的GUI、先进的代码编辑器等著称,其项目包括许多各种各样的子项目组,包括ECLIPSE插件、功能部件等,任何人都能够轻易的将自己的软件做成ECLIPSE的插件,而且这些插件只需简单的复制到ECLIPSE的插件文件夹下就可以被集成。ECLIPSE主要采用SWT界面库,支持多种本机界面风格。该项目中,我用到的是ECLIPSEINDIGO版本,该版本发行于2011年6月22日。3可行性分析31可行性分析所采用的方法和步骤通过研究分析拼图游戏所具备的能力及实现的方法来确定主体结构。利用现阶段我所能达到的能力,以最简洁、最容易的办法,边开发边测试边修改,实现一个初级游戏软件。32评价尺度由于本软件是一个初级产品,对其要求不是太苛刻,所以能够保证达到拼图游戏的一般功能。33可行性分析331经济可行性由于本游戏是毕业设计,不过分强调直接的经济效益和其日后的发展方向,只在注重自身水平和能力的提高,同时对自身的经济要求也不高,只要有一台能运行JAVA软件的电脑便可,所以基本上不用考虑到经济问题。332技术可行性可用与本游戏的编程语言有VB,JAVA,DELPHI等,考虑到用于编写程序的困难度,和对语言的了解程度,选择JAVA作为编程语言。需要对变量定义、变量初始化、界面初始化、游戏初始化、然后进入游戏、处理游戏过程中的各种操作。333操作可行性本游戏的开发作为毕业设计,目的在于巩固先前所学的知识,以个人为单位,仅供个人平常娱乐所用,无须考虑社会影响,不用考虑法律、版权等社会因素,且此软件的开发不触犯法律,所以在这方面是完全可行的。4需求分析41OOA方法介绍面向对象的分析方法(OOA),是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。在用OOA具体地分析一个事物时,大致上遵循如下五个基本步骤第一步,确定对象和类。这里所说的对象是对数据及其处理方式的抽象,它反映了系统保存和处理现实世界中某些事物的信息的能力。类是多个对象的共同属性和方法集合的描述,它包括如何在一个类中建立一个新对象的描述。第二步,确定结构(STRUCTURE)。结构是指问题域的复杂性和连接关系。类成员结构反映了泛化特化关系,整体部分结构反映整体和局部之间的关系。第三步,确定主题(SUBJECT)。主题是指事物的总体概貌和总体分析模型。第四步,确定属性(ATTRIBUTE)。属性就是数据元素,可用来描述对象或分类结构的实例,可在图中给出,并在对象的存储中指定。第五步,确定方法(METHOD)。方法是在收到消息后必须进行的一些处理方法方法要在图中定义,并在对象的存储中指定。对于每个对象和结构来说,那些用来增加、修改、删除和选择一个方法本身都是隐含的(虽然它们是要在对象的存储中定义的,但并不在图上给出),而有些则是显示的。42功能需求用户对于该拼图游戏软件的需求主要体现在以下几个功能1实现程序GUI图形界面;2实现游戏登录、注册、开始、退出等功能;3实现鼠标或键盘事件响应模块的功能;4实现可选难度等级功能;5实现输赢自动判别功能;6实现游戏背景音乐选择功能;7实现游戏积分功能;8实现游戏战况排名功能;9实现游戏图片更换功能,并且可以自定义图片;10实现进行游戏同时可以查看原图功能;11实现游戏外观更换功能。43性能需求要求该软件达到以下指标1保证软件安全性,软件设有登陆注册窗体,有严格的账户合法性检验过程;2保证风格多样性,提供至少三种难度选择,由易到难,适合各类用户群体;提供至少三种背景音乐选择,风格各异,适合各类用户群体;提供至少十种拼图图片供各类用户群体选择;44环境需求操作系统可以有以下几种WINXP/WINVISTA/WIN7。硬件要求奔腾四处理器,主频20GHZ,512M以上内存。45可靠性需求要保证该拼图游戏软件的稳定性,要在完成软件设计后进行软件稳定性测试,检测出该软件发生故障的概率。46安全保密需求进入游戏界面前,设有登陆窗体,用户需输入正确的用户名和密码才能登陆属于自己的账号,另外设有注册窗体,便于新用户的使用。要求保证每位用户账户信息的安全。47用户界面需求利用JAVASWING组件对该游戏软件的界面进行设计与实现,实现程序GUI图形界面,做到界面设计简洁大方,时尚新颖,适合各类用户群体使用。48软件成本消耗与开发进度需求由于该软件只作为毕业设计,用于考察学生对于JAVASWING组件的理解与应用能力,并未涉及软件的市场推广等工作,且开发该游戏的软件不需付费,属于零成本,所以暂不用考虑软件的成本消耗。开发进度严格遵守任务书中的毕业设计论文进度计划。49条件假定和限制由于本软件目前是基础版本,未做到尽善尽美。如果用户需要提高版本,本软件需要根据游戏者的要求进行进一步的修改。5总体设计51总体设计方案在登录游戏界面后,设计本程序能够载入默认图片(用户也可以选择想要的其它图片),程序默认难度为9宫格(用户也可以选择想要的其他难度),还设计实现背景音乐的播放功能等。在本程序中,对于图片的分割、拼凑、判断图片是否可以移动等都是设计的关键。总体设计方案中主要说明前期工作中对于分割图片以及判断拼图是否成功这两点的设计。对于分割图片是用像素点来实现的,同时对图片进行了自动缩放,这样一来就可以使得图片分割后看起来更连贯。拆分图片后,把分好的图片存储到一个IMAGE数组中,对于可移动的块其实是按钮,每个按钮上都有一个ICON,通过随机把IMAGE数组中的图片通过IMAGEICON的转化后附给一个按钮,并将按钮数组首先附给一个向量,然后用随机数来确定对应向量的值,然后再附给对应数组按钮,同时去除该值。也就是说在附值的时候图片顺序不变,变的而是数组按钮的顺序。对于图片的是否拼图成功的提示,主要是在每个按钮中加个STRING的属性值,而且对于正确的排序的值与正在排的各个值比较,一旦所有的按钮对应的值与正确的排序一致,则为成功。52功能模块设计关于该拼图游戏的功能木模块设计,从逻辑上分析,该拼图游戏主要分成2块,也就是主要的两个窗体,分别为登录注册部分和游戏部分,其中游戏部分又分为游戏菜单部分以及帮助菜单部分,下面就从这几部分对该款拼图游戏进行功能设计分析。521登录注册部分流程分析启动程序输入用户名和密码合法性检查读取权限进入游戏界面结束NNY账户检测注册账号Y图51登录注册流程分析登陆注册流程的分析图如图51所示,启动程序后,首先是登录界面,在登陆界面中,用户只有输入正确的账号和密码才能进行合法性检查,才可以进入拼图游戏界面进行游戏,否则进不去系统,在这里也可以通过选择注册账号进入系统。522游戏功能分析游戏部分主要分为游戏主菜单和帮助菜单2部分1游戏主菜单功能分析游戏菜单包括(1)开始游戏;(2)更换图片包括游戏自带图片和自定义图片;(3)难度选择包括初级难度,中级难度和高级难度;(4)战况成绩;(5)成绩排名;(6)背景音乐包括三种游戏背景音乐可供选择;(7)退出游戏。拼图游戏菜单开始游戏更换图片难度选择战况成绩成绩排名退出游戏背景音乐系统自带用户定义初级难度中级难度高级难度背景音乐1背景音乐2背景音乐3图52拼图游戏菜单功能结构图拼图游戏菜单功能的结构图如图52所示,图中表示拼图游戏菜单有七个一级菜单选项,分别是开始游戏、更换图片、难度选择、战况成绩、成绩排名、背景音乐以及退出成绩这几个菜单选项。又有二级菜单选项,分别为更换图片里的图片选择、难度选择中的三种难度选择以及背景音乐中的三种音乐选择。2帮助菜单功能分析帮助菜单功能包括(1)原图效果,主要是在游戏过程中给用户提供原图,方便用户游戏操作;(2)游戏帮助;(3)关于软件信息(4)游戏外观,游戏外观包括三种风格可供选择。帮助菜单原图效果游戏帮助关于系统游戏外观图53帮助菜单功能结构图帮助菜单功能结构图如图53所示,图中表示出帮助菜单中有四个菜单选项,分别为原图效果、游戏帮助、游戏外观、以及关于系统的介绍这几个菜单选项。其中游戏外观菜单选项中有三个子选项,分别为WINDOWS外观、JAVA外观以及系统外观三种选择。53系统流程图设计图54流程图符号在绘制程序框图时,使用的符号说明如图54所示,拼图游戏系统处理方式的合理选择,其实就是一个处理过程的设计问题。选择处理方式实际上就是根据系统的任务、目标和环境条件,合理地选择信息活动的形态及具体方法。程序流程图又称为方框图。表示方法简明直观,是用来描述程序执行的逻辑过程的。它把程序的基本步骤归纳为处理、判断、输入/输出、开始和结束等几个基本功能,并用不同的记号加以表示,从而描述程序的执行过程。返回主界面功能选择拼图游戏菜单和帮助菜单功能选择输入/输出操作信息进入是否继续YN图55拼图游戏系统流程图拼图游戏系统流程图如图55所示,进入系统后,用户可选择各功能进行游戏,此时亦可选择退出。选择各功能可分别从游戏菜单和帮助菜单中选择,游戏菜单中有开始游戏、难度选择、图片更改、背景音乐选择、战况排名、游戏成绩以及退出游戏等,帮助菜单中有原图显示、游戏帮助、关于系统等功能选择。根据用户的功能选择会输出具体对应的操作信息,直至游戏结束。6详细设计61数据库设计与实现611数据库的概念数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着WORLDWIDEWEBWWW的猛增及INTERNET技术的迅速发展,使得数据库技术之时成为最热门技术之一。数据库技术能使INTERNET应用超越具有早期应用特点的简单的发布。同时,INTERNET技术提供了一种向用户发布数据库内容的标准化的访问方法。这些技术没有脱离经典数据库技术的要求。它们只是加重了数据库技术的重要性。数据库的设计和开发及包括艺术有包括工程。理解用户的需求,然后,把它们转变为有效的数据库设计是一个艺术过程。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一个工程过程。数据库的目的是帮助人们跟踪事务。经典的数据库应用涉及诸如订单、顾客、工作、员工、电话之类的项,或其它数据量较大、需要密切关注的事务。最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于INTERNET的数据库或用于公司内联网的数据库。数据库也被越来越多地应用于生成和维护多媒体应用程序上。计算机的数据处理应用,首先要把大量的信息以数据形式存放在存储器中。存储器的容量、存储速率直接影响到数据管理技术的发展。从1956年生产出第一台计算机到现在,存储器的发展,为数据库技术提供了良好的物质基础。设计数据库系统时,应该首先了解用户的各个方面的需求,包括现有的以及将来可能增加的。612ACCESS介绍ACCESS是微软公司推出的基于WINDOWS的桌面关系数据库管理系统(RDBMS,即RELATIONALDATABASEMANAGEMENTSYSTEM),是OFFICE系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。ACCESS能够存取ACCESS/JET、MICROSOFTSQLSERVER、ORACLE甲骨文软件公司,或者任何ODBC兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的“进阶用户“则能使用它来开发简单的应用软件。虽然它支援部分面向对象(OOP)技术,但是未能成为一种完整的面向对象开发工具。ACCESS的优点主要体现在以下几个方面1存储方式简单,易于维护管理,ACCESS管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(MDB或ACCDB)的数据库文件中,便于用户的操作和管理。2面向对象ACCESS是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。3界面友好、易操作,ACCESS是一个可视化工具,是风格与WINDOWS完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。4集成环境、处理多种数据信息,ACCESS基于WINDOWS操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。5该ACCESS支持ODBC(开发数据库互连,OPENDATABASECONNECTIVITY),利用ACCESS强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可以在一个数据表中嵌入位图、声音、EXCEL表格、WORD文档,还可以建立动态的数据库报表和窗体等。ACCESS还可以将程序应用于网络,并与网络上的动态数据相联接。利用数据库访问页对象生成HTML文件,轻松构建INTERNET/INTRANET的应用。6支持广泛,易于扩展,弹性较大,能够将通过链接表的方式来打开EXCEL文件、格式化文本文件等,这样就可以利用数据库的高效率对其中的数据进行查询、处理。还可以通过以ACCESS作为前台客户端,以SQLSERVER作为后台数据库的方式(如ADP)开发大型数据库应用系统。总之,ACCESS是一个既可以只用来存放数据的数据库,也可以作为一个客户端开发工具来进行数据库应用系统开发;即可以开发方便易用的小型软件,也可以用来开发大型的应用系统。613数据库设计其实在拼图游戏主体中并没用到数据库,数据库在此拼图游戏中主要是用来保存用户信息和用户游戏成绩信息的,因此拼图游戏主要包括2张表1用户信息表表61用户信息表(USERINFO)用户信息表在拼图游戏中主要体现在用户登录和用户注册信息的保存,如表61所示,建立用户信息表USERINFO,其中具备UNAME和UPWD(即用户名和密码)这两项用户信息,这两项的数据类型均为文本类型。设置字段名称分别为UNAME以及UPWD,分别代表用户名以及密码两个项目。创建用户信息表用来存储用各位用户的用户名以及密码这两项信息。2成绩信息表表62成绩信息表GRADE成绩信息表在拼图游戏中主要体现在用户个人战况成绩和成绩排名信息的保存,如表62所示,创建成绩信息表,用来存储各位用户的成绩信息,其中包括用户名、等级、分数以及时间这四项信息,数据类型分别为文本、数字、数字和日期/时间。设置字段名称分别为UNAME、VERSION、POINT以及TIME,分别代表用户名、等级、分数以及时间这四个项目。图61ER图符号说明ER图是由实体、属性、联系三部分组成,其符号表示如图61所示,实体联系图ENTITYRELATIONDIAGRAM用来建立数据模型,在数据库系统概论中属于概念设计阶段,形成一个独立于机器,独立于DBMS的ER图模型。通常将它简称为ER图,相应地可把用ER图描绘的数据模型称为ER模型。ER图提供了表示实体(即数据对象)、属性和联系的方法,用来描述现实世界的概念模型。本拼图游戏中有2个实体,用户信息的ER图如图62所示USERINFO(UNAME,UPWD)USERINFOUNAMEUPWD图62USERINFOER图图62为USERINFOER图,即用户信息ER图。在用户信息的ER图中,有两个实体,分别为UNAME以及UPAWD这两项,分别表示用户名以及密码这两项,图62表示出用户信息表中的实体联系图,可以让人清晰地看出用户信息表中所包含的数据库信息,并反映其属性。GRADE(UNAME,VERSION,POINT,TIME)GRADEUNAMETIMEVERSIONPOINT图63GRADEER图如图63所示,图为GRADEER图,其中包含UNAME、VERSION、POINT以及TIME这四项,分别代表用户名、等级、分数以及时间这四项。该图表示出用户成绩信息表中的数据关系。可以让人清晰地看出用户信息表中所包含的数据库信息,并反映其属性。USERINFOGRADE属于1N图64全局ER图如图64所示,图为全局ER图,反映出该数据库系统中所包含的数据库信息。有USERINFO以及GRADE这两个实体。1个用户可以有N个成绩,但是1个成绩只能属于1个用户,因此用户和成绩是1对多的关系,得出下面实体关系图614数据库实现1数据库的连接PRIVATESTATICVOIDCREATECONNTRYCLASSFORNAMEDRIVER/加载驱动TRYCONNDRIVERMANAGERGETCONNECTIONURL/到得数据库连接CATCHSQLEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKEPRINTSTACKTRACECATCHCLASSNOTFOUNDEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKEPRINTSTACKTRACE用JAVA访问数据库首先要加载数据库驱动,然后才能连接数据库。设计中涉及到了DAO(DATAACCESSOBJECT数据访问对象)。DAO就是处理数据库的操作;MODEL就是DAO进行操作的数据对象。也就是说,DAO是操作数据库的,提供对数据库的基本操作,MODEL利用DAO里的方法完成业务逻辑处理,本身不涉及对数据库的操作。2查询指定用户信息的实现PUBLICINTSELECTUSERUSERINFOUIINTCOUNT0STATEMENTSTNULL/执行操作对象TRYSTCONNCREATESTATEMENT/创建执行操作对象CATCHSQLEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKEPRINTSTACKTRACETRYRESULTSETRSSTEXECUTEQUERY“SELECTFROMUSERINFOWHEREUNAME“UIGETUNAME“IFRSNEXTCOUNT1CATCHSQLEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKEPRINTSTACKTRACERETURNCOUNT/返回结果定义静态SQL语句命令,创建执行操作对象,执行SQL语句,用户可根据自己的需要输入自己所想查询的用户的信息,该段代码是执行查询操作,查询指定的用户的信息,即执行SELECTFROM操作,执行后将数据返回到结果中。其间,若操作有误便会通过TRYCATCH语句抛出异常。3注册用户信息的实现PUBLICINTREGISTERUSERINFOUISTATEMENTSMNULLINTCOUNT0TRYSMCONNCREATESTATEMENTCOUNTSMEXECUTEUPDATE“INSERTINTOUSERINFOVALUES“UIGETUNAME“,“UIGETUPWD“CATCHSQLEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKEPRINTSTACKTRACERETURNCOUNT注册用户信息的实现主要是通过定义执行操作对象,创建执行操作对象,执行数据库语句,即EXECUTEUPDATE语句。用户可输入用户名和密码来实现注册工作,之后数据库会执行更新操作,将新注册的用户信息更新到原有数据库中。4更新用户得分的实现PUBLICINTINSERTGRADEGRADEGDSTATEMENTSMNULLINTCOUNT0TRYSMCONNCREATESTATEMENTCOUNTSMEXECUTEUPDATE“INSERTINTOGRADEVALUES“GDGETUNAME“,“GDGETVESION“,“GDGETPOINT“,NOW“CATCHSQLEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKEPRINTSTACKTRACERETURNCOUNT更新用户得分主要是通过定义执行操作对象,创建执行操作对象,然后执行数据库语句,即EXECUTEUPDATE语句。用户输入用户名、等级、得分信息,数据库执行查询动作,并将新的用户信息更新至原数据库中。利用TRYCATCH语句,一旦程序出现错误,程序会报错。5查询指定用户的得分信息PUBLICARRAYLISTSELECTGRADEGRADEGDSTATEMENTSMNULLRESULTSETRSNULLARRAYLISTALGRADENEWARRAYLISTTRYSMCONNCREATESTATEMENT/创建执行操作对象RSSMEXECUTEQUERY“SELECTFROMGRADEWHEREUNAME“GDGETUNAME“ANDVERSION“GDGETVESIONWHILERSNEXTGRADEGNEWGRADEALGRADEADDGCATCHSQLEXCEPTIONE/TODOAUTOGENERATEDCATCHBLOCKEPRINTSTACKT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 麻醉吸入性肺炎的护理
- 电子竞技赛事商业赞助策略研究报告:2025年品牌合作案例深度解读
- 2025年罕见病药物研发激励政策与罕见病药物价格监管政策研究报告
- 2025年航空货运市场结构优化与发展策略深度研究报告
- 物联网技术概论 教学大纲和授课计划
- 2025年房地产中介行业规范发展与服务质量提升实证分析报告
- 当前社会热点难点分析
- 下周工作计划模板范文(10篇)
- 公司财务及报销管理制度
- 员工摩托车停放管理制度
- 2025年泸州市中考数学试卷真题(含答案解析)
- 2025年四川省自贡市中考数学真题含答案
- 2025年安徽省医师考核管理试题
- 胃管护理操作规范与管理要点
- 堆肥技术课件视频
- 工厂计件考勤管理制度
- 人文关怀在护理工作中的意义
- 2024北京初三一模英语汇编:材料作文
- T/CCMA 0137-2022防撞缓冲车
- GB/T 20854-2025金属和合金的腐蚀循环暴露在盐雾、“干”和“湿”条件下的加速试验
- 麻风病知识讲座课件
评论
0/150
提交评论