版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业设计(论文)任务书设计(论文)题目基于java组件技术的拼图游戏软件的设计与实现 题目分类 工程设计; 工程技术研究; 软件工程(如cai课题等); 专题研究;艺术设计; 其他 题目来源 自然科学基金与部、省、市级以上科研课题; 企、事业单位委托课题; 院级课题; 自拟课题 其他 指导教师(指导教师组组长及成员姓名)职 称工作单位备注1、 毕业设计(论文)的内容和要求(选题尽量与实际应用需求相结合。要求写明本设计(论文)所涉及的分析方法或技术手段;要求有学生独立的见解,设计内容要详细写明具体步骤和技术指标):毕业设计(论文)的内容和要求: 内容: 使用java swing 组件开发一个拼图
2、游戏图形界面应用软件,要求具有区分难度, 统计积分,更改外观设计,背景音乐等功能。 要求:(1)明确需求,学习使用ooa方法对项目需求进行分析。使用ood方法对项目进行设计。使用oop方法对项目进行编码实现。 (2)必须具备背景音乐、难度划分、统计积分以及更换外观界面的功能。 (3)玩家操作界面要简洁,游戏界面要美观。 (4)可增添更多的游戏附件功能。开发环境:jdk1.5或以上版本,eclipse具体步骤:(1)学习或复习面向对象基本知识和java相关知识。(2)认真阅读项目需求及设计需求,做好需求分析和软件设计工作。(3)编写软件测试用例,在编码过程中进行测试工作。(4)设计游戏界面,并编
3、写相应代码。(5)编写java代码,实现游戏功能。 2、应完成的工作和提交材料要求(论文的撰写内容、格式、字数的要求,课题完成后应提交成果的种类、数量、质量等方面的要求):(1)撰写毕业论文不少于15000字,要求内容正确、概念清楚、条理分明、文字通顺、数据准确、图表齐全。(2)论文撰写符合(论文)撰写格式与装订要求。(3)翻译1500汉字以上的有关技术资料或专业文献,内容要尽量结合课题。翻译表达准确、通顺,外文摘要完整、准确。(4)在完成毕业论文的过程中,按期完成相关任务,并提交毕业设计(论文)开题报告、毕业设计(论文)中期进展情况检查表、指导记录表、外文翻译原文与译文等文档。(5)提交课题
4、的可执行程序、源程序、程序流程图以及相应结论。3、主要参考文献(参考文献不少于10篇,外文不少于2篇,参考文献目录按gb/t77142005的要求填写): 1(美)埃克尔. java编程思想(第4版)m. 北京:机械工业出版社,2007.2(美)霍顿. java 2 入门经典jdk 5m. 北京:机械工业出版社,2006.3(美)joshua bloch. effective java中文版(第2版)m. 北京:机械工业出版社,2009.4 方英兰,韩兵,居阳等. 计算机软件项目实训指导m.北京:电子工业出版社,2011.5(美)y.daniel liang. java语言程序设计:基础篇(英
5、文版)m.北京:机械工业出版社,2011.6(美)y.daniel liang. java语言程序设计:进阶篇(英文版)m.北京:机械工业出版社,2011.7(美)kathy sierra ,bert bates. head first java, 2nd editionm.北京:中国电力出版社,2007.8(美)joshua bloch,neal gafter. java(tm) puzzlers: traps, pitfalls, and corner casesm.北京:人民邮电出版社,2010.9 裴龙,何大可.java swing组件设计模式分析j.计算机应用,247-175,280
6、,2001.10 吕校春,李玲莉.基础swing的java gui组件开发j.机械工程师,129-131,2008.4、毕业设计(论文)进度计划(从正式启动时间开始,以周为单位填写):(1)2011-2012学年第1学期第15周:下达毕业设计任务书,与学生见面。进行毕业论文(设计)内容和要求的讲述,让学生理解选题的目的、意义,清楚毕业设计做什么和怎么做,需要查找哪些资料及准备课题所需的软件系统。(2)2011-2012学年第1学期第16周第18周:充分理解任务书的内容,研读参考文献,学习课题所需软件系统的安装、使用方法。进行外文文献的翻译工作。进一步分析相关资料,整理思路,在此基础之上完成毕业
7、论文大纲和开题报告初稿。(3)2011-2012学年第2学期第1周:提交开题报告文档、外文文献译文和原文,进行开题报告的准备工作(ppt讲稿等)。(4)2011-2012学年第2学期第2周:进行开题报告。(5)2011-2012学年第2学期第3周第6周:课题的理论研究,形成课题具体方案。搭建并熟悉系统开发运行环境,进行相应的程序设计和代码编写工作。填写中期检查表,准备中期检查。(6)2011-2012学年第2学期第7周:进行中期检查。(7)2011-2012学年第2学期第8周第11周:完善课题方案、设计,继续程序编写和调试,分析数据,形成结论。完成毕业设计(论文)的初稿。(8)2011-201
8、2学年第2学期第12周:按论文撰写格式要求提交论文。相关教师对论文进行评阅。(9)2011-2012学年第2学期第13周:根据评阅意见进行论文第一次修改。完成毕业论文的预答辩工作。(10)2011-2012学年第2学期第14周:根据预答辩的结果进行论文第二次修改,完成论文终稿,并准备正式答辩。(11)2011-2012学年第2学期第15周:毕业设计(论文)答辩。指导教师签字: 日期: 年 月 日教教学单位意见审核人签字:系(院)(盖章)年 月 日学院意见审核专家签字:年 月 日题目基于java组件技术的拼图游戏软件的设计与实现摘要拼图游戏是一种可变性很高且耐玩的游戏,在平时空闲的时候可以自己制
9、定图片然后享受智力拼图,空闲之余不妨放松一下。拼图是一种大人与小孩都能玩的游戏,它可以开发智力且帮助大家提高动脑解决问题的能力。玩拼图还有助于手眼协调,玩家能训练和了解“部分”与“全部”的关系,可以知道许多的“部分”能拼凑出一个“全部”,以及一个“全部”是由许多“部分”所组成的。本课题主要是用eclipse对一小型游戏进行开发。选择一个游戏的拼图图片,单击方框可使图片移动,从而能够拼出一幅完整的图片,这类游戏主要考察玩家的反应能力,在游戏之余提高观察和应变能力。本游戏中通过分析java游戏的开发流程,对功能进行设计。该游戏主要实现了开始游戏,更改图片(可自定义图片),游戏难度选择(9宫初级,1
10、6宫中级和25宫高级),战况成绩统计,成绩排名,背景音乐等功能。游戏界面美观,操作简单,功能齐全,是广大游戏爱好者都喜欢的一款游戏,具有一定的复杂性和可玩性。关键字:拼图游戏 swing 八数码title design and implementation of the jigsaw puzzle game based on java swingabstracta jigsaw puzzle is a very flexible and playable game, in your spare time, you can formulate pictures and enjoy the int
11、ellectual puzzle, enjoy your free time. jigsaw puzzle is one kind of game that can be played by both adults and children. it can develop ones intelligence and can also help us to improve our ability to solve problems. playing puzzles can also help hand-eye coordination. players can be trained and un
12、derstand parts and all, can know that a lot of parts put together to be a full, and a full is made up of many parts.this subject is mainly about using the software of eclipse to design a small game. choosing one picture of the game, clicking the box can make the picture to move, thereby able to spel
13、l out a complete graph, this game mainly consider to train the game player s ability to respond, while the game improve players observation and strain capacity.through the summary and analysis of the java game, the jigsaw puzzle game designs the function and process. the game achieved such main func
14、tion: to start the game, changing pictures (can also be customized picture), selecting the difficulty of the game (9 house primary, intermediate and senior16 house25 house), to statistic the results, performance ranking, background music and so on. with specific implementation, with beautiful game i
15、nterface, with simple operation, and with whole functions, its one of the most popular games in players thinking, and it has complexity and playability.keywords:jigsaw puzzle swing 8 puzzle question目录1 前 言11.1 项目的背景与国内外研究现状11.2 项目的目的与意义21.3 系统开发方法介绍32 项目开发语言及开发环境52.1 java语言52.2 开发环境62.3 eclipse简述73
16、可行性分析83.1 可行性分析所采用的方法和步骤83.2 评价尺度83.3 可行性分析83.3.1 经济可行性83.3.2 技术可行性83.3.3 操作可行性94 需求分析104.1 ooa方法介绍104.2 功能需求104.3 性能需求114.4 环境需求114.5 可靠性需求114.6 安全保密需求114.7 用户界面需求124.8 软件成本消耗与开发进度需求124.9 条件假定和限制125 总体设计135.1 总体设计方案135.2 功能模块设计135.2.1 登录注册部分流程分析145.2.2 游戏功能分析145.3 系统流程图设计166 详细设计186.1 数据库设计与实现186.1
17、.1 数据库的概念186.1.2 access介绍196.1.3 数据库设计206.1.4 数据库实现236.2 关键算法的设计与实现266.2.1 八数码问题266.2.2 判断图片按钮是否可以移动286.2.3 自定义图片的算法296.2.4 判断拼图是否成功296.3 拼图游戏界面的设计与实现306.3.1 人机界面设计与实现306.3.2 界面设计过程及特色407 软件测试417.1 测试的目的及相关问题417.2 测试方法427.3 部分测试用例427.3.1 系统启动测试427.3.2 拼图测试437.3.3 游戏难度测试437.3.4 背景音乐测试447.3.5 拼图游戏窗体外观
18、的测试447.3.6 成绩与成绩排名的测试457.4 测试分析和总结45结 论46致 谢48参考文献491 前 言1.1 项目的背景与国内外研究现状随着信息技术的飞速发展、蓬勃进步,同时随着国际互连网与相关系统的迅速普及,不同国家、行业被internet连接在一起,互相通信,共享全世界的计算机资源和信息。如何保证不同格式的资料或信息能够安全、高速、自由的交流、传输就成为一个迫切解决的问题。1996年sun公司java语言的正式发表可以说是internet的一次技术革命,sun公司的一位营销天才把一门试验性的跨平台语言由象征踏实的oak(橡树),改名为香气四溢的java(咖啡)时,可能他没有想到
19、这门语言能有后来的辉煌。事实上,如果现在sun想为这门语言改名,以准确体现其在计算机行业的地位,似乎oak更形象。今天,虽然java语言并非真正意义上的遍地开花,但它已经出现在众多场合和设备中,而且它享有运行稳定、设计精良的美名。它实现了程序的运行不受平台的限制,在网络上不仅可以进行无格式的资料交换,还可以进行程序交换。java语言具备了其它语言所没有的独特优势,它一出现就马上受到了各界人士的欢迎。java的出现无疑给计算机行业带来了一股清风,它带来了许多新鲜而有趣的思想和观念。java swing组件在游戏的实现上扮演着不可或缺的重要角色,swing是一个用于开发java应用程序用户界面的开
20、发工具包。它以抽象窗口工具包(awt)为基础使跨平台应用程序可以使用任何可插拔的外观风格。components than the earlier abstract window toolkit .swing提供了本机的外观和手感 ,模拟多个平台的外观和感觉,同时还支持一个可插拔的外观和手感 ,使应用程序有一个拥有外观和感觉的基础平台。 it has more powerful and flexible components than awt.它具有比awt更强大和灵活的组件。in addition to familiar components such as buttons, check bo
21、x and labels, swing provides several advanced components such as tabbed panel, scroll panes, trees, tables and lists.除了熟悉的部件,如按钮,复选框和标签,swing提供了一些先进的零部件,如卡式面板,滚动窗格,树,表,列出,因此swing深受开发人员青睐。除此之外,他们只用很少的代码就可以利用swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。因此,可以推断java swing组件在未来游戏等各个相关领域依旧会保持良好的发展势头,发扬其优势,更好的服务于java游戏产业
22、。1.2 项目的目的与意义现代科学技术的发展,改变了人类的生活,作为新世纪的大学生,应该站在时代发展的前沿,掌握最先进的现代科学技术知识,以适应社会的发展,应能够独立地完成各种应要面临的任务,成为一名有创新意识的新型人才。目前,很多新的技术领域都涉及到了java语言。java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此java 语言也是学习面向对象编程和网络编程的首选语言。该课题的主要目的是使java游戏开发者深入理解所学的java语言,并实践于该游戏设计中,深刻体会以前所学的有关java 程序设计方面的语言基础、异常处理、事件处理、应用程序以及图形用户界面设计等方面的知识,
23、加深对结构化设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构等。学会使用java系统,其中包括对程序的调试、运行、保存等知识的运用,还包括提高程序开发功能,能运用合理的方法简化java程序的操作,开发过程中应培养分析问题、解决问题的能力。基于java组件技术的拼图游戏软件是一款具有娱乐性、益智性、便捷性的游戏软件。此软件可以使用户放松心情,享受于拼图游戏的乐趣之中。该游戏软件可以让用户选择适合自己的主题与难度,根据用户的不同水平,锻炼其图片记忆能力以及拼凑还原能力。游戏结束后亦可让用户清晰了解到自己的游戏状态水平,便于调整自己对这款游戏的新的难度要求。另外要求软件设计精致,画面亲和
24、,人机交互高效快捷,能够给用户带来人性化的服务。软件面向的主流群体集中在年轻人,但也适宜儿童或者老人使用,提供了适宜各类用户群体的图片风格与难度设置。不论是旨在轻松娱乐,还是益智教育的目的,该软件都是一款家庭生活中以及学习生活的必备软件。 设计并实现基于java组件技术的拼图游戏软件作为自己的毕业课题设计是对学校基础课程、专业课程以及实践课程的一次综合性考查。此外,java swing组件在单机游戏平台上的应用一直处于热门,这次的系统全面的实践可以说是一次很好的锻炼,会对以后工作生活带来积极的影响。1.3 系统开发方法介绍目前比较成熟的系统开发方法有:生命周期法、原型法、面向对象法等。生命周期
25、法:把一个信息系统从其提出、分析、设计和使用,直到停止使用的整个生存期视为一个生命周期。整个生命周期划分为五个主要工作阶段:可行性分析阶段、系统分析阶段、系统设计阶段、系统实施阶段和系统运行、维护与评价阶段。通常采用结构化系统分析和系统设计方法,自上而下分析、设计,强调开发过程的整体性和全局性;开发过程在时间上基本按阶段进行,任务明确;结合用户需求进行开发;开发周期长,维护不方便。适用于开发需求较明确固定的信息系统。原型法:是系统开发者在初步了解用户需求的基础上,开发出能实现系统最基本功能的一个原型,再根据用户对原型使用与评价的意见,提出修改方案,修改完善原型,如此反复多次,直到得到用户满意的
26、最终系统为止。开发过程以用户为中心,开发周期短。适用于开发需求不够明确或不断变化的软件。面向对象法:以类,类的继承,聚集等概念描述客观事物以及联系。为系统的开发提供了全新的思路,面向对象方法以对象为中心。其特征主要有模块性,继承性和类比性,动态连接性。面向对象开发方法的开发过程:1. 系统调查和需求分析:对系统将要面临的具体管理问题以及用户对系统开发的需求进行调查研究,即先弄清要干什么的问题; 2. 分析问题的性质和求解问题:在繁杂的问题域中抽象地识别出对象以及其行为、结构、属性、方法等。一般称之为面向对象的分析,即ooa; 3. 整理问题:对分析的结果作进一步的抽象、归类、整理,并最终以范式
27、的形式将它们确定下来。一般称之为面向对象的设计,即ood;4. 程序实现:用面向对象的程序设计语言将上一步整理的范式直接映射(即直接用程序设计语言来取代)为应用软件。一般称之为面向对象的程序,即oop; 5. 识别客观世界中的对象以及行为,分别独立设计出各个对象的实体;分析对象之间的联系和相互所传递的信息,由此构成信息系统的模型;由信息系统模型转换成软件系统的模型,对各个对象进行归并和整理,并确定它们之间的联系;由软件系统模型转换成目标系统。 面向对象开发方法的应用范围:在大型管理信息系统开发中,若不经自顶向下的整体划分,而是一开始就自底向上地采用oo方法开发系统,会造成系统结构不合理、各部分
28、关系失调等等问题。oo方法和结构化方法在系统开发中相互依存、不可替代。综上所述,由于面向对象开发方法主要针对于各类管理系统的开发,所以该毕业设计中采用面向对象方法与原型法相结合的方法进行系统开发,主要也因为原型法是近几年发展起来的一种开发方法。该方法从一个初始信息要求的集合出发,在发展中逐步完善信息系统,更简单、易学,同时也更适合该系统的开发。使用原型法开发大体有以下几个步骤:1确定系统需求;2设计初始原型,包括确定需求以及开发工作模型,例如屏幕格式、功能菜单格式以及对关键数据和功能的说明等;3对初始原型进行需求迭代,不断进行修正或改进,直至得到一个用户满意的原型,从而终止原型迭代过程;4原型
29、效果考察,考察用户新加入的需求信息和组成成分的严格说明信息,看其对原型效果的影响,是否影响到原型的有效性,如果导致原型失败,应加以修正和改进;原型法的生命周期提供了一种完整的、灵活的、近于动态的需求定义技术。它综合了所有提出的必要需求,建立原型就近似于预先需求的规格说明。对原型的工作模型可以进行必要的剪裁和组织,以便更接近目标系统。它可以综合用户、领导和原型开发人员的各方需求。 2 项目开发语言及开发环境2.1 java语言1. 平台无关性 平台无关性是指java能运行于不同的平台。java引进虚拟机原理,并运行于虚拟机,实现不同平台的java接口之间。使用java编写的程序能在世界范围内共享
30、。java的数据类型与机器无关,java虚拟机(java virtual machine)是建立在硬件和操作系统之上,实现java二进制代码的解释执行功能,提供于不同平台的接口。 2. 安全性 java的编程类似c+,学习过c+的开发者能够很快掌握java的精髓。java舍弃了c+的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。java对程序提供了安全管理器,防止程序的非法访问。 3. 面向对象 java 吸取了c+面向对象的概念,将数据封装于类中,利用类的优点实现了程序的简洁性以及便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一
31、次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。java 提供了众多的一般对象的类,通过继承即可使用父类的方法。在 java 中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。java 提供的object 类及其子类的继承关系如同一棵倒立的树形,根类为 object 类,object 类功能强大,经常会使用到它及其它派生的子类。 4. 分布式 java建立在扩展tcp/ip网络平台上。库函数提供了用http和ftp协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。 5. 健壮性 java致力于检查程序在
32、编译和运行时的错误,类型检查帮助检查出许多开发早期出现的错误,java自己操纵内存减少了内存出错的可能性,java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大提高了开发java应用程序的周期。2.2 开发环境 图2-1 java开发环境图java开发环境图如图2-1所示,图中表示出java拼图游戏软件的开发环境、具体的目录存放以及操作环境等。其中建议使用的操作系统为microsoft windows xp,程序开发语言为java,下面是jdk的安装步骤以及配制方法的简单介绍。jdk下载、安装及配置:jdk是整个java的核心,包括了java运行环境(java runtime envi
33、ronment),一堆java工具和java基础的类库(rt.jar)。第一步:下载jdk-6u23-windows-i586,eclipse indigo;第二步:安装下载好的jdk是一个可执行安装程序,执行安装即可;第三步:设置环境变量打开“我的电脑属性高级环境变量系统变量”,设置以下三个变量:java_home= path=;java虚拟机的classloader会按照classpath设定的路径搜索class文件。2.3 eclipse简述 eclipse是一个开放源代码的基于java的可扩展开发平台,是一个相当著名的开源java ide,由ibm公司开源。eclipse主要以其开放性
34、、极为高效的gui、先进的代码编辑器等著称,其项目包括许多各种各样的子项目组,包括 eclipse插件、功能部件等,任何人都能够轻易的将自己的软件做成eclipse的插件,而且这些插件只需简单的复制到eclipse的插件文件夹下就可以被集成。eclipse主要采用swt界面库,支持多种本机界面风格。该项目中,我用到的是eclipse indigo版本,该版本发行于2011年6月22日。3 可行性分析3.1 可行性分析所采用的方法和步骤通过研究分析拼图游戏所具备的能力及实现的方法来确定主体结构。利用现阶段我所能达到的能力,以最简洁、最容易的办法,边开发边测试边修改,实现一个初级游戏软件。3.2
35、评价尺度由于本软件是一个初级产品,对其要求不是太苛刻,所以能够保证达到拼图游戏的一般功能。3.3 可行性分析3.3.1 经济可行性由于本游戏是毕业设计,不过分强调直接的经济效益和其日后的发展方向,只在注重自身水平和能力的提高,同时对自身的经济要求也不高,只要有一台能运行java软件的电脑便可,所以基本上不用考虑到经济问题。3.3.2 技术可行性可用与本游戏的编程语言有vb,java,delphi等,考虑到用于编写程序的困难度,和对语言的了解程度,选择java作为编程语言。需要对变量定义、变量初始化、界面初始化、游戏初始化、然后进入游戏、处理游戏过程中的各种操作。3.3.3 操作可行性本游戏的开
36、发作为毕业设计,目的在于巩固先前所学的知识,以个人为单位,仅供个人平常娱乐所用,无须考虑社会影响,不用考虑法律、版权等社会因素,且此软件的开发不触犯法律,所以在这方面是完全可行的。4 需求分析4.1 ooa方法介绍面向对象的分析方法(ooa),是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。ooa与结构化分析有较大的区别。ooa所强调的是在系统调查资料的基础上,针对oo方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。在用ooa具体地分析一个事物时,大致上遵循如下五个基本步骤: 第一步,确定对象和类。这里所说的对象是对数据及其处理方式的抽象,
37、它反映了系统保存和处理现实世界中某些事物的信息的能力。类是多个对象的共同属性和方法集合的描述,它包括如何在一个类中建立一个新对象的描述。 第二步,确定结构(structure)。结构是指问题域的复杂性和连接关系。类成员结构反映了泛化-特化关系,整体-部分结构反映整体和局部之间的关系。 第三步,确定主题(subject)。主题是指事物的总体概貌和总体分析模型。 第四步,确定属性(attribute)。属性就是数据元素,可用来描述对象或分类结构的实例,可在图中给出,并在对象的存储中指定。 第五步,确定方法(method)。方法是在收到消息后必须进行的一些处理方法:方法要在图中定义,并在对象的存储中
38、指定。对于每个对象和结构来说,那些用来增加、修改、删除和选择一个方法本身都是隐含的(虽然它们是要在对象的存储中定义的,但并不在图上给出),而有些则是显示的。4.2 功能需求用户对于该拼图游戏软件的需求主要体现在以下几个功能:1. 实现程序gui图形界面;2. 实现游戏登录、注册、开始、退出等功能;3. 实现鼠标或键盘事件响应模块的功能;4. 实现可选难度等级功能;5. 实现输赢自动判别功能;6. 实现游戏背景音乐选择功能;7. 实现游戏积分功能;8. 实现游戏战况排名功能;9. 实现游戏图片更换功能,并且可以自定义图片;10. 实现进行游戏同时可以查看原图功能;11. 实现游戏外观更换功能。4
39、.3 性能需求要求该软件达到以下指标:1. 保证软件安全性,软件设有登陆注册窗体,有严格的账户合法性检验过程;2. 保证风格多样性,提供至少三种难度选择,由易到难,适合各类用户群体;提供至少三种背景音乐选择,风格各异,适合各类用户群体;提供至少十种拼图图片供各类用户群体选择;4.4 环境需求操作系统可以有以下几种:win xp/win vista/win 7。硬件要求:奔腾四处理器,主频2.0ghz,512m以上内存。4.5 可靠性需求要保证该拼图游戏软件的稳定性,要在完成软件设计后进行软件稳定性测试,检测出该软件发生故障的概率。4.6 安全保密需求进入游戏界面前,设有登陆窗体,用户需输入正确
40、的用户名和密码才能登陆属于自己的账号,另外设有注册窗体,便于新用户的使用。要求保证每位用户账户信息的安全。4.7 用户界面需求利用java swing组件对该游戏软件的界面进行设计与实现,实现程序gui图形界面,做到界面设计简洁大方,时尚新颖,适合各类用户群体使用。4.8 软件成本消耗与开发进度需求 由于该软件只作为毕业设计,用于考察学生对于java swing 组件的理解与应用能力,并未涉及软件的市场推广等工作,且开发该游戏的软件不需付费,属于零成本,所以暂不用考虑软件的成本消耗。开发进度严格遵守任务书中的毕业设计(论文)进度计划。4.9 条件假定和限制由于本软件目前是基础版本,未做到尽善尽
41、美。如果用户需要提高版本,本软件需要根据游戏者的要求进行进一步的修改。5 总体设计5.1 总体设计方案在登录游戏界面后,设计本程序能够载入默认图片(用户也可以选择想要的其它图片),程序默认难度为9宫格(用户也可以选择想要的其他难度),还设计实现背景音乐的播放功能等。在本程序中,对于图片的分割、拼凑、判断图片是否可以移动等都是设计的关键。总体设计方案中主要说明前期工作中对于分割图片以及判断拼图是否成功这两点的设计。对于分割图片是用像素点来实现的,同时对图片进行了自动缩放,这样一来就可以使得图片分割后看起来更连贯。拆分图片后,把分好的图片存储到一个image数组中,对于可移动的块其实是按钮,每个按
42、钮上都有一个icon,通过随机把image数组中的图片通过imageicon的转化后附给一个按钮,并将按钮数组首先附给一个向量,然后用随机数来确定对应向量的值,然后再附给对应数组按钮,同时去除该值。也就是说在附值的时候图片顺序不变,变的而是数组按钮的顺序。对于图片的是否拼图成功的提示,主要是在每个按钮中加个string的属性值,而且对于正确的排序的值与正在排的各个值比较,一旦所有的按钮对应的值与正确的排序一致,则为成功。5.2 功能模块设计关于该拼图游戏的功能木模块设计,从逻辑上分析,该拼图游戏主要分成2块,也就是主要的两个窗体,分别为登录注册部分和游戏部分,其中游戏部分又分为游戏菜单部分以及
43、帮助菜单部分,下面就从这几部分对该款拼图游戏进行功能设计分析。5.2.1 登录注册部分流程分析启动程序输入用户名和密码合法性检查读取权限进入游戏界面结束nny账户检测注册账号y图5-1 登录注册流程分析登陆注册流程的分析图如图5-1所示,启动程序后,首先是登录界面,在登陆界面中,用户只有输入正确的账号和密码才能进行合法性检查,才可以进入拼图游戏界面进行游戏,否则进不去系统,在这里也可以通过选择注册账号进入系统。5.2.2 游戏功能分析游戏部分主要分为游戏主菜单和帮助菜单2部分:1. 游戏主菜单功能分析游戏菜单包括:(1)开始游戏;(2)更换图片包括游戏自带图片和自定义图片;(3)难度选择包括初
44、级难度,中级难度和高级难度;(4)战况成绩;(5)成绩排名;(6)背景音乐包括三种游戏背景音乐可供选择;(7)退出游戏。拼图游戏菜单开始游戏更换图片难度选择战况成绩成绩排名退出游戏背景音乐系统自带用户定义初级难度中级难度高级难度背景音乐1背景音乐2背景音乐3图5-2 拼图游戏菜单功能结构图 拼图游戏菜单功能的结构图如图5-2所示,图中表示拼图游戏菜单有七个一级菜单选项,分别是开始游戏、更换图片、难度选择、战况成绩、成绩排名、背景音乐以及退出成绩这几个菜单选项。又有二级菜单选项,分别为更换图片里的图片选择、难度选择中的三种难度选择以及背景音乐中的三种音乐选择。2. 帮助菜单功能分析 帮助菜单功能
45、包括:(1)原图效果,主要是在游戏过程中给用户提供原图,方便用户游戏操作;(2)游戏帮助;(3)关于软件信息;(4)游戏外观,游戏外观包括三种风格可供选择。帮助菜单原图效果游戏帮助关于系统游戏外观图5-3 帮助菜单功能结构图 帮助菜单功能结构图如图5-3所示,图中表示出帮助菜单中有四个菜单选项,分别为原图效果、游戏帮助、游戏外观、以及关于系统的介绍这几个菜单选项。其中游戏外观菜单选项中有三个子选项,分别为windows外观、java外观以及系统外观三种选择。5.3 系统流程图设计图5-4 流程图符号在绘制程序框图时,使用的符号说明如图5-4所示,拼图游戏系统处理方式的合理选择,其实就是一个处理
46、过程的设计问题。选择处理方式实际上就是根据系统的任务、目标和环境条件,合理地选择信息活动的形态及具体方法。程序流程图又称为方框图。表示方法简明直观,是用来描述程序执行的逻辑过程的。它把程序的基本步骤归纳为:处理、判断、输入/输出、开始和结束等几个基本功能,并用不同的记号加以表示,从而描述程序的执行过程。返回主界面功能选择拼图游戏菜单和帮助菜单功能选择输入/输出操作信息进入是否继续yn图5-5 拼图游戏系统流程图 拼图游戏系统流程图如图5-5所示,进入系统后,用户可选择各功能进行游戏,此时亦可选择退出。选择各功能可分别从游戏菜单和帮助菜单中选择,游戏菜单中有开始游戏、难度选择、图片更改、背景音乐
47、选择、战况排名、游戏成绩以及退出游戏等,帮助菜单中有原图显示、游戏帮助、关于系统等功能选择。根据用户的功能选择会输出具体对应的操作信息,直至游戏结束。6 详细设计6.1 数据库设计与实现6.1.1 数据库的概念数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着world wide web(www)的猛增及internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。数据库技术能使internet应用超越具有早期应用特点的简单的发布。同时,internet技术提供了一种向用户发布数据库内容的标准化的访问方法。这些技术没有脱离经典数据库技术的要求。它们只是加重了数据库技术
48、的重要性。数据库的设计和开发及包括艺术有包括工程。理解用户的需求,然后,把它们转变为有效的数据库设计是一个艺术过程。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一个工程过程。数据库的目的是帮助人们跟踪事务。经典的数据库应用涉及诸如订单、顾客、工作、员工、电话之类的项,或其它数据量较大、需要密切关注的事务。最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于internet的数据库或用于公司内联网的数据库。数据库也被越来越多地应用于生成和维护多媒体应用程序上。计算机的数据处理应用,首先要把大量的信息以数据形式存放在存储器中。存储器的容量、存储速率直接影响到
49、数据管理技术的发展。从1956年生产出第一台计算机到现在,存储器的发展,为数据库技术提供了良好的物质基础。设计数据库系统时,应该首先了解用户的各个方面的需求,包括现有的以及将来可能增加的。6.1.2 access介绍access 是微软公司推出的基于windows的桌面关系数据库管理系统(rdbms,即relational database management system),是office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统
50、提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。access能够存取 access/jet、microsoft sql server、oracle(甲骨文软件公司),或者任何 odbc 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的进阶用户则能使用它来开发简单的应用软件。虽然它支援部分面向对象(oop)技术,但是未能成为一种完整的面向对象开发工具。access的优点主要体现在以下几个方面:1. 存储方式简单,易于维护管理,access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb或
51、.accdb)的数据库文件中,便于用户的操作和管理。 2. 面向对象 access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。 3. 界面友好、易操作,access是一个可视化工具,是风格与windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖
52、放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。 4. 集成环境、处理多种数据信息,access基于windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极大地提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。 5. 该access支持odbc(开发数据库互连,open data base connectivity),利用access强大的dde(动态数据交换)和ole(对象的联接和嵌入)特性,可以在一个数据表
53、中嵌入位图、声音、excel表格、word文档,还可以建立动态的数据库报表和窗体等。access还可以将程序应用于网络,并与网络上的动态数据相联接。利用数据库访问页对象生成html文件,轻松构建internet/intranet的应用。 6. 支持广泛,易于扩展,弹性较大,能够将通过链接表的方式来打开excel文件、格式化文本文件等,这样就可以利用数据库的高效率对其中的数据进行查询、处理。还可以通过以access作为前台客户端,以sql server作为后台数据库的方式(如adp)开发大型数据库应用系统。 总之,access是一个既可以只用来存放数据的数据库,也可以作为一个客户端开发工具来进行
54、数据库应用系统开发;即可以开发方便易用的小型软件,也可以用来开发大型的应用系统。6.1.3 数据库设计其实在拼图游戏主体中并没用到数据库,数据库在此拼图游戏中主要是用来保存用户信息和用户游戏成绩信息的,因此拼图游戏主要包括2张表:1用户信息表表6-1 用户信息表(userinfo)用户信息表在拼图游戏中主要体现在用户登录和用户注册信息的保存,如表6-1所示,建立用户信息表userinfo,其中具备uname和upwd(即用户名和密码)这两项用户信息,这两项的数据类型均为文本类型。设置字段名称分别为uname以及upwd,分别代表用户名以及密码两个项目。创建用户信息表用来存储用各位用户的用户名以及密码这两项信息。2. 成绩信息表表6-2 成绩信息表(grade)成绩信息表在拼图游戏中主要体现在用户个人战况成绩和成绩排名信息的保存,如表6-2所示,创建成绩信息表,用来存储各位用户的成绩信息,其中包括用户名、等级、分数以及时间这四项信息,数据类型分别为文本、数字、数字和日期/时间。设置字段名称分别为uname、version、point以及time,分别代表用户名、等级、分数以及时间这四个项目。图6-1 e-r图符号说明e-r图是由实体、属性、联系三部分组成,其符号表示如图6-1所示,实体-联系图(ent
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《社保卡使用》课件
- 《电通量与高斯定律》课件
- 2024年度塔吊司机安全作业技能培训与考核合同2篇
- 2024年模具产业技术合作开发合同版B版
- 2024年国际贸易合规审查与风险评估服务协议3篇
- 2025委托代购合同模板
- 2024年度大数据中心建设项目承包合同3篇
- 2024年标准型发电机购销协议版B版
- 2025酒吧转让合同协议范本
- 2025建筑工程检测合同
- 《西游记知识竞赛》题库及答案(单选题100道、多选题100道)
- 2024年行政执法人员执法资格考试必考题库及答案(共190题)
- QC-提高地铁车站直螺纹钢筋机械连接一次性合格率
- 民办学校教职工入职背景审查制度
- 2024年新人教版四年级数学上册《教材练习21练习二十一(附答案)》教学课件
- 2024年湛江市农业发展集团有限公司招聘笔试冲刺题(带答案解析)
- 商业伦理与社会责任智慧树知到期末考试答案2024年
- MOOC 创新思维与创业实验-东南大学 中国大学慕课答案
- JBT 1472-2023 泵用机械密封 (正式版)
- 二级公立医院绩效考核三级手术目录(2020版)
- 6人小品《没有学习的人不伤心》台词完整版
评论
0/150
提交评论