基于java的俄罗斯方块游戏开发文档格式.docx
- 文档编号:7520175
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:30
- 大小:60.18KB
基于java的俄罗斯方块游戏开发文档格式.docx
《基于java的俄罗斯方块游戏开发文档格式.docx》由会员分享,可在线阅读,更多相关《基于java的俄罗斯方块游戏开发文档格式.docx(30页珍藏版)》请在冰点文库上搜索。
2.Java的介绍2
2.1Java历史介绍2
2.2Java名字起源3
2.3Java语言特点3
2.4Java主要特性4
2.5Java相关技术5
3.俄罗斯方块的Java设计方法6
3.1Java的编程环境6
3.2JavaMEWirelessToolkit(WTK)简介7
3.3WTK安装过程7
3.4俄罗斯方块游戏的设计8
4.俄罗斯方块游戏设计总结与心得22
1.俄罗斯方块游戏介绍
1.1俄罗斯方块游戏的背景
俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它由俄罗斯人阿列克谢·
帕基特诺夫发明,故得此名。
俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。
由于上手简单、老少皆宜,从而家喻户晓,风靡世界。
俄罗斯方块曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事,它看似简单但却变化无穷,令人上瘾。
相信大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。
俄罗斯方块上手极其简单,但是要熟练地掌握其中的操作与摆放技巧,难度却不低。
作为家喻户晓老少皆宜的大众游戏,其普及程度可以说是史上任何一款游戏都无法相比的。
但是,谁知道这么优秀的娱乐工具,出自哪位神人之手呢?
顾名思义,俄罗斯方块自然是俄罗斯人发明的。
这位伟人叫做阿列克谢·
帕基特诺夫。
俄罗斯方块原名是俄语Тетрис(英语是Tetris),这个名字来源于希腊语tetra,意思是“四”,而游戏的作者最喜欢网球(tennis)。
于是,他把两个词tetra和tennis合而为一,命名为Tetris,这也就是俄罗斯方块名字的由来啦。
1.2俄罗斯方块游戏的规则
(1)一个用于摆放小型正方形的平面虚拟场地,其标准大小:
行宽为10,列高为20,以每个小正方形为单位;
(2)一组由4个小型正方形组成的规则图形,英文称为Tetromino,中文通称为方块,
共有7种,分别以S、Z、L、J、I、O、T这7个字母的形状来命名;
(3)通过设计者预先设置的随机发生器不断地输出单个方块到场地顶部,以一定的规则进行移动、旋转、下落和摆放,锁定并填充到场地中。
每次摆放如果将场地的一行或多行完全填满,则组成这些行的所有小正方形将被消除,并且以此来换取一定的积分或者其他形式的奖励。
而未被消除的方块会一直累积,并对后来的方块摆放造成各种影响;
(4)如果未被消除的方块堆放的高度超过场地所规定的最大高度(并不一定是20或者玩家所能见到的高度),则游戏结束。
具体到每一款不同的游戏,其中的细节规则都可能有千差万别,但是以上的基本规则是相同的。
2.Java的介绍
2.1Java历史介绍
Java,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。
用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:
跨平台、动态的Web、Internet计算。
从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Javaapplet。
Java平台由Java虚拟机(JavaVirtualMachine)和Java应用编程接口(ApplicationProgrammingInterface、简称API)构成。
Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。
在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。
现在Java平台已经嵌入了几乎所有的操作系统。
这样Java程序可以只编译一次,就可以在各种系统中运行。
Java应用编程接口已经从1.1x版发展到1.2版。
目前常用的Java平台基于Java1.4,最近版本为Java1.7。
Java分为三个体系JavaSE(Java2PlatformStandardEdition,java平台标准版),JavaEE(Java2Platform,EnterpriseEdition,java平台企业版),JavaME(Java2PlatformMicroEdition,java平台微型版)。
2009年04月20日,oracle(甲骨文)宣布收购sun。
1991年,Sun公司的JamesGosling。
BillJoe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个Oak(一种橡树的名字)软件,他是Java的前身。
当时,Oak并没有引起人们的注意,直到1994年,随着互联网和3W的飞速发展,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官ScottMcNealy的支持,得以研发和发展。
为了促销和法律的原因,1995年Oak更名为Java。
Java的得名还有段小插曲呢,一天,Java小组成员正在喝咖啡时,议论给新语言起个什么名字的问题,有人提议用Java(Java是印度尼西亚盛产咖啡的一个岛屿),这个提议得到了其他成员的赞同,于是就采用Java来命名此新语言。
很快Java被工业界认可,许多大公司如IBMMicrosoft.DEC等购买了Java的使用权,并被美国杂志PCMagazine评为1995年十大优秀科技产品。
从此,开始了Java应用的新篇章。
Java的诞生是对传统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响:
(1)软件4A目标要求软件能达到任何人在任何地方在任何时间对任何电子设备都能应用。
这样能满足软件平台上互相操作,具有可伸缩性和重用性并可即插即用等分布式计算模式的需求。
(2)基于构建开发方法的崛起,引出了CORBA国际标准软件体系结构和多层应用体系框架。
在此基础上形成了Java.2平台和.NET平台两大派系,推动了整个IT业的发展。
(3)对软件产业和工业企业都产生了深远的影响,软件从以开发为中心转到了以服务为中心。
中间提供商,构件提供商,服务器软件以及咨询服务商出现。
企业必须重塑自我,B2B的电子商务将带动整个新经济市场,使企业获得新的价值,新的增长,新的商机,新的管理。
(4)对软件开发带来了新的革命,重视使用第三方构件集成,利用平台的基础设施服务,实现开发各个阶段的重要技术,重视开发团队的组织和文化理念,协作,创作,责任,诚信是人才的基本素质。
总之,目前已经看到了Java对信息时代的重要性,未来还会不断发展,Java在应用方面将会有更广阔的前景。
2.2Java名字起源
Java自1995诞生,至今已经15年历史。
Java的名字的来源:
Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。
Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans(对象豆)等等。
SUN和JAVA的标识也正是一杯正冒着热气的咖啡。
据JamesGosling回忆,最初这个为TV机顶盒所设计的语言在Sun内部一直称为Green项目。
我们的新语言需要一个名字。
Gosling注意到自己办公室外一棵茂密的橡树Oak,这是一种在硅谷很常见的树。
所以他将这个新语言命名为Oak。
但Oak是另外一个注册公司的名字。
这个名字不可能再用了。
在命名征集会上,大家提出了很多名字。
最后按大家的评选次序,将十几个名字排列成表,上报给商标律师。
排在第一位的是Silk(丝绸)。
尽管大家都喜欢这个名字,但遭到JamesGosling的坚决反对。
排在第二和第三的都没有通过律师这一关。
只有排在第四位的名字、得到了所有人的认可和律师的通过,这个名字就是Java。
10多年来,Java就像爪哇咖啡一样誉满全球,成为实至名归的企业级应用平台的霸主。
而Java语言也如同咖啡一般醇香动人。
2.3Java语言特点
Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。
当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。
那么Java到底有何神奇之处呢?
Java语言其实最早诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。
他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折。
但是,网络的出现改变了OAK的命运。
在Java出现以前,Internet上的信息内容都是一些乏味死板的HTML文档。
这对于那些迷恋于WEB浏览的人们来说简直不可容忍。
他们迫切希望能在WEB中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。
对于用户的这种要求,传统的编程语言显得无能为力。
SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。
当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都心生感叹:
噢,这正是我想要的!
于是Java成了一颗耀眼的明星,丑小鸭一下子变成了白天鹅。
2.4Java主要特性
(1)Java语言是简单的。
Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。
另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。
特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
(2)Java语言是一个面向对象的。
Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。
Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。
总之,Java语言是一个纯的面向对象程序设计语言。
(3)Java语言是分布式的。
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。
Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
(4)Java语言是健壮的。
Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。
对指针的丢弃是Java的明智选择。
Java的安全检查机制使得Java更具健壮性。
(5)Java语言是安全的。
Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。
除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。
(6)Java语言是体系结构中立的。
Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。
这种途径适合于异构的网络环境和软件的分发。
(7)Java语言是可移植的。
这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。
Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。
(8)Java语言是解释型的。
如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。
在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
(9)Java是高性能的。
与那些解释型的高级脚本语言相比,Java的确是高性能的。
事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。
(10)Java语言是多线程的。
在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。
通常有两种方法来创建线程:
其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。
值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。
线程的活动由一组方法来控制。
Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
(11)Java语言是动态的。
Java语言的设计目标之一是适应于动态变化的环境。
Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。
这也有利于软件的升级。
另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。
Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。
Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。
特别是Java企业应用编程接口(JavaEnterpriseAPIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。
2.5Java相关技术
(1)JDBC(JavaDatabaseConnectivity)提供连接各种关系数据库的统一接口,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,同时,JDBC也是个商标名。
(2)EJB(EnterpriseJavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。
(3)JavaRMI(JavaRemoteMethodInvocation)用来开发分布式Java应用程序。
一个Java对象的方法能被远程Java虚拟机调用。
这样,远程方法激活可以发生在对等的两端,也可以发生在客户端和服务器之间,只要双方的应用程序都是用Java写的。
(4)JavaIDL(JavaInterfaceDefinitionLanguage)提供与CORBA(CommonObjectRequestBrokerArchitecture)的无缝的互操作性。
这使得Java能集成异构的商务信息资源。
(5)JNDI(JavaNamingandDirectoryInterface)提供从Java平台到的统一的无缝的连接。
这个接口屏蔽了企业网络所使用的各种命名和目录服务。
(6)JMAPI(JavaManagementAPI)为异构网络上系统、网络和服务管理的开发提供一整套丰富的对象和方法。
(7)JMS(JavaMessageService)提供企业消息服务,如可靠的消息队列、发布和订阅通信、以及有关推拉(Push/Pull)技术的各个方面。
(8)JTS(JavatransactionService)提供存取事务处理资源的开放标准,这些事务处理资源包括事务处理应用程序、事务处理管理及监控。
(9)JMF(JavaMediaFrameworkAPI),她可以帮助开发者把音频、视频和其他一些基于时间的媒体放到Java应用程序或applet小程序中去,为多媒体开发者提供了捕捉、回放、编解码等工具,是一个弹性的、跨平台的多媒体解决方案。
(10)Annotation(JavaAnnotation),在已经发布的JDK1.5(tiger)中增加新的特色叫Annotation。
Annotation提供一种机制,将程序的元素如:
类,方法,属性,参数,本地变量,包和元数据联系起来。
这样编译器可以将元数据存储在Class文件中。
这样虚拟机和其它对象可以根据这些元数据来决定如何使用这些程序元素或改变它们的行为。
在Java技术中,值得关注的还有JavaBeans,它是一个开放的标准的组件体系结构,它独立于平台,但使用Java语言。
一个JavaBean是一个满足JavaBeans规范的Java类,通常定义了一个现实世界的事物或概念。
一个JavaBean的主要特征包括属性、方法和事件。
通常,在一个支持JavaBeans规范的开发环境(如SunJavaStudio和IBMVisualAgeforJava)中,可以可视地操作JavaBean,也可以使用JavaBean构造出新的JavaBean。
JavaBean的优势还在于Java带来的可移植性。
现在,EJB(EnterpriseJavaBeans)将JavaBean概念扩展到Java服务端组件体系结构,这个模型支持多层的分布式对象应用。
除了JavaBeans,典型的组件体系结构还有DCOM和CORBA,关于这些组件体系结构的深入讨论超出了本书的范围。
(11)javaFX Sun刚刚发布了JavaFX技术的正式版,它使您能利用JavaFX编程语言开发富互联网应用程序(RIA)。
JavaFXScript编程语言(以下称为JavaFX)是Sun微系统公司开发的一种declarative,staticallytyped(声明性的、静态类型)脚本语言。
JavaFX技术有着良好的前景,包括可以直接调用JavaAPI的能力。
因为JavaFXScript是静态类型,它同样具有结构化代码、重用性和封装性,如包、类、继承和单独编译和发布单元,这些特性使得使用Java技术创建和管理大型程序变为可能。
3.俄罗斯方块的Java设计方法
3.1Java的编程环境
首先要下载J2SE,安装后就要设置环境变量:
(1)classpath类路径的设置:
在桌面选择“我的电脑”单击鼠标右键,选择“属性”在菜单中选择“高级”选项卡,点击“环境变量”选择“系统变量”点“新建”出现两个输入框,一个为变量名,一个为变量值。
在变量名输入“classpath”。
变量值输入lib文件夹下的所有jar包的路径。
(注意:
输入前加一个“.”表示当前路径,然后用“;
”隔开,每一个路径都要隔开。
)
(2)path系统路径
同样在环境变量下,选择“系统变量”点“编辑”出现两个输入框,一个为变量名,一个为变量值。
变量名为path,变量值是把bin路径加到变量值输入框内就可以了。
设置完了,我们来测试一下。
在开始菜单中选择“运行”,输入cmd,打开命令窗口,又称为控制台窗口(dos窗口),输入“java-version”如果设置正确会显示你当前的下载版本信息。
再输入javac来执行,正确就会显示java编译器命令的参数。
3.2JavaMEWirelessToolkit(WTK)简介
(1)什么是J2MEWirelessToolkit
WTK的全称是SunJ2MEWirelessToolkit——Sun的无线开发工具包。
这一工具包的设计目的是为了帮助开发人员简化j2me的开发过程。
使用其中的工具可以开发与JavaTechnologyfortheWirelessIndustry(JTWI,JSR185)规范兼容的设备上运行的j2me应用程序。
该工具箱包含了完整的生成工具、实用程序以及设备仿真器。
到本文写作时为止可以获取有四个版本,分别是1.0.4,2.0,2.1和2.2。
每个版本都包括英语,日语,简体中文,繁体中文4个语种包。
1.0.4版只能够开发MIDP1.0应用程序。
2.0版只能够开发MIDP2.0应用程序。
2.1版则可以同时开发MIDP1.0、JTWI(CLDC1.0,MIDP2.0,WMA1.1)可改用CLDC1.1或加入MMAPI1.1),自定义(自己随机组合Configuration,Profile以及OptionalPackage)三种环境下的应用程序。
2.2版中,WTK全面的支持JTWI规范。
具体的说,即MIDP2.0,CLDC1.1,WMA2.0,MMAPI1.1,WebServices(JSR172),FileandPIMAPIs(JSR75),BluetoothandOBEXAPIs(JSR82),and3DGraphics(JSR184);
同时也可以使用该版本开发面向CLDC1.0和MIDP1.0的应用程序。
系统要求上,WTK2.2至少需要50MB可用硬盘,128MB系统RAM和800MHZPentiumIIICPU。
可以在sun的官方网站免费下载。
WTK2.2下载链接:
WTK是Sun提供的一个开发工具包。
目前各大手机厂商往往把WTK经过自身的简化与改装,推出适合自身产品,如SonyEricsson,NokiaDeveloper’ssuit等,都属于此种类型;
而通过JBuilder,Eclipse等IDE,J2ME开发包工具可以被绑定在这些集成开发环境中,进一步提高开发效率。
3.3WTK安装过程
WTK的安装程序与普通程序一样简单,只有一点需要注意,由于WTK自身并没有附带Java的运行环境JDK,所以,在WTK安装之前你需要安装自己的JDK(我们这里选用的是JDK1.4.2)。
WTK会首先自动检测当前系统已有的Java虚拟机;
然后显示出当前虚拟机所在路径,在确定无误后,就可以继续了,最后安装成功后,将得到一个包括多种实用工具的开发包。
WTK是用来开发MIDP的,为了让MIDlet可以顺利编译和执行,WTK必须具有CLDC和MIDP的类库,WTK可以帮助我们省去额外安装调试这些类库的时间。
而不同版本的WTK包含的程序库内容是不一样的,比如说2.0中包含了midpapi.jar,wma.jar,mmapi.ja
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 java 俄罗斯方块 游戏 开发