Java课程设计俄罗斯方块设计.doc
《Java课程设计俄罗斯方块设计.doc》由会员分享,可在线阅读,更多相关《Java课程设计俄罗斯方块设计.doc(28页珍藏版)》请在沃文网上搜索。
1、目录摘要3引言41. 绪论51.1 问题的提出与研究意义51.2游戏的国内外现状52 游戏的开发环境和相关技术62.1 关于Eclipse及Eclipseme62.2 关于Wirless Tool Kit72.3 Java语言的特点72.4 Java ME语言82.4.1 什么是Java ME82.4.2 Java ME的特点82.4.3 Java ME的分类及组成93 系统分析103.1 目标任务103.2 本程序中要解决的有关技术问题103.3 MIDP应用程序113.4 Canvas类123.5 Graphics类123.6 各功能模块的作用133.6.2 游戏场景绘制模块133.6.3
2、 游戏对象133.6.4 游戏场景状态134 系统设计144.1系统主要模块流程图144.1.1游戏模块流程图144.1.2 得分记录模块流程图144.2 游戏运行效果图145 游戏具体实现155.1 游戏入口类实现155.2 游戏主控和背景类实现155.3 游戏的方块类实现185.4方块工厂类的实现236 软件测试256.1 软件测试的意义256.2 软件测试的重要性256.3 软件测试的范围266.4 软件测试的方法266.5 软件测试的目的和原则266.6 测试的基本层次267 开发总结27 摘要 在现今电子信息高速发展的时代,电子游戏已经深入人们的日常生活,成为老少皆宜的娱乐方式。但是
3、游戏设计结合了日新月异的技术,在一个产品中整合了复杂的设计、艺术、声音和软件,所以并不是人人皆知。直到今天,在中国从事游戏设计的人仍然很少,但是游戏行业的发展之快,远超如家电、汽车等传统行业,也正因为如此,游戏人才的教育、培养远落后于产业的发展。俄罗斯方块是个老幼皆知的小游戏,它实现由四块正方形的色块组成,然后存储在一个数组的四个元素中,计算机随机产生不同七种类型的方块,根据计算机时钟控制它在一定的时间不停的产生,用户根据键盘的四个方向键控制翻转、向左、向右和向下操作,(控制键的实现是由键盘的方向键的事件处理实现)、然后程序根据这七种方块堆叠成各种不同的模型。论文描述了游戏的历史,开发此游戏的
4、环境,游戏开发的意义。遵循软件工程的知识,从软件问题定义开始,接着进行可行性研究、需求分析、概要设计、详细设计,最后对软件进行了测试,整个开发工程贯穿软件贯穿的知识体系。此次设计在Microsoft Windows XP 系统下,以Java为开发语言,在eclipse开发平台上进行游戏的设计与实践。关键词:游戏设计;算法;数组;事件;线程引言游戏是人们活动中一项非常重要的内容,有人认为如果哪一天人类对所有的游戏都失去兴趣,恐怕世界的末日就要到了。电脑对游戏的贡献有目共睹,现在摸过电脑的人很少有没玩过电脑游戏的,喜欢游戏的人也很少有不玩电脑的也很少。俄罗斯方块是一款风扉全球的电视游戏机和掌上游戏
5、机游戏,它曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事。这款游戏最初是由苏联的游戏制作人Alex Pajitnov制作的,它看似简单但却变化无穷,令人上瘾。信息大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。究其历史,俄罗斯方块最早还是出现在PC机上,而我国的用户都是通过红白机了解、喜欢上它的。现在联众又将重新撅起这股让人沉迷的俄罗斯方块风溯。对一般用户来说,它的规则简单,容易上手,且游戏过程变化无穷,而在“联众俄罗斯方块”中,更有一些联众网络游戏所独有的魅力有单机作战与俩人在线对战两种模式,用户可任选一种进行游戏。网络模式还增加了积分制,使用户既能受到游戏中的乐趣,
6、也给用户提供了一个展现自己高超技艺的场所。俄罗斯方块游戏可以说是随计算机的发展而发展,并不断推陈出新演变出各种类似游戏,深受广大玩家喜爱。这个游戏有点的简单,有的复杂,但其实根本原理是一样的都是对运动的方块进行组合,来训练玩家的反应能力。谈到游戏软件,大多数人都认为其神秘莫测,高不可及。而一般游戏软件业确实具有很高的技术难度,随着开发工具及软件开发方法学的不断发展,动手开发游戏业不是十分困难的。俄罗斯方块游戏是一种古老而又有趣的游戏,游戏软件不计其数,网上就有好多关于实现的复杂算法和设计,其难度让一般初学者望而却步。本文利用数组作为方块的数据结构,提出一种用JAVA语言实现的简单方法,对初学者
7、可仿此开发类型游戏,并了解游戏软件的设计与开发过程。1. 绪论1.1 问题的提出与研究意义Java ME是基于Java技术的,Java ME扩展及深化了Java语言的优势和劣势,Java语言的跨平台优势,以及Java的运行速度劣势,毫无疑问在手机上体现的淋漓尽致。由于手机不同于PC机,所以如果用C开发的程序,要想移植,跨平台是不容易的,尤其在操作系统众多的嵌入式领域。但是很幸运,Java给了我们一个跨平台的机会,利用Java,我们可以很好的实现跨平台,可以方便简洁地把一个游戏从一个手机移植到另一个游戏,避免重复的编码1。对于手机游戏的跨平台性,也并不是想象中的那么乐观,现在越来越多的手机厂商针
8、对自己的机型制定了一套开发包,这也给移植带来了一些问题。在速度方面,手机又把Java语言的劣势暴露无疑,在启动Java语言开发的程序时间明显要慢,这主要是因为Java对于手机的低配置确实是一个负荷。但是我们也看到了SUN公司的努力,Java语言的架构师们正在试图改变Java语言的僵局,而且我们也看到了效果,在新推出的JDK中,我们发现,它的运行速度已经有所改进了。同时,随着手机处理速度和内存速度的提高,我们有足够的理由相信,速度将不再是Java ME在手机游戏运用上的瓶颈。由于手机是一种嵌入式产品,所以图形化设计可能比较凌乱,而且各个手机游戏的屏幕大小又不一样,而且,游戏对于图形界面是相当苛刻
9、的,一个良好的图形界面往往是一个好的游戏的评定标准之一。所以,这确实给手机游戏的开发带来了不少的工作量。因此,我们希望通过该课题的研究,能够改进手机游戏的界面设计。同时,我们也希望对手机游戏的联网作一些研究,因为未来社会是一个互联网的时代,我有足够的理由相信,手机游戏也不例外2。1.2游戏的国内外现状游戏作为日常休闲的娱乐活动,历经了电视游戏、电脑单机游戏、电脑网络游戏这几个阶段。现在,游戏作为一个产业,可以看出游戏市场有着非常庞大的需求。而手机游戏的出现,也给游戏市场带来了新的活力,由于娱乐时不受时间和地点的限制,手机游戏在中国的火爆的时刻已经来临。从全球范围来讲,游戏已经走上了高科技的数字
10、路线,电子游戏产品已经深入普通大众,而在这庞大的游戏市场中,手机游戏将凭借着其硬件基础“手机”可移动,方便携带的特性,在与传统电脑游戏与电视游戏竞争中占有一席之地,而在与掌机游戏的竞争中,其又具有可通信,应用范围广的优势又显现了出来。因此随着手机产品的不断更新,以及技术的不断发展,手机游戏的市场将更为光明。中国手机游戏市场在未来几年内在市场收入上有大幅提高,考虑到国内手机互联网环境的影响,预计到2008年时,Java ME与BREW游戏将成为手机游戏市场中收入最多的一个模块,现在收入最多的是手机单机游戏,以及日益火爆的手机网络游戏3。知识库已被广泛应用于金融系统,大型企业系统等领域,而游戏知识
11、库目前正处于发展初期。利用游戏知识库,我们可以很好的实现对游戏规则的处理。一旦开发出一款游戏,对于开发其他同类游戏,我们只需对游戏规则作一些变换就可以完成对整个游戏的开发。利用游戏知识库,我们可以快速地开发多款游戏,大大地缩短了游戏开发周期,游戏知识库的应用在将来很有前景4。 在信息社会中,手机及其他无线设备越来越多的走进普通百姓的工作和生活,随着信息网络化的不断进展,手机及其他无线设备上网络势在必行。但是传统手机存在以下弊端:(1)传统手机出厂时均由硬件厂商固化程序,程序不能增加、删除,有了错误也不能更新、修改,若要增加新功能必须另换一部手机。(2)传统手机访问互联网是通过WAP(Wirel
12、ess Application Protocal),所有网络资源必须接通网络才能在线访问,非常耗时、费用亦很高。 而Java技术在无线应用方面的优势非常明显,一方面 应用程序可按需下载,而不是购买由硬件商提供的套件,可升级空间大;另一方面Java技术提供了一个类库,它使的应用开发商可以创建更为直觉、丰富的用户界面(GUI)2 游戏的开发环境和相关技术 2.1 关于Eclipse及EclipsemeEclipse是一个开发源代码的、基于Java的可扩展开发平台。Eclipse相关的许可证是大多数基于Common Public License (CPL),CPL是一个为Open Source In
13、itiative (OSI)所认可的许可证。由于Eclipse Foundation的建立,Eclipse的许可证将逐渐趋向于使用Eclipse Public License (EPL),EPL是一个与CPL相类似的许可证,正在进行OSI的认证工作。 作为当今最流行的Java开发IDE之一,Java社群使用Eclipse以及基于Eclipse技术而来的IBM Websphere的开发者已经超过了半数。Eclipse本身只是一个框架和一组响应的服务,并不能够开发什么程序。在Eclipse中几乎每样东西都是插件,实际上正是运行在eclipse平台上的种种插件提供我们开发程序的各种功能。同时各个领域
14、的开发人员通过开发插件,可以构建与Eclipse环境无缝集成的工具。eclipse的发行版本都已经带有最基本的插件,方便了开发人员。因此,除了搭建移动开发环境之外,也可以下载Jsp插件、Tomcat插件、Jboss插件来进行整合,以用于JSP、Java EE的开发。EclipseME作为Eclipse一个插件,致力于帮助开发者开发Java ME应用程序。EclipseME并不为开发者提供无线设备模拟器,而将各手机厂商的实用模拟器紧密连接到Eclipse开发环境中,为开发者提供一种无缝统一的集成开发环境5。2.2 关于Wirless Tool KitWTK(Wireless Tool Kit)是
15、Sun公司针对Java ME推出的用于手机和Palm等移动设备的开发包,是除手机厂商的专用开发包外唯一的手机模拟器开发包。它通用性高,开发出的应用程序可保证能运行在大部分设备上,而不像专用 厂商具有一定的不兼容性。虽然它没有强大的功能和完善的调试手段,但它提供运行模拟器的最基本组件,是其他IDE需集成采用的必备元素6。2.3 Java语言的特点(1) 平台无关性Java引进虚拟机原理,并运行于虚拟机,实现不同平台之间的Java接口。Java的数据类型与机器无关。(2) 安全性Java的编程类似C+,但舍弃了C+的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指
16、针入侵系统。它提供了安全管理器,防止程序的非法访问。(3) 面向对象Java吸收了C+面向对象的概念,将数据封装于类中,实现了程序的简洁性和便于维护性,使程序代码可以只需一次编译就可反复利用。(4) 分布式Java建立在TCP/IP网络平台上,提供了用HTTP和FTP协议传送和接收信息的库函数,使用其相关技术可以十分方便的构建分布式应用系统。(5) 健壮性Java致力与检查程序在编译和运行时的错误,并自动回收内存,减少了内存出错的可能性。Java取消了C语言的结构、指针、#define语句、多重继承、goto语句、操作符、重载等不易被掌握的特性,提供垃圾收集器自动回收不用的内存空间7。2.4
17、Java ME语言2.4.1 什么是Java ME Java ME是SUN公司针对嵌入式、消费类电子产品推出的开发平台,与Java SE和Java EE共同组成Java技术的三个重要的分支。Java ME实际上是一系列规范的集合,由JCP组织制定相关的Java Specification Request(JSR)并发布,各个厂商会按照规范在自己的产品上进行实现,但是必须要通过TCK测试,这样确保兼容性。比如MIDP2.0规范就是在JSR118中制定的。我们在开发中用到了很多例如CLDC(Connected Limited Devices Configuration)和MIDP(Mobile I
18、nformation Devices Profile)等内容。这些就是在相关规范中制定的。Java ME 使用配置和简表定制 Java 运行时环境 (JRE)。作为一个完整的 JRE,Java ME 由配置和简表组成,配置决定了使用的 JVM,而简表通过添加特定于域的类来定义应用程序。配置将基本运行时环境定义为一组核心类和一个运行在特定类型设备上的特定 JVM。简表定义应用程序;特别地,它向 Java ME 配置中添加特定于域的类,定义设备的某种功能起很大作用。2.4.2 Java ME的特点 (1) Java ME遵循为大多数手持设备生产商所支持的工业标准,如今大多数的移动电话都支持Java
19、开发。(2) Java ME是一个自由的和开放的平台。这使得开发人员投资很少,但却提供给他们必需的灵活性以及大量的支持。(3) 它的高度可移植的特性(书写一次到处运行)保证一部为一个品牌/类型的手持设备开发的游戏应用程序,将可以工作在其它类型的支持Java的手持设备品牌/类型上。(4) 它特别为小型设备进行了优化,是轻量级的,高度安全的,因为在其上开发的应用程序不能存取或者影响运行在该手持设备上的其它应用程序。Java ME包含移动信息设备轮廓(MIDP)API,它的设计是为专门开发包括手机在内的移动设备应用程序。而且,最新的MIDP 2.0版自己提供了一套完整的API以用于游戏开发,这使得游
20、戏开发更为简单和快捷8。2.4.3 Java ME的分类及组成Java ME把设备分为两类,一种是联接设备(connected device),一种是有限联接设备(Connected, Limited Device)。前一种对应于那些有电源的,电力充裕,较大的设备。例如:电视机,冰箱等,后一种对应于主要使用电池,小型的设备,例如:手机,pda等。SUN把Java ME分为两个部分:configuration 和 profile。configuration包括虚拟机(virtual machine),核心的类库与API。configuration层定义一个Java虚拟机的特性与Java类库的最小
21、子集。也就是说,configuration层提供了开发人员一个最基础,最核心的Java平台。就像前文提到的,Java ME把设备分为两类,一种是联接设备(connected device),一种是有限联接设备(Connected, Limited Device)。对应这两种设备就有了两种Java MEconfiguration。分别为CDC(Connected Device Con-figuration )和CLDC(Connected, Limited Device Configuration)。这里请注意,CDC使用经典的Java VM,而CLDC使用的是KVM(The K Virtual
22、 Machine) 9。注:KVM是sun为使用16/32位RISC/CISC微处理器或控制器,并其可用内存为160kb512kb 的的设备而开发的。Profile层也包含一组API,主要针对于特定的某一族系的设备而定义。profile层在特定的configuration层上实现,程序员则负责在特定的profile上编写应用程序。对于手机,PDA等Connected, Limited Device,它们的profile层称为MIDP(Mobile Info rmation Device Profile),于是MIDP与CLDC合在一起就构成了一个完整的Java ME架构。Java ME平台被认
23、为是最杰出的手机游戏平台,它为开发者、设备制造商、网络通信公司和消费者广泛接受。它有一些非常重要的特征对所有组织都有益Java ME 使用配置和简表定制 Java 运行时环境 (JRE)。作为一个完整的 JRE,Java ME 由配置和简表组成,配置决定了使用的 JVM,而简表通过添加特定于域的类来定义应用程序。配置将基本运行时环境定义为一组核心类和一个运行在特定类型设备上的特定 JVM。简表定义应用程序,特别地,它向 Java ME 配置中添加特定于域的类,定义设备的某种作用。虽然 Java SE 虚拟机通常被称为一种JVM,但是 Java ME 虚拟机、KVM 和 CVM 都是 JVM 的
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 俄罗斯方块 设计