基于Java的连连看游戏设计与实现设计论文.docx

上传人:b****6 文档编号:8038260 上传时间:2023-05-12 格式:DOCX 页数:65 大小:1.36MB
下载 相关 举报
基于Java的连连看游戏设计与实现设计论文.docx_第1页
第1页 / 共65页
基于Java的连连看游戏设计与实现设计论文.docx_第2页
第2页 / 共65页
基于Java的连连看游戏设计与实现设计论文.docx_第3页
第3页 / 共65页
基于Java的连连看游戏设计与实现设计论文.docx_第4页
第4页 / 共65页
基于Java的连连看游戏设计与实现设计论文.docx_第5页
第5页 / 共65页
基于Java的连连看游戏设计与实现设计论文.docx_第6页
第6页 / 共65页
基于Java的连连看游戏设计与实现设计论文.docx_第7页
第7页 / 共65页
基于Java的连连看游戏设计与实现设计论文.docx_第8页
第8页 / 共65页
基于Java的连连看游戏设计与实现设计论文.docx_第9页
第9页 / 共65页
基于Java的连连看游戏设计与实现设计论文.docx_第10页
第10页 / 共65页
基于Java的连连看游戏设计与实现设计论文.docx_第11页
第11页 / 共65页
基于Java的连连看游戏设计与实现设计论文.docx_第12页
第12页 / 共65页
基于Java的连连看游戏设计与实现设计论文.docx_第13页
第13页 / 共65页
基于Java的连连看游戏设计与实现设计论文.docx_第14页
第14页 / 共65页
基于Java的连连看游戏设计与实现设计论文.docx_第15页
第15页 / 共65页
基于Java的连连看游戏设计与实现设计论文.docx_第16页
第16页 / 共65页
基于Java的连连看游戏设计与实现设计论文.docx_第17页
第17页 / 共65页
基于Java的连连看游戏设计与实现设计论文.docx_第18页
第18页 / 共65页
基于Java的连连看游戏设计与实现设计论文.docx_第19页
第19页 / 共65页
基于Java的连连看游戏设计与实现设计论文.docx_第20页
第20页 / 共65页
亲,该文档总共65页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于Java的连连看游戏设计与实现设计论文.docx

《基于Java的连连看游戏设计与实现设计论文.docx》由会员分享,可在线阅读,更多相关《基于Java的连连看游戏设计与实现设计论文.docx(65页珍藏版)》请在冰点文库上搜索。

基于Java的连连看游戏设计与实现设计论文.docx

基于Java的连连看游戏设计与实现设计论文

分类号_______________密级________________

UDC_______________学号________________

 

毕业设计(论文)

论文题目

基于Java的连连看游戏设计与实现

ThesisTopic

DesignandImplementationofJava-BasedLink-Game

 

基于Java的连连看游戏设计与实现

摘要

连连看是一种消除类益智游戏,核心要求是在规定的时间内,消除游戏界面中选中的两张相同的图案,直至完全消除所有图案。

这款游戏操作简单(只需单击鼠标左键操作)、面向人群广泛,在限时操作的游戏要求下,吸引玩家自发地锻炼观察能力、判断能力和反应能力,故从推出至今颇受欢迎。

消除类游戏如今也有很多类型,但连连看游戏因其操作简单依旧广受好评,该游戏不仅能调节精神状态,还能在游戏中锻炼我们的眼力视野和集中力,开发思维能力的同时培养面对困难时具备攻克困难的信心。

此次设计所使用的语言为Java语言,开发环境为JDKVersion1.7.0,开发工具为Eclipse。

主要应用Swing组件,Java小程序,事件及接口等。

本系统主要是运用Swing组件和事件处理技术,进行界面的绘制,鼠标的操作,以及积分的显示和沙漏的计时的显示等功能。

关键词:

游戏;连连看;二维游戏

DesignandImplementationofJava-BasedLink-Game

Abstract

Link-Gameisakindoftile-matchingpuzzlegames,thecorerequirementisthatwithintheprescribedperiodeliminatingtwoselectedpictureswhichclickedonthebeforeandafterandhadthesamepatternuntilcompletelyeliminatingallofthesametwo.Therearenumerousreasonswhythisgameispopularsincelaunchasfollow.Theoperationofthegameissimple(justneedclickingthemouseleftkey)andfacingthecrowdiswidespread.Butalsointhelimitedtime,gameplayershavetovictoryattractspeopleexercisespontaneouslyobservationability,judgmentabilityandtheabilitytorespondto.Nowthiskindofpuzzlegamesalsohasalotoftypes,butLink-Gamebecauseofitssimpleoperationisstillpopular,notonlycanthegameadjustthementalstate,butalsoexerciseoureyesightandconcentratedforcebyenjoyingthegame.Furthermore,itdevelopsthethinkingability.Meanwhile,itcultivatestheconfidencetoovercomedifficultieswhenwefacethedifficulties.

ThisdesignusesJavalanguage,andit’sdevelopmentenvironmentistheVersion1.7.0JDKoneclipse,thedevelopmenttool.ThissystemmainlyuseSwingcomponents,Javaapplet,eventandinterface.ByusingeventhandlingtechnologyandSwingtechnologyrealizestheGUI,themouseoperation,showingthegamecreditsaswellasthefunctionthattimingasthehourglass.

Keywords:

Games;Link-game;Two-dimensionalGame

1.  绪论

以互联网产业为代表的中国信息产业蓬勃发展,并已成为国民经济和社会发展的重要组成部分。

电子游戏产业作为电子技术的产物,涉及到电子游戏的开发、市场营销和销售等方方面面的经济领域,并且很快在全世界的娱乐领域占据主流位置。

在社交网络飞速发展的影响下,电子游戏社交化助力推动电子游戏各个方面的发展,带来的经济效益也愈发庞大。

网页游戏、单机游戏、网络游戏形形色色数量庞大,涌现出一批批颇具新意的游戏,为疲惫的生活带来轻松和愉悦,满足玩家的娱乐休闲要求。

1.1.  课题背景

连连看游戏顾名思义就是找出具有关联关系的事物并进行相应处理,经历了从桌面游戏、在线游戏再到社交游戏三个过程,形式多种多样。

游戏的核心要求是将两个能用三根以内的直线连接的关联事物(相同事物)消除(或进行其他处理)。

一般的连连看小游戏规则和操作都简单明了易上手,但也有很多新版本的连连看游戏加入了各类道具和游戏模式来丰富游戏内容,很好地增强了游戏的娱乐性,也带给玩家长期的挑战性和新鲜感。

对于90后大部分玩家来说,一定对网页游戏有很深刻的印象。

最早,玩家们会在电脑课上接触到基于Flash的网页游戏。

在线Flash游戏大都界面优良,操作简单,基本靠鼠标点击或者键盘方向键控制即可完成游戏。

虽然当时网络游戏发展也很迅猛,但网页游戏仍旧依靠自身特点很快地吸引了一大批玩家。

随着网络更多地服务于社交活动以及更多开放平台的兴起,很多游戏慢慢走向“社交化”,就是将游戏与个人空间结合,在社交网络和平台上主动或被动的通过玩家的“分享”快速地传播,应运而生出社交游戏。

无论是网页游戏还是网络小游戏,都拥有很多玩家受众,经典游戏也有很多,其中不乏有应用Java语言开发的经典游戏,比如俄罗斯方块、超级泡泡龙、贪吃蛇以及任天堂的超级马里奥等等,兼具游戏趣味和休闲益智的连连看便是这其中的佼佼者。

1.2.  Java游戏开发的现状

提到游戏开发,更多地会提到C和C++,这两个语言在游戏开发中有稳定和高效的表现。

作为主流开发语言的Java是否也能在游戏开发方面展现良好的一面呢?

从理论上讲,Java语言当然能被用来开发游戏,随着Java技术不断的更新发展,Jogl、Java3D等技术的出现,Java程序在显卡愈发强大的硬件加速基础上运行效果显著提升,开发出了许多基于Java的2D、3D游戏和大型的在线游戏。

但Java作为开发语言开发游戏仍然被诟病,可以开发游戏不等同于适合开发游戏,因此,要讨论Java开发游戏的优势和意义。

1.2.1.  Java日益趋向成熟

Java语言从面世至今已过20载,它的发展也越来越符合人们对它的要求和需要。

企业级应用的实践在某些方面可以看出该语言在大型软件开发方面颇为适用。

当Java语言运行效率不再成为诟病时,相信Java语言跨平台、安全性、高抽象的优势在开发的大型游戏软件方面会有很好的表现。

1.2.2.  Java极大的方便了游戏脚本的使用

开发的过程往往是一个需要不断改进的过程,过程中会涉及许多方面的问题,游戏开发也不例外。

所以改进的过程是否容易实现对于开发者来说也很重要,而游戏脚本就是为了改进的过程更容易实现。

如果将全部文件和数据写入程序,出现问题后要将整个程序重写编译发布,游戏是会不断地修改的,程序会越变越复杂。

如果我们将可重复的数据写入外部文件,游戏引擎开发完毕通过读取外部文件运行的话,这样,当游戏出现问题时,修改外部文件就能解决问题,这样做极大地便利了游戏开发过程。

Java本身就可以用来编写游戏脚本,目前也有例如groovy、beanshell等脚本语言可以无缝交互于Java语言,极大的方便了Java游戏编程。

1.2.3.  Java平台无关特性

提起Java语言特性,不得不提它的平台无关性。

跨平台一直都是游戏开发面对的一个实际问题,Java在这方面做的相对于其他语言要好一些。

当然,跨平台的特性可以使程序员减少工作量,公司减少投资,然而有些时候,“writeonceruneverywhere”也需要付出一定的代价。

在现实中,往往会出现这样的情况:

对于Javaapplet来说,即使电脑在硬件上满足程序的要求,可能也无法让程序以同样良好的状态运行在每一台电脑上,除非使用者都是专业人士。

利用Java跨平台特性开发软件在实现过程中有利也有弊,但Java在解决跨平台问题上比起其他技术要做的好一些。

1.2.4.  Java在手机游戏开发方面的优势

目前来看,游戏功能在手机功能中占据比重越来越大,手机游戏开发也将占据游戏开发市场更大的份额。

手机搭载了各类操作系统也使Java语言因其跨平台的特性在游戏开发中颇受青睐。

例如,安卓系统基于Java语言开发,安卓市场在手机市场所占比重很大,所以Java应用还是有一定的需求和不错的前景的。

1.2.5.  Java在网络方面的良好表现

Java在解决网络方面的问题上有不错的优势,体现在两个方面。

一方面,基于applet和JavaWebStart的游戏很容易更新,不需要用户手动下载新版本。

另一方面,Java在网络交互的API相对友好。

在大型网络游戏开发中,分布式系统尤为重要,为了更好的推出硬件产品,Sun公司大力开发了用于网络服务器的ProjectDarkStar,DarkStar项目系统基础结构的设计方便了大型多玩家在线游戏的开发,并且有健壮的游戏运作能力,能动态的分配可用的服务器资源,还拥有性能改善功能,可以说,ProjectDarkStar的出现提高了Java在开发网络服务器方面的可能性。

1.2.6.  游戏速度

基于Java的游戏执行效率方面一直颇受争议,在大型游戏应用方面的实例不多,更适用于中小型游戏开发。

Java开发的游戏执行速度被很多程序员争议的地方在于Java程序运行时要启动Java虚拟机,具体表现如何,取决于开发项目的大小和软、硬件各方面的表现。

与常用来开发游戏的C++语言相比,Java开发出的游戏速度更慢,但Java开发的成本也相对较低。

1.3.  项目开发的目标

游戏软件的最直观的评判是它的操作界面,界面的好坏直接影响游戏玩家对这款游戏的接受程度和喜爱程度。

对游戏评判的要求其次是功能齐全与否,功能越丰富,游戏体验的层次越丰富。

在游戏操作简单的基础上丰富游戏内容,会使游戏变得更易普及。

针对连连看这款小游戏,本项目的开发目标是:

游戏界面整洁美观,实现游戏的可操作性,使游戏操作简单易上手,并且在基础功能实现后增添一些理解简单、操作简单的功能用以丰富游戏内容。

实现连连看游戏具体要做到以下几点:

游戏界面美观大方:

通过有些界面要能对游戏操作过程有一定的理解;游戏具有一定的可玩性和吸引力:

有一定内容,不局限于普通功能;游戏运行稳定可靠。

在设计与实现的过程中,力求对Java语言有新的认识和理解,对面向对象的概念和方法熟练应用和实践。

在编写过程中,养成良好的编程习惯和良好的编程风格。

在应用所学知识时,巩固理解Java程序设计的基本过程以及线程、网络、界面布局等编程技术。

旨在培养分析问题的能力和解决问题的能力,着重培养设计分析、设计方法、设计操作与测试、观察设计过程和理解归纳问题的能力。

通过对游戏的开发,实现游戏的可操作性及美观性,进一步深化面向对象的程序设计思想,以及熟练运用Swing进行编程的能力,为将来的实际工作打下坚实的基础。

1.4.  项目开发的意义

项目开发的意义有两个层面。

一方面,在项目开发过程中,开发人员通过将所学所感融入实际应用中,非常有利于学习和掌握开发过程,有利于进一步掌握Java面向对象的程序设计语言的基础知识和技能,有利于更直观地感受到面向过程的开发和面向对象的开发之间的不同点。

另一方面,项目开发往往能够很好地培养和锻炼个人专业技术能力和个人综合素质能力。

本次项目开发,是开发人员和所有先辈们共同努力的结晶。

在开发过程中,查阅资料,解读国内外优秀学子和老师的智慧结晶,扩展了开发人员解决问题的思路和看待问题的眼界,在实践过程中,感受开发的乐趣,可以更好的验证优秀的结论,也可以在前人的基础上提出新看法新角度,并在实践中证明。

项目开发的过程大大有利于锻炼开发人员对于目标问题的发现、分析以及解决过程中必不可少的沟通能力、分析能力、理解归纳能力、设计实现能力以及观察测试能力等各项能力。

通过此次毕业设计,能充分的展现项目开发的意义:

a)进一步巩固、加深本科四年专业所学所感,掌握基本理论知识,结合理论完成实践,提高综合分析问题,解决问题的能力。

b)开发小型应用系统,掌握运用Java语言编写调试应用程序,训练独立开发应用系统,进行数据处理的综合能力。

c)掌握面向对象程序设计的方法。

d)熟练掌握Java语言的基本语法,灵活运用各种数据类型,对面向对象的程序设计语言的学习有更好的理解。

e)进一步掌握在集成环境下如何调试程序和修改程序。

1.5.  本文章节安排

本文共分七章,具体章节安排如下:

第一章概述了选题背景、项目目标及意义,介绍了Java游戏开发现状,指明连连看游戏设计及实现的基本方向。

第二章概述了开发环境和相关技术,简述了Java和Eclipse,重点介绍了Java在游戏开发中的应用,包括GUI开发、绘图技术、事件处理机制等。

第三章介绍了可行性分析和系统需求分析。

首先从技术、经济、社会三方面进行了可行性分析,然后简述了连连看游戏的一般游戏规则。

最后,从业务需求、用户需求、功能需求和非功能需求四个方面进行了需求分析。

第四章进行了系统概要设计,主要将系统划分出界面模块和处理模块两大模块,确定了游戏风格和素材。

第五章介绍了详细设计和实现,包括界面、处理模块和游戏连接算法的设计及实现。

第六章进行了系统测试。

简述了系统测试相关内容,给出了测试用例和测试结果。

第七章进行了全文总结,一方面总结了在完成过程中学习到的内容,另一方面说明了现存问题,展望了进一步工作。

1.6.  本章小结

  本章通过对选题背景、项目目标和意义以及Java游戏开发现状的介绍,阐述了选题原因,指明了连连看设计和实现的基本方向,描述了项目开发意义。

2.  开发环境和相关技术简介

Eclipse是一款优秀的跨平台的自由的集成开发环境(IDE),除了可作为Java的集成开发环境外,还可以作为编写其他语言(如C++和Ruby)。

Java是一种可以撰写跨越平台的应用软件的面向对象的程序设计语言,具有优越的通用性、高效性、安全性和平台移植性,广泛应用于PC、科学超级计算机、游戏控制台、数据中心、移动电话和互联网等各个领域。

本章将围绕Eclipse和Java介绍项目开发环境和相关技术。

2.1.  开发环境

软件开发环境(SoftwareDevelopmentEnvironment,SDE)指在基本硬件和数字软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件。

系统的软件环境主要由开发系统所用的开发工具和环境集成机制等几部分构成。

良好的开发环境对于稳定项目组人员以及提高生产效率都有不可忽视的作用。

本次开发环境的具体内容如表2-1开发环境表所示。

表2-1 开发环境表

Table2-1 DevelopmentEnvironment

名称

版本

语种

操作系统

Windows

Windows8.1

简体中文

开发环境

Java

JDKVersion1.7.0

简体中文

开发工具

Eclipse

Eclipse-jee-mars

简体中文

2.1.1.  Eclipse

Eclipse是一款优秀的跨平台的自由的集成开发环境(IDE),从其功能上来讲是一个基于Java的、开放源代码的可扩展开发平台,就其本身而论,它是一个用于通过插件组件构建开发环境的框架、服务,并且附带一个标准的插件集,包括Java开发工具(JavaDevelopmentKit)。

Eclipse的目标不仅仅为提供一个IDE,它还包括了插件开发环境(Plug-inDevelopmentEnvironment,PDE),该环境使得开发人员可以根据所需添加新插件,使得Eclipse不断扩充越来越强大。

整个Eclipse体系结构像一个拼图,可添加插件,还可以在已有插件上再添加插件,所以Eclipse的架构基本上是“内核+核心插件+定制插件”。

如图2-1所示,其中,PlatformRuntime(平台运行库)是Eclipse平台核心,它是一个微内核,负责管理插件注册表和插件,其他所有的功能如WorkSpace(工作空间)和WorkBench(工作台)等都是以插件的形式提供。

工作空间是负责管理用户资源的插件。

工作台是提供用户界面的插件。

SWT(StandardWidgetToolkit,标准小窗口工具箱)是Eclipse平台自己开发的图形API包,作用和Java的AWT/SwingGUIAPI一样,用来构建图形界面。

图2-1 Eclipse体系结构图

Figure2-1 TheArchitectureOfEclipse

2.1.2.  Java

2.1.3.

2.1.4.

1)体系

Java根据应用范围可以分为三个体系:

JavaSE、JavaEE、JavaME。

JavaSE(J2SE,Java2PlatformStandardEdition,标准版)主要用于桌面应用软件的编程;JavaEE(J2EE,Java2Platform,EnterpriseEdition,企业版)主要用于开发分布式的网络程序,例如电子商务网站和ERP系统;JavaME(J2ME,Java2PlatformMicroEdition,微型版)主要用于嵌入式系统开发,例如手机和PDA的编程。

2)工作原理

Java由四方面组成:

Java编程语言,即语法;Java文件格式,即各种文件夹、文件的后缀;Java虚拟机(JVM),即处理*.class文件的解释器和Java应用程序接口(JavaAPI)。

当编辑运行一个Java程序时,需要同时涉及这四个组成。

图2-2 工作原理图

Figure2-2 TheFigureOfWorkingPrinciple

使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境(Eclipse、MyEclipse等)在Java源文件中定义不同的类,通过调用类(这些类实现了JavaAPI)中的方法来访问资源系统,把源文件编译生成一种二进制中间码,存储在class文件中,然后再通过运行与操作系统平台环境相对应的Java虚拟机来运行class文件,执行编译产生的字节码,调用class文件中实现的方法来满足程序的JavaAPI调用。

3)特性

第一,Java语言是简单的。

一方面,语法与C语言和C++语言接近,易学习易使用。

另一方面,Java丢弃了C++中很少使用的、不易理解的特性。

Java语言中不使用指针使用引用并且提供了自动的垃圾回收机制,这使得程序员不必为内存管理而担忧。

第二,Java是面向对象的语言。

Java提供类、接口和集成等原语,并只支持类之间的单继承,但支持接口之间的多继承,支持类与接口之间的实现机制(关键字implements)。

Java语言还全面支持动态绑定。

Java程序使用类(class)来组织的,另外它还包括一个类的扩展集合,分别组成各种程序包(Package),用户可以在自己的程序中使用。

例如,Java提供产生图形用户接口部件的类(java.awt包),这里awt是抽象窗口工具集(abstractwindowingtoolkit)的缩写,处理输入输出的类(java.io包)和支持网络功能的类(包)。

第三,Java语言是分布式的。

Java设计成支持在网络上应用,它是分布式语言。

Java既支持各种层次的网络连接,又以Socket类支持可靠的流(stream)网络连接,所以用户可以产生分布式的客户机和服务器。

第四,Java语言具有健壮性和安全性。

Java允许扩展编译时检查潜在类型不匹配问题,不支持隐式声明,不支持指针。

它的强类型机制、异常处理以及垃圾回收机制保证了Java程序的健壮性。

并且Java还提供了Null指针检测、数组边界检测、异常出口、Bytecode校验等功能。

Java通常被用在网络环境中,具有许多安全特性。

第五,Java语言具有多线程性。

Java的lang包提供一个Thread类,而线程必须由Thread类或其子(孙)类来创建。

通常使用以下俩种方法创建线程:

其一,使用Thread(Runnable)的构造将一个实现了Runnable接口的对象包装成一个线程。

其二,从Thread类派生出子类并重写run方法。

Java语言支持多个线程同时执行,并提供多线程之间的同步机制(关键字synchronized)。

第六,Java语言是可解释的。

C,C++语言都是针对CPU芯片进行编译,生成机器代码。

而Java程序在Java平台上被编译为字节码格式的“中间代码”,可以在有Java虚拟机(JVM)的人和系统上被解释执行。

第七,Java语言是动态的。

Java语言的设计目标之一是适应于动态变化的环境。

Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。

这也有利于软件的升级。

另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

2.2.  相关技术简介

本次项目开发基于成熟的Java语言,开发环境是Eclipse。

Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台,它使用简单,且占用电脑资源也比较少,便于系统的学习Java。

Java语言具有良好的特性,是一种应用广泛的面向对象的程序设计语言。

2.2.1.  Eclipse的图形界面开发

Eclipse拥有漂亮的开发界面,基于标准部件库(StandardWidgetToolkit,SWT)开发。

SWT是基于Java环境下的新类库,它提供了Java环境下的图形编程接口,SWT中的图形库和工具包取代了AWT和Swing。

SWT直接调用操作系统的图形库,这使得Java程序的运行速度得到了保证,但是SWT的缺点是支持的平台太少。

Eclipse也可以开发基于Swing的程序。

2.2.2.  Java技术在游戏开发中的应用

1)图形用户界面(GraphicalUserInterface,GUI)

图形用户界面(GraphicalUserInterface,GUI)与早期命令行界面相比,在视觉上对于用户来说更易于接受。

但是,通过在显示屏的特定位置,以各种美观而不单调的视觉消息提示用户状态的改变,势必得比简单的消息呈现花上更多的计算能力。

在Java语言中,所有的组件都

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

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

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