欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    俄罗斯方块 文献综述.docx

    • 资源ID:5011327       资源大小:110.44KB        全文页数:12页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    俄罗斯方块 文献综述.docx

    基于JAVA的俄罗斯方块游戏随着通信技术的发展和手机的普及,手机游戏的开发技术越来越为人们所关注。 以J2ME为开发平台,利用Java提供强大工具,不但可以在手机上实现静态HTML技术 所无法实现的计算处理、数据存储、与服务器的通信等功能,而且能够开发各种手机游 戏。JAVA自从20世纪90年代早期诞生以来,以其强大的功能迅速为广大程序员们所 接受。从2001年开始,日本的国内的移动电话开始搭载Java。使用本来就是一种程序 语言的Java之后,就可以在移动电话上完成以往静态的HTML内容所无法达成的计算处 理、数据存储、与服务器的通信等等。如果能利用Java上其他丰富功能,那么就可以 实现更多的功能。随着手机游戏的发展,国内外各大开发商纷纷运用Java进行手机游 戏开发。J2ME作为一种基于Java的便携设备开发平台,在各大手机开发公司得到了广 泛应用。小游戏制作的目的是满足了人们休闲的需要,在紧张工作之余休闲类的小游戏能够 给人带来最大程度的放松,也可以增进人们之间的交流,沟通,方便人们娱乐的目的。 另外也通过本程序将几年来所学的专业知识和其他方面的知识融入到实际应用中。 通过此次课题的设计,掌握如何制作一个俄罗斯方块游戏软件,以及制作游戏软件的整 个流程,制作游戏软件的步骤,为以后的就业工作打下基础。本课题拟研究基于J2ME的手机游戏开发技术以及其特点,开发一个俄罗斯方块游 戏,具体研究内容如下:1、手机游戏开发以及J2ME的基本理论和J2ME类库的使用;2、J2ME体系结构的研究;3、MIDP移动信息设备简表的研究;(1)、MIDP的目标硬件环境;(2)、MIDP应用程序;(3)、CLDC和MIDP库中的类。4、J2ME API 的研究;(1)MIDlet应用程序的研究;(2)MIDlet的类库研究;(3)各事件发生器的应用。5、开发工具的应用和开发环境的设置。其中MIDP移动信息设备简表的研究和J2ME API的研究为重点,本课题将通过一 个具体的手机游戏-俄罗斯方块的开发来研究以上内容。J2ME简介现在 JAVA-JAVA2 Platform 大致可分为 J2SE、J2EE、J2ME 三类。J2SE 为 JAVA-JAVA2 Platform 的标准版,通常在PC上使用的JAVA。J2EE是在J2SE的API上,扩展了给 企业使用EJB与Servlet等主要使用在服务器上的功能。而J2ME则是面向家电和通信 工具等微小设备。J2ME的目标是微小设备,这类设备有许多种类,在这些设备的J2ME当中,定义 了 CDC( Connected Device Configuration),CLDC(Connected Limited Device Configuration) 这两个 Configuration oCDC是以能用在个人网关、下一代移动电话、PDA (个人数字助理)、家电设备、 POS终端、车辆导航系统等上运行为前提设计出来的。CLDC,是以能使用在移动电话、 PDA (个人数字助理)、家电设备、POS终端等上面为前提设计出来的。J2ME体系结构配置和简表:配置定义了一个设计在一系列类似硬件上运行的Java平台的能力。 J2me的目标是家电与嵌入式设备,这类设备有很多种类,对应这些设备的J2me当中, 定义了 CDC (连接设备配置)和CLDC (受限接设备配置)两个配置,配置所提供的 类函数只有Java.lang, Java.io,Java.util包等J2SE等核心类的子集。CLDC是与手机相关 的,它实际是定义一个设备制造商用来实现Java运行环境的标准,第三方开发者只需 要遵循这个标准。CLDC主要影响Java开发和软件发布的以下方面:1)目标设备的特性;2)安全模型:安全模型有两个部分,虚拟机和应用程序安全。虚拟机安全层的目 的是保护下面的设备不受任何执行代码可能引起的损害。开发环境(1)开发的硬件环境:CPU C1.7HZ/Maxor 40G/DDR 256M/CD-ROW 40X(2)开发软件:JDK1.6 和 J2MEWTK目标硬件环境:1:显示:96*54象素,1位颜色,大约1: 1的象素比例;2:输入:(。单手键盘或者小键盘;(切双手的QWERTV键盘;(c)触摸屏。3) 内存(a) 128KB非易失性内存,供MIDP组件使用;(b) 8KB的非易失性内存,供应用程序生成的永久数据使用;(c) 32KB的易失性内存,供Java堆使用。本游戏的操作流程(如图):用户在启动MIDlet后,即进入游戏主画面,屏幕开 始显示为欢迎画面。用户按下开始按钮后,就可以开始玩游戏。当用户想暂停时,再 次按一下开始按钮,游戏就暂停了,在暂停的情况下再按开始按钮,游戏继续运行。 任何时候按退出按钮,游戏MIDlet都会终止。实现内容:1. 参考俄罗斯方块游戏功能,开发一个基于J2ME技术的俄罗斯方块游戏;2. 熟悉J2SE编程API接口,掌握J2SE手机游戏开发技术;3. 设计完美的游戏界面,实现标准俄罗斯方块游戏的功能;4. 通过开发游戏,进一步掌握J2SE开发的技术,为以后撰写论文做好准备。J2ME API 简介1 MIDP API 概述MIDP API包含以下五个部分,如表2-1所示:表 1 MIDP API类 别描述Application包括MIDlet类。Timers主要包括Timers和Timers Task类。Networking提供访问设备通信能力的接口。Persistence通过记录管理系统(RMS)API访问用户永久存储。User Interface包括MIDP LCDUI(液晶显示器用户界面)类。2 MIDlet应用程序MIDlet即MIDP的应用程序,MIDlet应用程序的核心是MIDlet类。为了创建一 个MIDlet,必须从这个虚基类派生出自己的类。表2-2提供了从MIDlet类继承的方法。表 2 MIDlet 类方法描述访问JAR和JAD文件中的属性String gerAppProperty(stringkey)返回JAR和JAD中与key相对应的属性的值。Abstract void destoryApp(boolean unconditinal)应用程序管理器在应用程序关闭前,调用这个方法来给我 们做一些事情的机会(例如保存状态和释放资源)。Abstract void pauseApp()在用户暂停游戏时,应用程序管理器调用MIDlet的类方法。Abstract void startApp()应用程序管理器调用MIDlet的这个方法,来告诉用户再次开启游戏。Abstract void notifyDestroyed()如果游戏者决定退出游戏,可以调用这个方法来通知应用程序管理器。续表2 MIDlet类方法描述Abstract void notifyPausrd()调用这个方法来通知应用程序管理器游戏者已经暂停游 戏。Abstract void notifyRequest()调用这个方法来告诉应用程序管理器MIDlet要重新开始。应用程序管理器(Application Manager ,AM)的作用就是管理MIDlet。本质上来 说,MIDlet应用程序只存在两种状态暂停和运行。MIDlet被创建后默认为暂停状 态,当应用程序管理器认为它准备完毕,它会调用startApp方法来通知MIDlet进入运 行状态。3使用定时器MIDP API 包括两个关于定时器的类Java.util.Timer 和 Java.util.Timer Tast 类(如表2-3和2-4所示):表 3 Java.util .Timer 类方法描述Timer()构造-个新的Timer对象。Void cancel()停止Timer oVoid schedule(TimeTask task,Dare d)把一个任务定时在时间d运行。Void schedule(TimeTask task, Data firstTime, long period )让一个任务第一次在一个指定的时间运 行,然后每隔period毫秒运行 次。Void schedule(TimeTask task,long delay)指定个任务在delay毫秒后运仃次。Void schedule(TimeTask task,long delay,long period)指定一个任务从delay毫秒连续运行,然 后每隔period毫秒运行次。Void scheduleAtFixedRate(timeTask task,Date firstTime,long period)指定一个任务从firstTime连续运行,然 后以固定间隔period毫秒连续运行。Void scheduleAtFixedRate(TimeTask task,long delay,long period)指定一个任务在delay毫秒后运行,然后 以固定间隔period毫秒连续运行。表 4 Java.util.Timer Tast类方法描述Timer Task()构 一个新的Timer Task对象。Boolean cancel()结束该任务。Abstract void run()这个方法必须被一个包含Timer时间执 行的代码的方法重载。Long scheduledExecution Time()返回任务上一次执行的确切时间。我们可以通过不同schedule的方法来确定什么时候执行任务,包括在一个指定的时 间执行一次和那个时间后按照一个固定的时间间隔连续执行。也可以在一段延迟(单位 是毫秒)后执行任务,还可以选择以固定的时间间隔连续执行。4网络MIDP 包含对 CLDC 中的 GCF(Generic Connection Framework),即通用连接框架 的支持,MIDP规范只是要区分必须实现HTTP的连接。如果想开发的是基于无线网络 的高性能的多人联网游戏,这非常值得考虑应用。目前的情况是,无线网络的传输情况 是高延迟以及高丢失率,所以响应时间在50ms的游戏很难实现。通用连接框架使用静 态工厂类Connector去创建和返回一个连接。如图2-1 所示是所有类型的类层次图。图1类层次图图2-1通用连接框架包含丰富的多功能的通信类;但是 MIDP只确保支持HttpConnection。5 使用 Connector通用连接框架设计包括一个超级Connector的概念,这个Connector作为一个支持 任何连接类型的工厂,基本上来说,调用Connector类的静态方法open即可,把需要连 接的资源的名字作为参数传递过去,这个名字应该采用“协议:地址:参数”的格式。在代码里将采用HttpConnection类,如表5所示:表 5 HttpConnection 类方法描述Static Connection open (String name)构造,打开和返回一个指向一个指定URL的连接。Static Connection open(String name , int mode)构造,打开和返回一个连接,连接一个 指定资源URL和打开的模式都需要设 定。Static Connection open(String name , int mode , Boolean timeouts)构造,打开和返回一个连接,连接一个 指定资源URL和打开的模式都需要设 定,同时也有一个参数指定是否需要超时异常。static Connection openDataInputStream(String name)打开一个连接,然后构造和返回个数 据输入流。static Connection openDataOutputStream(string name)打开一个连接,然后构造和返回一个数 据输出流。static Connection openinputStream(String name)打开一个连接,然后构造和返回一个输 入流。static Connection openOutStream(String name)打开一个连接,然后构造和返回一个输 出流。6 使用 HttpConnectionHttpConnection类是一个全功能的HTTP客户端,实用于大多数的网络任务(低延迟)。对于游戏而言,可以用它来按需下载内容(如新的关卡),更新得分,或者实现游 戏者之间的通信。表6是所有HttpConnection类的可用方法。表 6 javx.microedition.io.HttpConnection 类方法描述long getData()获取头中的日期值。Long getExpiration()获取头中的过期时间。String getHeaderFieldkey(int n)根据索引获取头中的键名。String getHeaderField(int n)根据索引获取头中的键值。String getHeaderField(String name)获取指定的头文字段的值。续表 6 javx.microedition.io.HttpConnection 类long getHeaderFieldData(String name, long def)按照长日期类型返回指定字段的值,如 果该字段不存在就返回def的值。int getHeaderFieldInt(String name,int def)按照整数类型返回指定字段的值,如果 该字段不存在就返回def的值。Long getLastModified()返回最后一次更新的时间。String getURL()返回URL。String getFile()获取URL中的文件部分。String getHost()获取URL中的主机部分。int getPort()获取URL中的端口部分。String getProtocol()获取URL中的协议部分。String getQuery()获取URL中的查询部分。String getRef()获取URL中的引用部分。Int getResponseCode()返回HTTP响应状态码String ResponseMessage()返回HTTP响应消息(如果存在的话)。String getREquestMethod()获取连接请求的方法。Void getRequestMethod(String method)设置URL请求的方法。可用的类型有GET,POST 和 HEAD。String getRequestProperty(String key)获取与指定的键相关联的请求属性值。Void setRequestProperty(String key, String value)设定与指定的键相关联的请求属性值。7永久性数据(RMS)开发游戏时,保存数据在J2ME里是用RMS (Record Management System,记录管理 系统)来实现的,可以在Javax.microedition.rms包中找到它,表7就是这个包中所有的 类的列表。RMS采用记录的方式来保存数据,然后使用唯一的记录号来应用这些数据, 成组的数据就被保存在存储集中。表7 RMS包(不包含异常)类描述RecordStore允许访问记录存储集功能。接口RecordComparator提供一个用来实现两个记录间比较的 接口。RecordComparation提供记录存储集的枚举器;可以和比较 器和过滤器联合使用。recordFilter对获取的数据进行过滤。RecordListener提供一个用来“监听”RMS中发生的事 件的接口,比如记录增加,修改和删除。8 存储集(Record Store)记录存储集即一个记录存储的机制,表8中展示了完整的API。表8记录存储API方 法描述存储集访问方法Static RecordStore openRecordStroe(String record Name,blooean createIfNecessary)打开一个存储集或者在它不存在的时 候创建一个存储集。Void closeRecordStore()关闭一个存储集。Static void deleteRecordStore(String recordStore Name)删除一个存储集。Long getLastModified()获取存储集最后被修改的时间。String getName()获取存储集的名称。int getNumrecords()返回存储集当前记录的数量。int getSize()返回存储集使用的总字节数。int getSizeAvailable()获取空闲空间。int getVersion()获取存储集的版本号。Static String listRecordStores()获取MID中你可以访问的所有的记录 存储集的字符串数组。记录访问方法int addRecord(byte,int offset,int numBytes)向存储集中加入一条新的记录。byte getRecord(int recordId)用ID来获取一条记录。int getRecord(int recorded,byte buffer,int offset)把一条记录读取到buffer中。Void deletRecord(int recorded)删除与recordId相关的记录。Void setRecord(int recorded,byte newData,int offset,intnumBytes)使用新的字节数组与recordId相关联的 内容。Int getNextRecordID()在插入后获取下一个记录的ID。Int getRecord(int recorded)返回按字节计算的记录存储集当前的 数据大小。RecordEnumeration enumerate Records(RecordFilterfilter,RecordCompa rator,bool- -ean keepUpdataed)返回一个RecordEnumerator对象。它是 用来在一个记录集合中枚举的(使用 comparator 参数)。与时间有关的方法Void addRecordListener(RecordListener listener)加入个监听器对象,它可以在有这个 记录存储集消息的时候被调用。Void removeRecordLisrener(RecordListener listener)移除原来用addRecordListener方法加入的监听器对象。记录存储集在与MIDlet包范围,也就是说同一个包的任何MIDlet都可以访问这个 包中的记录存储集,其他包中的MIDlet甚至不能感知到别的包里记录存储集的存在。9 记录一个记录就是一个字节数组,可以在里面写任何格式的数据。可以用 DataInputStream、DataOutputStream 往记录中写入数据,也可以用 ByteArrayInputStream 和 ByteArrayOutputStream。在记录存储集中记录是以一种类表的结构存储,如下图所示:ID Record data(byte array)“John”2 “64997”3 .png image dataRecord data Store “A'每一个记录和它相关的字节数组都有一个整数主键唯一来标识,RMS会成为记录 设定ID。头一个写入的ID是1,每次增加一条记录它的ID就增加1,上图展示了一个 记录集的简单用法。在这个例子中,玩家的名字(字符串“John”)存储在记录1中,记 录2保存最高分,记录3是先前从网络上下载的缓存的图象。10低级UI低级UI提供了一个工具包来移动和绘制图形、显示文字、获取直接的按键事件等。(1)Canvas 类Canvas又称画布,是一个Displayable对象,所有绘图操作都画在它上面。(2)Graphics 类Graphics类工具在Canvas中承担基本的二维绘图。(3)二维绘图工具drawLine采用4个参数直线起点的x、y坐标值和直线终点x、y的坐标值,例 如:graphics.drawLine(50,0, 100,0);这行代码会从位置(50,0)到(100,0)绘制一条直线。绘制一个矩形是一个类似的过程,不同的只是需要用起点加上宽度和高度的方式来 指定这个对象,可以绘制透明的或者填充的矩形,甚至可以绘制圆角的矩形。4个绘制 矩形的方法是:drawRect、drawRoundedRect、fillRect 和 fillRoundedRect。孤是使用6个参数来绘制的,前3个参数是孤所在的整个圆的外切矩形。剩下的 两个参数是startAngle和arcAngle。Angle是度数,0为右侧(在三点的位置)的地方, 180是左侧(在九点的位置)的位置。(4)绘制文字可以使用方法 drawChar、drawChars、drawString 和 drawSubstring 在 Canvas 上面绘 制文字。(5)图象和裁剪裁剪让人可以把图象输出限制到显示设备的一个特定区域中,例如,如果将输出限 制在一个从(10,10)开始到(50,50)的区域中,那么从那个时候起,没有图像会出 现在显示设备上这个区域之外的任何地方。(6)事件响应实现一个或者多个按键事件响应方法:keyPressde、keyRleased和keyRepeated。主要参考资料:1 Martin J.Wells.J2ME游戏编程M.北京:清华大学出版社.2005.32 米川英树.手机游戏程序设计M.北京:中国铁道出版社.20053 孙淑敏.Java2游戏开发北京M.北京:清华大学出版社.20054 张小玮.J2ME无线应用开发M.北京:清华大学出版社.20055 张白一.面向对象程序设计一一JavaM.西安:西安电子科技大学出版社.2002.86 史斌星.Java基础编程贯通教材M.北京:清华大学出版社.20057 杨绍方.Java程序基础设计M.北京:科学出版社.20058 朱喜福.Java程序设计M.北京:清华大学出版社.2004.79 Elliotte Rusty HaroldJ.Java 网络编程M.北京:中国电力出版社.2001.110 马海军.Java编程原理与实践.M.北京:清华大学出版社.22005

    注意事项

    本文(俄罗斯方块 文献综述.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开