基于j2me的手机五子棋游戏开发内容摘要:
越来越受青睐,未来的手机游戏领域存在着一个潜在的庞大用户群。 Java 2 Micro Edition(J2ME)是一种针对小型设备,如手机和 PDA 应用 Java语言技术的版本。 J2ME 与掌上型手机相比之下还是又一些限制的。 但是它已经大幅度改善了手机支持游戏的能力。 而且 J2ME 比 SMS 和 WAP 拥有更好的控制接口,支持动态图片并使用无线网络连接到后端服务器。 也就是当 Java 手机普及市场之后,它将是最好的游戏应用。 以目前手机的市场规模来看,手机几乎是人手一只,从全球 Java 手机出货量来看,已经由 1亿 2020 多万只。 例如日本,自从 2020 年推出 Java 游戏下载服务以来,一年内就买了 1200 万只 Java 手机,占手机总销售量的 22%。 所以,随着 JAVA 手机出货量的逐年增大, J2ME 版本的规范, J2ME 手机游戏的未来市场将会是潜力无穷。 手机游戏开发的目的与意义 开发的目的 目前市场上的手机版五子棋,无论是收费的,还是免费的,都存在着不同程度的缺点。 比如:功能单一、无难易程度、兼容性差、运行速度慢、太大等。 而 我选择设计这个基于 J2ME 的手机五子棋游戏开发的题目, 主要目的有: ( 1) 通过这个游戏的设计以达到对 Java 语言的进一步掌握; ****本科毕业论文 (设计 ) 3 ( 2) 对 J2ME 这个开发环境的熟悉和了解; ( 3) 逐步的认识开发手机游戏的技术 要领和流程步骤 ; ( 4)制作出一款在功能和性能上相对平衡的单机版手机五子棋游戏,以弥补当前市场上的手机五子棋游戏的不足。 ( 5)为以后从事游戏开发积累经验。 开发的意义 当前手机游戏的开发正紧跟着移动娱乐的潮流在向前飞跃式的发展,谁能够引领时尚,谁能够夺得消费者的喜爱,那它便能更快更好的占领市场。 怀揣着这样的认识和理念而选择了这个开发,我认为它的意义就在于: ( 1)检验自己对于当前时尚的把握程度和对消费者的需求了解程度; ( 2)综合的实践自己的游戏开发知识和能力; ( 3)促使自己去学习更多的游戏 开发知识; ( 4)积累游戏开发经验; 正所谓高楼万丈平地起,通过这个游戏的设计制作可以为我今后从事更大、更难的手机游戏开发打下 一定 的基础。 手机五子棋游戏开发的现状 在棋类游戏被搬上手机屏幕之初,五子棋便排列到了第一批次。 随着时间的推移,各种版本也开始了同台献艺,孰优孰劣一比较就显现得一清二楚了。 为了能在竞争中胜出,当前的手机五子棋游戏新版本的开发也都朝着大众化的手机游戏的优势方向发展,并尽量的避免将手机局限的地方凸现。 具体现状如下: ( 1)网络版、单机版同体。 即同一个游戏中既支持网络对战,又支持单 机游戏。 ( 2)功能多样化。 如声音控制,棋盘控制,进度存储等功能。 ( 3)控制简单。 ( 4)界面友好。 着这主要是强调与玩家的交互性。 ( 5)兼容性强。 彩屏手机、黑白屏手机、触摸屏手机都能通用。 研究方法 对网络上关于手机游戏、五子棋游戏的各种信息和资料进行搜索后,采用对比分析法和统计法拟定此游戏软件的具体设计方向和设计原则,再通过软件项第一章 绪论 4 目管理的方法对游戏实施开发,并应用面向对象方法学进行具体的设计和开发,最后,将游戏进行模拟测试和实际的手机平台测试。 具体的实施方案如图 11所示: 图 11 实施方案图 开发环境与相关技术 J2ME 开发平台与相关技术 Java 2 Microsoft Edition( J2ME),既 Java 2 微型版。 它是为了使那些使用有限能源、有限网络连接(常常是无线连接),以及有限图形用户界面的设备而开发的。 J2ME 不只是一个单独的技术规范,而是一系列技术规范的总称。 这些规范定义了 Java 技术在资源限制的设备中的表现形式,而且新规范在不断制定当中,并且这些规范的制定时完全向公众开放的。 目前所 说的手机游戏其实是其中规范的一种,即 MIDP(移动信息设备规范),该规范应用最为普通,因此习惯上也被人们笼统称为 J2ME 技术。 J2ME 平台由多种配置( Configuration)、简表( Profile)和可选包( Optional Package)组成。 平台的实现者和应用程序的开发者可以从中选择并组合出一个完整的 Java 运行环境来满足特定范围内的设备需求。 没种组合都应该使这一系列设备的内存、处理器和 I/O 能力达到最优化。 WTK 和 集成开发环境 J2ME WTK 包含了为能够支持 MIDP 设备开发应用程序所需的全部工具,它是Sun 公司提供的一个 MIDP 应用程序开发包。 这些工具包含字节码校验器手 机 游 戏现 状 调 查统 计 分 析 和 游戏 功 能 构 思游 戏 规 则 和算 法 设 计游 戏 界 面 设 计程 序 代 码实 现游 戏 调 试及 测 试手 机 实 际 平 台测 试 和 定 型 ****本科毕业论文 (设计 ) 5 ( bytecode preverifier)、 KToolbar、自带的模拟器,以及其他一些用来优化和监视程序的工具。 WTK 是在计算机安装了 JDK 5( )(本游戏采用的是 JDK 6 Update 13)或者更高版本的基础上安装的,它是 Sun 公司推出的官方版 MIDlet 开发工具,虽然只是一个集成开发环境的简化版本,不提供代码的编辑、完整的调试功能,但是使用非常的方便。 本游戏的开是使用 UltraEdit 编辑器进行代码编辑的。 第二章 系统分析 6 第二章 系统分析 可行性分析 社会可行性分析 随着 人类生活水平的不断提高 , 在物质需求得到了满足的基础之上,人类的精神需求正在不断增加。 传统的精神需求获得手段也已经不能在满足于现状,这就 使得 一些新事物新思想得到了发展和壮大。 竞技,游戏竞技,虚拟游戏竞技正是在这样的条件下应运而生的。 现代社会有这样一种现象,就是有了需求就一定会产生供给,更何况是虚拟游戏这类需求量不断增大的市场。 游戏开发正是在这样的社会环境下被驱动着。 技术可行性分析 本 设计的目标是基于 J2ME 开发平台,设计出一款功能更加完善,界面更加人性化,操作简单,可移植性强的手机五子棋游戏人机对战版。 所以,从技术上讲,需要掌握的就是开发平台的应用和数据结构知识的运用。 J2ME 开发平台的全称是 Java 2 Platform Micro Edition,即 Java 2 平台微型版,它是 Java 技术的组成部分。 Java 是 Java 平台和 Java 语言的总称。 Java平台由 JVM 和 API 构成。 Java 语言是 一种动态语言 ,它 丢弃了 C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、 多继承、自动的强制类型转换。 也可以这样说, Java 语言是一种简化了的 C++语言。 Java 语言的语法与 C 语言和 C++语言很接近,使得大多数程序员很容易学习和使用 Java,而这两门语言我已基本掌握,学习和掌握 Java语言甚至 Java技术也就变得格外容易了。 数据结构知识在大二时我就已经学习过了,再通过后来在许多课程设计中的使用,现在运用起来已经是得心应手了。 操作可行性和 经济可行性分析 ① J2ME 手机游戏开发团队通常只需要 3 到 5 人即可,甚至有时候只要一人就能创意设计和编写程序。 并独立完成一款脍炙人口 的游戏。 另外由于手机游戏不像传统计算机那样 支持充足的硬设备,并且手机硬件还有一些功能上的限制(如音效、屏幕大小、图片显示等),因此手机游戏开发不需要投入大量的人力与财 ① 摘自 荣钦科技著,王蔚、张凯锋改编 .J2ME 手机游戏设计技术与实践 [M].电子工业出版社, . 红河学院本科毕业论文 (设计 ) 7 力。 此游戏以文本编辑器就能够进行代码的编写,再在 Java 虚拟机上运行调试、测试即能完成游戏的开发。 所以进行开发简单易行。 此外, 有些 手机游戏的开发周期只要短短的几天就可以。 如果构思与美工制作快速的话,最快还可以一至二天内完成一个手机游戏。 在手机游戏的开发上,开发人员可以免费获得各种软件开发应用接口,不需要支付任何费用给手机厂商或者软件厂商,这些 内容在 Nokia 或 Java Sun 的网站上查看即可明白。 至于手机游戏的购买方式确实只要由手机能够连接 GPRS 上网即可购买,并且立即安装到手机上,或是由网站上购买后下载至计算机,再用红外线、蓝牙或是手机数据线来传送安装。 这种通信将不同以往,会使得游戏流通更加的便利,同时选择游戏种类也可以直接从手机上浏览获得。 从另一层面来说,就是节省了用户在使用游戏时的经济开销。 像五子棋这类大众化的游戏,又因为有了很多已经面世的手机版本 可供借鉴 ,所以在 对此游戏 进行再开发时 , 经济上是可行 的。 系统 需求分析 游戏主类基本功能分析 GobangMIDlet 类是整个游戏的主类,主要是用高级界面类来实现游戏菜单。 它的作用在所有界面之间起到调度的功能,那么,就应该包含退出、开局、游戏设置、帮助、关于等命令。 游戏设置类基本功能分析 Setting 类是游戏的设置类,主要是与玩家进行交互,并传递玩家的外部信息给程序。 这些外部信息包括游戏棋盘的大小设置、先手选择、游戏难易程度控制等。 所以, Setting 类的功能应该是调度和保存游戏参数。 游戏逻辑类基本功能分析 GobangLogic 类是游戏的核心类, 属于游戏的逻辑层,主要作用是在游戏中对游戏进行控制,对棋局进行检查,调度画布类和棋子类与玩家进行对战。 所以,逻辑类应该有分析棋型,计算落子,判断胜负的功能。 第二章 系统分析 8 游戏画布类基本功能分析 GobangCanvas 类是游戏的画布类,属于游戏的表现层,功能是获取屏幕信息,绘制棋盘,棋子。 画布类在表现层,与 GobangLogic 类的逻辑层配合下与玩家进行游戏对战的交互。 游戏帮助类和关于类基本功能分析 帮助类 Help 和关于类 About 的主要作用的传递游戏的信息给玩家,为玩家提供简单的信息帮助。 游戏棋子类基本功能分析 Dot 类主要包含棋子信息,如位置、大小等。 基本功能是记录棋子的落点坐标等。 红河学院本科毕业论文 (设计 ) 9 第三章 游戏设计 游戏的 前期准备 本游戏需要做的前期准备工作比较简单,尤其是对于精通五子棋游戏的 Java游戏开发者来说。 通常情况下,一款运用起来比较熟练地 J2ME 开发工具是必不可少的。 本游戏使用的是 J2ME 的简化开发工具 Sun Java (TM) Wireless Toolkit for CLDC,他需先将 Java 虚拟机安装调试好之后才能使用。 WTK 不带有文本编 辑功能,所以需要另寻搭配使用。 本游戏采用 UltraEdit 进行编辑。 本游戏需要几张后缀名为 .png 格式的卡通图,除了一张用作五子棋游戏的 Logo外,其余的都将在游戏中使用。 游戏界面和 事件 驱动设计 游戏界面设计 游戏的界面设计采取传统游戏界面风格,如图 31 所示。 图 31 游戏的界面设计图 事件驱动设计 棋类游戏通常具备两个重要特性,首先是对战双方轮流落子,其次是骡子间隔通常是不确定的,尤其是对战后期,可能每一步棋都要经 过深思熟虑,无论是人还是计算机,都无法对时间间隔有事先的预期。 退 出启 动设 置开 局帮 助关 于游 戏 介 绍 表 单确 定游 戏 设 置 表 单确 定取 消游 戏 画 布悔 棋重 玩返 回 主 菜 单游 戏 帮 助 表 单确 定 第三章 游戏设计 10 基于以上两个特性,本游戏摒弃了大多数游戏采用的线程或定时器驱动游戏的方法,而采用了时间驱动的方法,即玩家的键盘或触摸笔触发游戏的下一个动作。 事件驱动大大减少了不必要的工作量,只有玩家发出消息时,计算机才启动运算,而在玩家思考期间,计算机不做任何运算和重绘操作。 事件驱动的游戏循环如图 32所示。 图 32 游戏循环图 游戏的类设计 本游戏共由 7 个类组成,它们各自的功能如下 : ( 1) GobangMIDlet 类 负责程序的启动和屏幕之间的切换; ( 2) GobangCanvas 类 玩家的对战平台,他继承于 Canvas 类; ( 3) Setting 类 用于创建游戏的各项设置参数表单; ( 4) GobangLogic 类 游戏的逻辑类,负责胜负判断和计算机落子; 开 始结 束初 始 化玩 家 落 子主 循 环 控 制计 算 机 落 子判 断 胜 负某 方 胜 出否分 析 盘 面填 写 棋 型 表 红河学院本科毕业论文 (设计 ) 11 ( 5) Dot 类 棋子类,包含了棋子的位置信息; ( 6) Help 类 游戏的帮助类,包含五子棋的一些常识信息和五子棋教学内容; ( 7) About 类 游戏的关于类,包含游戏的版本、版权等信息。 各个类之间的关系如图 33 所示。 图 33 类间关系图 游戏 流程 设计 游戏流程的设计依据主要是游戏的界面设计和游戏的类的设计。 游戏启动时, GobangMIDlet 对象先显示游戏的主屏幕,在屏幕下方一侧是出软键,另一侧是用软件构成的菜单,菜单元素主要有“开局”、“游戏设置”、“游戏帮助”、“关于”选项。 当玩家选择“游戏设置”软键时,则显示游戏参数设置表单;当玩家选择“开局”软键时,则显示游戏对战主界面;当玩家选择“游戏帮助”软键时 ,则显示游戏帮助表单;当玩家选择“关于”软键时,则显示游戏关于表单。 玩家进入游戏参数设置表单,当玩家按下“确定”软键时,则确认当前游戏参数,返回游戏主屏幕;当玩家按下“取消”软键时,则放弃此次对游戏的修改,直接返回游戏主屏幕。 M I D l e tD o tG o b a n g L。基于j2me的手机五子棋游戏开发
相关推荐
统的设计与实现 毕业论文内江师范学院本科毕业论文(设计) 2目 录 1 前言 课题选题背景 31. 3即时聊天系统的发展 42 涉及的相关技术及协议 Java语言 C/S模式介绍 Hibernate框架简介 63 系统需求分析 数据库概要设计 ................................................................... 12 基于
环境,及先进的系统开发方案,从而达到充分利用现有 资源,提高系统开发水平和应用效果 的 目的。 (1) 系统应基本 完成服务器代理功能 ,满足 多用户同时连接的请求 需要,并达到操作过程简便。 (2) 系统采用 多线程的连接技术,实现服务器端和客户 端整合的方式 ,显示用户界面 的 信息,基本操作。 Server(服务器端)负责实现数据服务。 (3) 系统应具备数据库维护功能
定标题和 /或图标的选项卡,在一组组件之间进行切换。 JTextArea 类负责创建一个显示纯文本的多行区域。 它作为一个轻量级组件 Container 类负责创建一个容器对象,此容器可以包含其它组件。 AboutDialog 类是 JDialog 类的子类,负责创建一个显示对话框。 10 : jMainPane、 jPanel jPanel变量是 JPane1 创建的面板容器。 jt jt2
同类型的手机必须实现对HTTP协议的支持,而其他协议的实现都是可选的而不是必需的。 因此,考虑到不同类型的手机上的可兼容性,客户端和服务端采用HTTP协议进行通信。 数据存储技术本系统中查询记录是保存在手机记录管理系统(RMS)中,从服务端接收的地图文件是先保存在手机文件系统中,再读取文件并渲染到地图界面中。 系统涉及数据存储技术,在此作简明介绍。 RMSJ2ME
装置 (比方说 PDA、手机 );另外一种则是运算能力相对较佳、在电力供应上相对比较充足的嵌入式装置 (比方说冷气机、电冰箱、电视机 上 盒(settop box))。 介于这两种型态的嵌入式 装置,所以 Java 引入了一个叫做 Configuration的概念,把上述运算 能力 有限、电力有限的嵌入式装置定义在 Connected Limited Device
概念,将数据封装于类中,实现了程序的简洁性和便于维护性,使程序代码可以只需一次编译就可反复利用。 4. 分布式 Java 建立在 TCP/IP 网络平台上,提供了用 HTTP 和 FTP 协议传送和接收信息的库函数,使用其相关技术可以十分方便的构建分布式应用系统。 5. 健壮性 Java 致力与检查程序在编译和运行时的错误,并自动回收内存,减少了 内存出错的可能性。 Java 取消了 C