java俄罗斯方块游戏论文_第1页
java俄罗斯方块游戏论文_第2页
java俄罗斯方块游戏论文_第3页
java俄罗斯方块游戏论文_第4页
java俄罗斯方块游戏论文_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、职场大变样社区():下载毕业设计成品全套资料,全部50元以下摘要:随着通信技术的发展和电脑的齊及,小游戏的开发技术越来越为人们所关 注。以j2se为开发平台,利用java提供强大工具,不但可以在电脑上实现静态 html技术所无法实现的计算处理、数据存储、与服务器的通信等功能,而且能 够开发各种电脑小游戏。木文在介绍j2se及其体系结构的基础上,以俄罗斯方 块游戏为实例,描述y借助j2se的类库开发电脑小游戏的过程。关键词:游戏;应用程序;永久性数据abstract: along with communication development and computer popularization

2、, people more and more pay attention to the handset game development technology. develops the platform take j2se,provides the powerful tool using java, not only may realize the handset functions that static html technology be unable to realize,such as computation processing, data storage,and communi

3、cation with server, but also can develop all kinds of handset games. on the basis of the technology and architecture of j2se being introduced,the russian game was taken as a example,the development process of game with the aid of the j2se class library is described in this article.key words: game; a

4、pplication pragram; permanent data目录hu w3工程概况41. 1项目名称41.2设计平台41.3程序设计思想71.4主要实现的功能8二、开发背景8三、游戏实现153. 1游戏设计的具体实现153.1.1游戏界面的设计实现.153.1.2俄罗斯方块的造型.153. 1.3俄罗斯方块的旋转.163.1.4如何实现方块的运动和自动消除满行的方块163. 1. 5游戏速度和游戏级别白由选择.173.1.6游戏得分的计算和游戏菜单的编辑.183.2游戏功能的介绍18軋总结19醐20参考文献:20> a刖gjava 语言是美国 sun microsystem 的

5、james gosling、pratrick naughton 及mike sheridan等人于1991年精心设计岀来的计算机编程语言,其构想在于 实现使用同一种编程语言所写出来的程序可以在不同的平台上运作。这种架构对 于消费性电子产品而言是具有革命性的,因为在消费性电子产品中的处理器及操 作系统各不和同,要在这些平台上开发程序必须要了解各个平台的特性,以及其 提供的api使用方式,分别幵发不同的版本j能执行,影响应用程序的晋及性。近儿年,由于微处理器性能的大幅提升,加上无线通讯技术的突破,手持式 电脑设备开始受到大众的青睐。短短儿年内,电脑己经升级了儿代产品,普及率 逐年攀升,生产效率不断

6、上升,产品价格比个人电脑的摩尔定律有更惊人的下调, 以至电脑是大多是城il/居民不可缺少的一件随身设备。继短信、彩信等服务之后, 中国移动提供基于java的百宝箱业务,应用产品遍及商务应用、信息获取、英 汉互译、游戏娱乐等多媒体领域。为了适应移动数据的发展,推动无线电子商务等业务的发展,j2se既用于嵌 入式系统的java被引入电脑领域。j2se的出现实际上是java技术的回归。作 为java2平台的一部分,j2se与j2me、j2ee起,为应用的客户端和服务器端 建立了完整的开发、部署环境。随着j2se的应用,它为移动互联引入了-种新 的模型,既允许电脑可以从互联网上下载各种应用程序,并在电

7、脑创造可执行环 境离线运行这些程序。由于定义了可执行下载的标准,并在电脑上创立了可执行 环境和程序幵发语言,由此,在电脑业第一次为软件幵发商创造了巨大的商业机 会,电脑用户在得到丰富应用体验的同时,也大大提高了运营商的网络流量。随着通信技术的发展和电脑的普及,电脑游戏的开发技术越来越为人们所关 注。以j2se为开发平台,利用java提供强大工具,不但可以在电脑上实现静态 html技术所无法实现的计算处理、数据存储、与服务器的通信等功能,而且能 够丌发各种电脑游戏。java语言继承了 basic语言易学易用的特点,特别适合于初学者学习 windows系统编程。随着21世纪信息社会的到来,电脑在人

8、们的工作和生活中的 深入,要求我们越来越多地与电脑打交道,为了使用户在繁忙的日程工作屮得到 放松,于是出现了各种各样的休闲软件,如聊天工具,游戏等等。于是我们小组着 手设计开始一个这样的电脑游戏软件。通过这学期来对j2se技术的学习,我初 步掌握了 java语言的最基本的知识,于是在指导老师的指导卜动手用j2se编写俄罗斯方块电脑游戏。无可争议,俄罗斯方块是冇史以来最伟大的游戏之一。它是永恒的娱乐 经典,但它实际上又和那些传统的经典娱乐方式不同,因为它的木质是电子化的, 所以它的确属于现代产物。俄罗斯方块举世闻名的游戏性,在该游戏新鲜出 炉时就显得非常直观。某些与賂落的玩具碎片和它们的形状有关

9、的东西,使得哪 怕新手也会很g然地企图把它们排列起来,并加以适当组合,就好似俄罗斯方 块触动了我们某些内在的感官,使得哪怕是我们当中最杂乱无章的人也要把事 情整理妥当。在曾经发布过的所有游戏中,俄罗斯方块还被认为是仅有的一个能够真 正吸引广泛人群的作品。某些批评家也许会声称,俄罗斯方块要比过去二十 年问出现的任何东曲都耍浪费人们的时间。至于我们,则耍欣然提名它为 gamespot评选出的历史上最伟人游戏之一。为y怀念经典,也为y能够给大多的计算机用户在工作之余找到一个休闲、 娱乐的一个方式,我们小组开始着手用java语言开发一个经典的俄罗斯方块游 戏。工程概况1. 1项目名称俄罗斯方块游戏1.

10、2设计平台j2se是java 2的一个组成部分,它与j2me、j2rr并称。根据sun的定义: j2se种高度优化的java运行环境,主要针对消费类电子设备的,例如蜂窝 电话和可视电话、数字机顶盒、汽车导航系统等等。j2se技术在1999年的javaone developer conference大会上正式推出,它将java语言的与平台无关的特性移 植到小型电子设备上,允许移动无线设备之间共享应用程序。java2平台包括:标准版(j2se)、企业版(j2ee)和微缩版(j2mr)三个 版木。j2se, j2me 和 j2ee,这也就是 sunone(open netenvironment)体系

11、。j2se 就是java2的标准版,主要用于桌面应用软件的编程;j2me主要应用于嵌入式 系统开发,如手机和h)a的编程;j2ee是java2的企业版,主要用于分介式的 网络程序的开发,如电子商务网站和erp系统。standard edition (标准版)j2se包含那些构成java语言核心的类。比如: 数据庳连接、接口定义、输入/输岀、网络编程enterprise edition(企业版)j2ee包含j2se中的类,并且还包含用于开 发企业级应用的类。比如:ejb、servlet, jsp、xml、事务控制micro edition(微缩版)j2me包含j2se中一部分类,用于消费类电子产

12、品 的软件开发。比如:呼机、智能卡、手机、pda,机顶盒简单讲就是:j2se: java 2 standard edition (java 2 标准版)j2ee: java 2 enterprise edition( java 2 企业版)j2mr: java 2 micro edition (java 2 微缩版)他们的范围是:j2se包含于j2ee中,j2me包含了 j2se的核心类,但新添 加了一些专有类应用场合,api的覆盖范围各不相同。笼统的讲,可以这样理解:j2se是基础;压缩一点,再增加一些cldc等方 面的特性就是j2me;扩充一点,再増加一些ejb等企业应用方面的特性就是j2

13、ee。补充一点j2ee更恰当的说,应该是java2企业开发的技术规范,不仅仅是 比标准版多了一些类。j2ee又包括许多组件,如jsp, servlet, javabean, ejb, jdbc, javamail 等。j2se商业版本,标准版木(java2 standard edition)定位在客户端,主 要用于桌面应用软件的编程。j2se包含那些构成java语言核心的类。比如:数据庳连接、接口定义、输入/输出、网络编程j2se是j2ee的基础,他大量的jdk代码库是每个要学习j2ee的编程人员 必须掌握的。可以把configuration当作是j2se对于两种类型嵌入式装置的规格,而这 些

14、规格之屮定义y这些装置至少要符合的运算能力、供电能力、记忆体大小等规 范,同时也定了一组在这些装置上执行的java程序所能使用的类别函式库、这些规范之中所定义的类别函式库为java标准核心类别函式库的子集合以及与 该型态装置特性相符的扩充类别函式库。比方就cldc的规范来说,可以支援的 核心矣别函式库为java. lang. *、java. io. *、java. util. 而支援的扩充类 另1j函式库为java, microedition, io. 区分出两种主要的configuration之後, j2se接著在定义出profile的概念。profile是架构在configuration之

15、上的 规格。之所以宥profile的概念,是为了耍更明确地区分出各种嵌入式装置上 java程序该如何开发以及它们应该具有哪些功能。因此profile之中定义了与 特定嵌入式装置非常相关的扩充类别函式库,而java程序在各种嵌入式装置上 的使用者介面该如何呈现就是定义在profile里头。profile之中所定义的扩 充炎别函式库.是根据底层configuration内所定义的核心炎别函式库.所建立。与j2me和j2ee相比,j2se总体的的运行环境和目标更加多样化,但其中每 一种产品的用途却更为单一,而且资源限制也更加严格。为了在达到标准化和兼 容性的同吋尽量满足不同方面的需求,j2se的架构

16、分为configuration,profile 和optional packages (可选ti)。它们的组合取舍形成了具体的运行环境。configuration主盟是对设备纵向的分炎,分炎依据包括存储和处理能力, 其中定义了虚拟机将性和基本的类库。已经标准化的configuration connected limited device configuration ( cldc )和 connected device configuration (cdc)oprofile建立在configuration基础之上,一起构成了完整的运行环境。它 对设备横向分类,针对特定领域细分市场,内容主要包括特

17、定用途的类库和api。 cldc 上已经标准化的 profile 有 mobile information device profile ( midp) 和 information module profile( imp),而 cdc 上标准化的 profile 有 foundation profile(fp)、personal basis profile(pbp)和 personal profile (pp)。可选独立于前面两者提供附加的、模块化的和更为多样化的功能。h前标 准化的可选包包括数据库访问、多媒体、蓝牙等等。开发java me程序一般不需耍特别的开发工其,开发者只需耍装上java

18、 sdk 及下载免费的sun java wireless toolkit就可以开始编写java me程式,编 译及测试,此外口前主要的ide(eclipse及netbeans)都支持java me的开发, 个别的电脑开发商如nokia及sony ericsson都有自己的sdk,供开发者在开发出兼容于他们的平台的程序。1.3程序设计思想游戏作为人们h常生活的一个重耍的娱乐项目,也带动了巨大的游戏相关产 业市场的发展。游戏平台从游戏机、电视游戏,到pc游戏,到电脑游戏,中间 经历了很多的技术的变革。随着新技水的发展和人们生活水平的提高,电脑开始 逐渐普及,电脑以其小巧便捷,方便的特性成为人们的必

19、备通讯工具。而基于电 脑平台的电脑游戏也就拥有了巨大的市场空问,随着3g的开通和应用,电脑游 戏必将迎来新的一轮游戏热潮。游戏是用來给大家娱乐的,所以耍能在使用的过程中给大家带來快乐,消除 大家的疲劳,所以我们在游戏中添加了漂亮的场景,设置了过关升级的功能,激 发大家的娱乐激情。从游戏的基本玩法岀发,主要就是俄罗斯方块的形状和旋转,我们在设计中 在一个阁片框中构造了一个4*4的网状小块,由这些小块组合成新的形状,每四 个小块连接在一起就可以构造出一种造型,因此我们总共设计了7中造型,每种 造型又可以通过旋转而变化出2到4种形状,利用随机函数在一个预览窗体中提 前展示形状供用户参考,然后将展示的

20、形状复制到游戏窗体屮进行摆放,在游戏 窗体巾用户就可以使用键盘的方向键来控制方块的运动,然后利用递归语句对每 一行进行判断,如果有某行的方块是满的,则消除这行的方块,并且使上而的方 块自由k落,其中,方块向下的速度是宥时钟控件控制的,在游戏中,用户也可 以使用向下键加快下落速度,定义一个变量,对消除的函数进行记录,最后就可 以得出用户的分数,用if语川对分数判断,达到一定的积分就可以升级到下一 个档次。俄罗斯方诀游戏设计的主耍步骤为以t方而:(1) 游戏界面的设计。(2) 俄罗斯方块的造型。(3) 俄罗斯方块的旋转。(4) 俄罗斯方块的运动情况(ti拈句左,向右和向下)。(5) 俄罗斯方块的自

21、动消行功能。(6) 游戏级别的0由选择。(7) 游戏速度的a由选择。(8) 游戏得分的计算。(9) 游戏菜申选项的设计及功能实现。1.4主要实现的功能我们开发的俄罗斯方块游戏,主要实现了以下几种功能:1. 可以灵活控制方块在图形框屮运动。2. 游戏过程中方块可以自由旋转。3. 当某一行的方块排列满时,将自动将这一行方块消除,然后将上面所冇方块向 卜*移动,可以支持连续消行。4. 游戏前町以选择游戏的速度和游戏的等级,游戏速度既为方块下落速度,游戏 等级为初始游戏吋在基层随机生成一定行数的无规律方块,生成的行数由你来选 择,每行至少产生5个以上的无规律方块,这样增加了游戏难度,对于游戏高手 来说

22、,无疑不是一个新的挑战。5. 游戏的得分支持积分,并且按照公式:得分=原來分数+ 100 * (2 "同吋消除的行数-1),这样,你同一吋间消除的 行数越多,你的得分也就越高,当游戏积分到了一定时可以自动升级,这个升级 指速度升级。6. 游戏屮提供了一个漂亮的场景,给你带来无限激情。二、开发背景随着通信技术的发展和电脑的普及,电脑游戏的开发技术越来越为人们所 关注。以j2se为开发平台,利用java提供强大工具,不但可以在电脑上实现静 态11tml技术所无法实现的计算处理、数裾存储、与服务器的通信等功能,而且 能够开发各种电脑游戏。java自从20世纪90年代早期诞生以来,以其强大的

23、功能迅速为广大程序 员们所接受。从2001年开始,日本的国内的移动电话开始搭载java。使用本来 就是一种程序语言的java之后,就可以在移动电话上完成以往静态的html内容 所无法达成的计算处理、数据存储、与服务器的通信等等。如采能利用java上 其他丰富功能,那么就吋以实现更多的功能。随着电脑游戏的发展,国内外各大 开发商纷纷运用java进行电脑游戏开发。j2se作为一种基于java的便携设备 开发平台,在各大电脑开发公司得到了广泛应用。小游戏制作的0的是满足了人们休闲的需要,在紧张工作之余休闲类的小游戏能够给人带来最大程度的放松,也可以增进人们之间的交流,沟通,方便人们 娱乐的目的。另外

24、也通过本程序将儿年来所学的专业知识和其他方面的知识融入 到实际应用屮。通过此次课题的设计,掌握如何制作一个俄罗斯方块游戏软件,以及制作游戏软件的整个流程,制作游戏软件的步骤,为以后的就业工作打下基础。木课题拟研究基于j2se的电脑游戏开发技术以及其特点,开发一个俄罗斯方块游戏,具体研究内容如下:1、电脑游戏幵发以及j2se的基本理论和j2se类库的使用;2、j2se体系结构的研究;3、j2seapi 的研究;(1) 应用程序的研究;(2) 类库研究;(3) 各事件发生器的应用。4、开发工具的应用和开发环境的设置。其中j2se api的研究为重点,本课题将通过一个具体的电脑游戏-俄罗斯方块的丌发

25、来研究以上内容。j2se简介现在 java-java2 platform 大致吋分为 j2se、j2ee、j2me 三类。j2se 为 java-java2 platform的标准版,通常在pc上使用的java。j2ee是在j2se的 api上,扩展了给企业使用ejb与servlet等主要使用在服务器上的功能。而j2se 则是而向家电和通信工具等微小设备。j2se的目标是微小设备,这类设备宥许多种类,在这些设备的j2se当中, 定义了 cdc (connected device configuration) ,cldc(connected limited device configuratio

26、n)这个 configuration。cdc是以能用在个人网关、下一代移动电话、pda (个人数字助理)、家电 设备、pos终端、车辆导航系统等上运行为前提设计出来的。cldc,是以能使 用在移动电话、pda (个人数字助理)、家电设备、pos终端等上而为前提设计出來的。j2se体系结构配置和简表:配置定义y个设计在一系列类似硬件上运行的java平台的 能力。j2se的目标是家电与嵌入式设备,这类设备有很多种类,对应这些设备 的j2se当屮,定义了 cdc (连接设备配置)和cldc (受限接设备配置)两个 配置,配置所提供的类函数只宥java.lang, java.io,java.util包

27、等j2se等核心类的 子集。cldc是与电脑相关的,它实际是定义一个设备制造商用來实现java运 行环境的标准,第三方开发者只需要遵循这个标准。cldc主要影响java开发 和软件发布的以下方面:1) 目标设备的特性;2) 安全模型:安全模型宥两个部分,虚拟机和应用程序安全。虚拟机安全 层的目的是保护下面的设备不受任何执行代码可能引起的损害。开发环境(1) 开发的硬件环境:cpuc1.7hz/maxor 40g/ddr 256m/cd-row 40x(2) 开发软件:jdk1.6目标硬件环境:1:妞示:96*54象素,1位颜色,大约1: 1的象素比例;2:输入:(a) 单t键盘或者小键盘;(b

28、) 双手的qwertv键盘;(c) 触摸屏。3) 内存(a) 128kb非易失性内存,供midp组件使用;(b) 8kb的非易失性内存,供应用程序生成的永久数据使用;(c) 32kb的易失性内存,供java堆使用。木游戏的操作流程(如图):用户在/a动后,即进入游戏主画面,屏幕开始 敁示为欢迎画面。用户按下开始按钮后,就可以开始玩游戏。当用户想暂停时, 再次按一 1丌始按钮,游戏就暂停了,在暂停的情况下再按丌始按钮,游戏 继续运行。任何时候按退出j按钮,游戏都会终止。在信息社会屮,电脑及其他娱乐设备越来越多的走进普通百姓的工作和生 活,随着信息网络化的不断进展,电脑及其他无线设备上网络势在必行

29、。但是传 统电脑存在以下弊端:1. 传统电脑出厂吋均由硬件厂商固化程序,程序不能增加、删除,有了错 误也不能更新、修改,若要增加新功能必须另换一部电脑。2. 传统电脑访问瓦联m是通过 wap(wireless application protocal),所宥网络资源必须接通网络才能在线访问,非常耗时、费用亦很高。而java技术在无线应用方面的优势非常明显:1. 应用程序可按需下载,而不是购买由硬件商提供的套件,可升级空大。2. java技术提供了一个类库,它使的应用开发商可以创建更为直觉、丰 富的用户界而(gui);3. java技术使网络带宽的应用更为宥效,因为应用程序可以卜载到器件上, 并

30、在本地运行,仅仅是在连接到服务器吋冰会占用网络带宽。java的最大目标 和特点,就是“一次编写,到处运行”的平台无关性。但是,一套标准无法适应 各种不同的需求。因此,java技术目前共有三套,分别针对不同的平台和应用。standard edition (j2se,标准版):针对桌面端pc和工作站的个人和低端 商务应用。enterprise edition (j2ee,企业版):针对服务器端企业级应用,支持 servlets, jsp 和 xml 等等。micro edition (j2se,袖珍版):针对有限内存,显示和处理能力的设备, 主耍是消费电子和嵌入式设备领域(这实际正是java语言设

31、计最初的目标领 域)。图1 java结构在消费电子和嵌入式设备领域,内存从几丙k到几十m,从没冇屏幕web-tv, cpu从低功耗的嵌入式处理器到206m11z的risc处理器,硬件条件的差异是相当 大的。这就使得j2sr的标准需要冇不同的层次和类别来适应这个复杂的领域, 因此相比之下j2se就比j2se和j2ee的标准要复杂得多。因此,清楚的理解j2se 的体系结构的划分才能更好的理解和掌握j2se。j2se的3层体系结构依照各种设备的资源特性,将j2se技术构架分为简表 (profile)、配置(configuration)和 java virtual machine (jvm) 3m,然

32、 后再进一步细分,这使j2se能够在每_类设备的限制下工作,而同吋提供最低 限度的java语言功能性。关于j2se的体系结构,可以这样来进行总结:configuration的分类是根 据计算能力的不同来划分的,同类设备的计算能力相近。configuration是一个 规范,定义了这类设备的共同java平台,定义与设备无关的java虚拟机和核心 库,是平台相容性的基础。prohle的分类是根据设备功能划分的,同类功能的 设备其他各种硬件条件和需求也相近。profile是一组api,在某configuration的基础上扩展了针对设备特定功能的api,使得标准能够完全适极特殊的设备, 彻底发挥设备

33、的功能。j2se体系的般结构是:由configuration定义的java虚拟机运行于设备 的宿主操作系统之上,构成整个平台的基础。configuration提供了基本的语言 特性,profile提供针对设备的特殊功能api和扩展类库。应用程序的运行环境 需耍一个configuration和至少一个profile,多个profile可以共存,也可以 叠加。midp (mobile information device profile)定义了针对移动信息处理设 备(主要指智能电脑和一部分具有无线通信功能的toa)的图形界面,输入和时 间处理,持久性存储,无线电话网络连接之上的一些消息处理(例如短

34、消息), 安全等等api,并且考虑到了移动信息设备的解幕和内存限制。类似于j2se中 的 applet 框架,midp 提供了基于 javax. microedition, mi diet 包的 mtdlet 应 用程序框架。因为midp提岀的比较早,目前重要的智能电脑和pda操作系统上都已有了 相应的实现,而且应用的也比较广泛。针对消费电子和嵌入式设备领域丰富多样的设备和彼此相差极大的计算能 力及各种硬件条件,j2sr首先根据最基本的一些特征把它们划分为两类。具备间断网络通讯能力的个人移动信息设备:如电脑,双向呼机,pda (personal digital assistant,个人数字助理

35、,也称掌上电脑)等等。有固 定的不间断网络连接的共享连接信息设备:如置顶盒(set-top boxes),web-tv, 支持internet的宥屏幕电话,汽车娱乐/导航系统等等。sun对j2se冇一个很好的概括:j2sr技术冇两个设计中心手持的设备, 和可以插到墙上插座的设备。第一类设备往往是个人化的,移动的,使用电池, 体积和功耗都有限制,因此功能和计算能力有限。第二类设备一般是固定的,因 此体积没有太大限制。由于固定,可以冇持续电源供应,因此功耗没冇太大问题, 计算能力相对充裕。计算能力是这两类设备的主要区别,对其上可能的应用和环境显然冇着本质 影响,不同类别的设备不可能采用同样的jav

36、a平台,必须分别定义。针对这两 大类设备的平台规沿就是configuration。第一类设备的configuration称为cldc (connected, limited device configuration),第二类称为 cdc (connected device configuration)。属于同一类的设备计算能力是相似的,但是其他功能和条件还有非常大的区 别。作为java平台必须保证和容性,这就必须舍弃所有的设备特殊性。因此, configuration就是支持一组通用设备的最小java平台,作为这些设备的最小 公分母来保证不同设备间的平台相容性。这里的java平台主要是指jav

37、a虚拟机 (jvm)和核心库。在configuration屮舍弃了设备的特殊性来保证java平台的相容性,但是 仅仅有configuration姑然是不够的,特殊的具体设备其独有的功能和硬件条件 都没有得到支持。为此,在configuration的基础上,根据设备具体功能再进行 一次划分,比如智能电脑,pda等等。功能的划分也就是其他硬件条件的划分, 比如屏幕大小,a存,计算能力,电力供应等等都是从属于功能的,因此同功能 的设备的硬件条件都是非常相似的。profile (译为简表或者简档)就是针对每 类功能设备的特殊性定义的与设备特性和关的api,逮筑于configuration之 上,作为

38、configuration 的扩展和补充。例如 midp (mobile information device profile,移动信息设备profile)就定义了关于移动信息设备(主要指智能电 脑和一部分具有无线通信功能的toa)的图形界面,输入和时间处理,持久性存 储,短消息等等的api,并且考虑到了移动信息设备的屏慕和内存限制。而正在 制定中的pda profile则定义了针对pda的api,其屏藉,内存条件都要大于midp, 但是网络方而的要求则显然和电脑有所不同。如1阁所示,同屈于 configuration的设备根掘功能不同由不同的profile来支持,profile体现设备的特殊

39、性,但是都建筑在一个井m的基础configuration平台之上。j2se已经广泛的应用在y很多的电脑设备上,很多的电脑设备都实现midp 的参考实现,但不同的电脑设备还是有一些不同的地方,比如应用与电脑上的 profile就不适合在pda的profile。有一些系统,比如symbian实现了 cldc 和mtdp,作为智能电脑的操作系统,是理想的mtdp应用平台。其他的系统,如 在 compaq 的 ipaq 上己经实现了 cdc, ibm 的 websphere micro environment 在 pocket pc上实现了 cldc, cdc和midp。可见,在硬件条件较好的pda上

40、都可以 实现cdc的标准。由于这些主要操作系统平台都是开放的,基木可以相信,主要 的移动信息设备操作系统都将一直提供j2se的支持,但是其体支持哪个标准则并不一定死板地按照cldc和cdc的最初定义,和设备的硬件条件和厂商的选择 冇关,或者可能同吋实现多个标准。所以说j2se的还是在快速的发展的。三、游戏实现3.1游戏设计的具体实现在我们两个人共同努力下,此次设计,终于能够isi满完成。由于吋间的紧促, 在设计中,也许会有一些考虑不周之处,但其功能己经能够满足人多用户的需求, 相信假以吋h,一定能做出一个更经典,更完美的俄罗斯方块游戏,下面我们将 对每一步的兵体如何实现展示给大家。3. 1.1

41、游戏界面的设计实现俄罗斯方块游戏主要由两个界而构成,登陆界而和开始游戏界而。3. 1.2俄罗斯方块的造型34561314151623242526333435360123456789 e 參蠡蠢 e e 蠡鲁 e 參蠡蠢 e e 蠡鲁90919293949596979899区编号条型的相信朋友们都玩过俄罗斯方块,对这个游戏的玩法和方块形状都比较熟悉。 我们这个游戏只选择了最基木的7中造型,乜拈k:条型,正方型,正s型,反s 型,正7型,反7型,t型。如果需要我们对以添加更多的造型。将游戏界面的 游戏区图片框分割成10*20的小块,每个小块放置一个jbutton控件,预览区图 片框按同样比例分割成

42、4*4的小块,同样有jbutton控件构成,我们可以把预览 区图片框看作是从游戏区图片框中选取的一个部分,游戏区的小方块编号和预览 区编号如下图:游戏区编号预览利用select将方块的7中造型列出,比如氏 设计,在欲览区中分别有3. 4. 5. 6和5. 15. 25. 35四个方块构成两中形态,用数 组为:m(0) =3: m(l) =4: m(2) =5: m(3) =6: situation2 = 0 m(0) =5: m(l) = 15: m(2) = 25: m(3) = 35: situation2 = 1 将它的形状编号为0和1,在后面方便调用,其他的方块造型同样的方法。3. 1

43、.3俄罗斯方块的旋转俄罗斯方块的旋转主要将方块的位置加以变换得到的,例如上述范例,长条 型有两屮样式,根据小方块的编号变动来实现整个造型的旋转,比如:public final static int styles = / 共 28 种状态oxofoo,0x4444,oxofoo,0x4444,/0x04c0,0x0464,0x00c4,0x04c4,/0x4620,0x6c00,0x4620,0x6c00,/0x2640,0xc600,0x2640,0xc600,/0x6220,0x1700,0x2230,0x0740,/0x6440,0x0e20,0x44c0,oxseoo,/0x0660,0

44、x0660,0x0660,0x0660,/;方块的造型在旋转的吋候存在一个公式,当然首先要判断是否满足旋转的要 求,以上是一个k条型由横着变成竖立状态的旋转,我们以它的造型中的第三个 小方块n(3)为中心旋转,这样,在幵始运动的时候,长条形耍发生旋转最少耍 运动到第三行,才能由横着变成竖立状态,游戏区图形框中第三行的第一个方块 的编号为20,所以长条造型的第一个小方块的编号n(0)必须要大于20。同样, 长条型方块在下落到底部的吋候也有限制。如果长条下落到最后一行也将无法由 横着变成竖立状态。3.1.4如何实现方块的运动和自动消除满行的方块我们的这个俄罗斯方块游戏主耍是利用jbutton控件的

45、visible属性完成效 果的,其实在游戏区图形框可以看成是由许多的jbirtton小方块组成,方块运动 的过程就是造型里方块显示或者隐藏,就像现在的霓虹灯效果一样,由吋钟控件 控制visible属性改变的速度,上一层的消失,下一层的敁示,这样,从视觉效 果可以看到方诀的t落运动效果。方块在卜*落的过程中会0动判断每一行方块的visible属性,如來全部为 true吋,就会将这一行小方块的visible属性全部变成false,在将上面的小方 块向下移动,利用for语句进行循环判断,将所有这样情况的行改变小方块visible属性。当宥多行同时出现这样情况时使用递归调用,实现连续消行。具 体程序代

46、码如下:public russiabiock(int y, int x, int level, int style)this, y = y; this, x = x; this.level 二 level; moving = true; pausing = false; this.style 二 style;canvas = gamecanvas. getcanvasinstance();boxes = new russiaboxrowscols; int key = 0x8000;for (int i = 0; i < boxes, length; i+) for (int j = 0

47、; j < boxesi.length; j+)boolean iscolor = ( (style & key) != 0 ); boxesij二 new russiabox(iscolor); key = 1;display();3.1.5游戏速度和游戏级别自由选择游戏速度的0由选择无非就是改变时钟控件的频率,我们在菜单中添加y选 择速度的功能,还有添加了考验功能,将欲览窗屮的方块造型隐藏,给玩家提高 了难度,如果你不愿意接受考验也可以点击显示还原成原来状态。游戏级别的自由选择是让用户选择游戏幵始时候,游戏区底部出现一定行数 的随机方块,同样给玩家增加了难度,功能代码如下:p

48、ublic void run()while(moving)trysleep( between_levels_time * (russiablocksgame. max_level - level + level flatness gene);if gpausing)moving = ( movcto(y + 1,x) && moving );catch(tnterruptedrxception e)e. printstacktrace ();可以根据你选择的难度系数在底层的每一行随机产生超过半数(即5个以 上)以上的小方块,这样适合喜欢高难度的玩家。3.1.6游戏得分的计算和游戏菜单的编辑游戏得分的计算主耍是根据消除的行数来决定的,当然每一次同时消除的行 数不

温馨提示

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

评论

0/150

提交评论