基于J2ME五子棋手机游戏开发毕业设计论文.docx
- 文档编号:278594
- 上传时间:2022-10-08
- 格式:DOCX
- 页数:28
- 大小:244.71KB
基于J2ME五子棋手机游戏开发毕业设计论文.docx
《基于J2ME五子棋手机游戏开发毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于J2ME五子棋手机游戏开发毕业设计论文.docx(28页珍藏版)》请在冰豆网上搜索。
基于J2ME五子棋手机游戏开发毕业设计论文
毕业设计论文
基于J2ME五子棋手机游戏开发
摘要基于J2ME技术,设计并开发了一款五子棋手机游戏,程序实验取用Java语言,便于游戏软件的移植,采用手机模拟器进行模拟测试,便于检查游戏功能的实现。
在构建了完善的游戏思维的基础上,划分功能模块,实现整套游戏的开发。
整个程序完成的功能是一个人机对战的五子棋游戏,游戏的重点与难点在于计算机人工智能算法,总的来说就是根据棋型选择最优的点下子。
关键词J2ME;手机游戏;人工智能
ABSTRACTBasedonJ2MEtechnology,wedesignedanddevelopedamobilegamebackgammon,procedures,experimentalaccesstojavalanguage,tofacilitatethetransplantgames,mobilesimulatorusedtosimulatethetest,easytocheckthefunctionoftherealizationofthegame.Constructionofaperfectgameinmind,basedondivisionoffunctionmodules,toachievecompletegamedevelopment.Completethewholeprocessisthefunctionofahuman-computerplayagainstabackgammongame,thegameisimportantanddifficultcomputerAIalgorithms,ingeneralistochoosethebestaccordingtopointtypechesserupted..
KEYWORDSJ2ME;GamesofMobile;ArtificialIntelligence
基于J2ME的五子棋手机游戏开发
1.前言
随着手机网络的日益进化,手机硬件性能的不断提升,手机功能越来越多,人们对于掌上数字娱乐的追求与日俱增,随着越来越多的智能手机的上市,手机的功能已经不再局限于收发短信、接听电话等人们的基本通信需求,手机的游戏功能得以彰显。
对于多媒体的支持,使得在手机上开发游戏应用程序更加得心应手,而且游戏的表现力也得到了极大的发挥。
随着计算机软件技术的不断发展,嵌入手机等移动设备的软件开发逐渐出现了新的突破。
Java技术的兴起,解决了移动设备软件开发固有的一些弊端,也使高级手机游戏的开发成为现实,其良好的跨平台特性和面向对象的优势在嵌入移动设备的软件开发中显示出了巨大的威力。
而J2ME(Java2MicroEdition)的诞生给高级手机游戏的开发又带来了新的生机。
J2ME技术用于手机游戏开发,不但便于查看游戏运行过程中内存的占用量和程序的每一部分代码消耗了多少处理器时间,而且可以不断地优化代码,使用J2ME和MIDP进行手机游戏开发已越来越受到人们的关注。
忙碌的人们,在等车时、在公交车上、在偶尔的闲暇时间,掏出口袋中的手机,玩起手机游戏,短暂的娱乐使紧张的神经得以放松,从而以更加良好的状态投入到学习工作中去。
本游戏主要的内容是人机对战,先达到五子连株者为胜,棋盘大小范围是10x10至20x20,游戏难度分为三等级(初阶、中阶和高阶),玩家自行设置。
玩家使用四个方向键的上
(2)、下(8)、左(4)、右(6)来移动落子点位,移动到空白位置使用确定键(5)来落子,游戏过程中允许悔棋(最多连续悔5步)。
整个程序完成的功能是一个人机对战的五子棋游戏,游戏重点与难点在于如何设计一套快速有效的人工智能算法,尽可能增加游戏的可玩性。
本程序取用根据盘面形势,判断在某个位置落子后会形成什么棋型(如“五连”、“冲四”、“活三”等),然后通览全盘选出最佳落子点的方法。
2.相关介绍
本次毕业设计采用了J2ME技术,Java是目前占据优势的手机软件开发技术,并且它是一种开放平台,这意味着可以开发一组代码并使其在众多的移动设备上运行。
下面将述J2ME的一些相关知识。
2.1J2ME简介
Sun公司将J2ME(java2MicroEdition,Java2微型版)定义为“一种以广泛的消费性产品为目标、高度优化的Java运行时环境”。
J2ME是为了那些使用有限能源、有限网络连接(常常是无线连接),以及有限图形用户界面的设备而开发的。
从1999年6月在JavaOneDeveloperConference上声明之后,J2ME便进入了小型设备开发的行列。
当时,由于分布式编程深受Java开发者团体的欢迎,大多数与会者都只对J2EE的功能感兴趣。
富有戏剧性的是,在随后的两年里,开发者意识到了运行Java的小型组件同样具有很高的价值,J2ME逐步流行。
J2ME不只是一个单独的技术规范,而是一系列技术规范的总称。
这些规范定义了Java技术在资源限制的设备中的表现形式,而且新规范在不断制订当中,并且这些规范的制订是完全向公众开放的。
目前所说的手机游戏其实是其中规范的一种,即MIDP(移动信息设备规范),该规范应用最为普通,因此习惯上也被人们笼统地称为J2ME技术。
J2ME主要应用于手机等小型嵌入式设备,这些设备由不同的厂商设计生产,功千差万别。
J2ME在应用于这些设备的同时也保留了Java的传统特性,即任何时间和任何地点的代码都具有可移值性、部署灵活性、安全的网络传输性,以及代码稳定性。
2.2Configuration和CLDC
J2ME平台是由配置(Configuration)和简表(Pro2file)构成的。
配置是提供给最大范围设备使用的最小类库集合,在配置中同时包含Java虚拟机。
简表是针对一系列设备提供的开发包集合。
在J2ME中还有一个重要的概念是可选包(OptionalPackage),它是针对特定设备提供的类库,比如某些设备是支持
蓝牙的,针对此功能J2ME中制定了JSR82(BluetoothAPI)提供了对蓝牙的支持。
目前,J2ME中有2个最主要的配置,分别是ConnectedLimitedDevicesConfiguration(CLDC)和Con2nectedDevicesConfiguration(CDC)。
CLDC是两个配置中较小的一个,为具有间断性联网能力、较慢的处理器和有限内存的设备设计的。
这些设备包括移动电话、双工呼叫器和入门级的PDA,它们通常具有16位或32位的CPU、128KB~512KB可用于Java平台实现和相关应用程序的内存。
CDC是为处理能力较强、内存空间更大、联网能力更出色的设备设计的。
这些设备包括电视机顶盒、车载娱乐系统、高端PDA等。
CDC包含一个具有完备特性的Java虚拟机,比CLDC更大的JavaSE的子集。
CDC的目标设备通常具有32位或64位的处理器,2MB以上的可用于Java平台实现和相关应用程序的内存空间。
2.3手机游戏特点
一个手机游戏应该具有以下特征:
易于学习:
既然手机游戏面向的是普通消费者而不是计算机专家,那么他们不可能深入的学习游戏技巧。
消费者不会花几个小时去研究一个3元的手动操作的游戏。
保持游戏的简单是最基本的要求。
可中断性:
多任务处理是手机生活方式的基本特征。
手机用户常常在任务(如等一个电子邮件或者等车)之间有一小段时间。
而游戏、日历管理、通
讯和工作数据访问使用的是同一个设备。
所以一个好的手机游戏应该提供短时间的娱乐功能,并且允许用户在游戏和工作模式之间顺利切换。
基于订阅:
手机游戏的盈利成功取决于他们巨大的使用量。
一开始开发和设计每个游戏都是昂贵的。
如果一个手机游戏开发者要赢利的话,重要的
是:
同一个游戏引擎,多个标题,基本的故事情节类似。
基于订阅的游戏是不断产生收入的最好方法。
丰富的社会交互:
不管一个游戏设计得多好,只要玩家找到了它的根本模式或者玩完了所有的游戏路径很快就会厌烦这个游戏。
对于一个基于订阅的游戏,重要的是与别的玩家合作以增强所玩游戏的智力和随机性。
在今天纷繁复杂的多玩家游戏中具有丰富社会交互的游戏证明是成功的。
3.棋类游戏的相关探讨
3.1逻辑层和表现层的分离
棋类游戏是移动设置比较擅长表现的游戏,相对于动作类游戏的快节奏,棋类游戏的特点就是玩起来速度慢,比较优雅,主要来培养玩家在某方面的思考和判断能力。
棋类游戏的开发常常带有人工智能算法,因此,需要注重逻辑层和表现层的分离。
逻辑层处理所有的判断、推算,可采用各种比较复杂的算法,而表现层则只管与玩家交互。
3.2自适应尺寸和可移植性
MIDP设备可能有不同的屏幕尺寸、不同的键盘布局以及不同的可用API。
在设计游戏时必须考虑这些不同点,以便获得移值性最好的游戏软件。
游戏中所使用的棋盘大小是用户设定的,尺寸也并非固定,而是应用程序从系统获得屏幕的尺寸,并进行计算得出,这些可以避免在屏幕上绘画时对坐标使用的硬代码。
使用Canvas类的getHeight和getWidth方法能够完成上述任务。
此外,一个良好的做法是让游戏既支持键盘操作也支持指针操作,这通常不需要增加太多的代码,但可以提高游戏的可移值性。
4.五子棋游戏的架构
五子棋游戏的架构涉及游戏驱动、类结构和流程的初步设计,由于人机对战五子棋采用了人工智能算法,因此,还对获胜棋型和攻守策略进行了探讨。
4.1事件驱动游戏
棋类游戏通常具备两个重要特性,首先是对战双方轮流落子,其次是落子间隔通常是不确定的,尤其是对战后期,可能每一步棋都需要经过深思熟虑,无论是人方或是计算机方,都无法对间隔时间有实现的预期。
基于以上两个特性,本游戏摒弃了大多数游戏采用的线程或定时器驱动游戏的方法,而采用事件驱动的方法,即玩家的键盘或触摸笔触发游戏的下一步动作。
事件驱动大大减少了不必要的工作量,只有玩家发出消息时,计算机才启动运算,而在玩家思考期间,计算机不做任何运算和重绘操作。
事件驱动的游戏循环如图3.1:
4.2游戏的类结构
整个游戏共由六个类组成,如图3.2所示。
游戏的FIRMIDlet类负责保持display对象,并且提供各屏幕之间的切换。
整个程序包含四个屏幕:
游戏主屏幕表单,实际玩家进行游戏的FIRCanvas,提供某些关于游戏选项的Option表单,以及一个用来显示相关信息的About表单。
此外,Dot和FIRLogic类是分别用来构造游戏棋子和算法逻辑的。
图4.1事件驱动游戏循环
图4.2类结构
4.3游戏的流程
游戏启动时,FIRMIDlet对象先显示游戏主屏,在屏幕下方一侧是退出软键,另一侧是用软键构成的菜单,菜单元素主要有“设置”和“关于”选项。
当玩家选择“设置”软键时,则显示游戏参数设置表单;当玩家选择“开局”软键时,则显示游戏对战主屏;当玩家选择“关于”软键时,则显示游戏介绍表单。
玩家进入游戏参数设置表单,当玩家按下“确定”软键时,则确认当前游戏参数,返回游戏主屏;当玩家按下“取消”软键时,则放弃此次对游戏的修改,直接返回游戏主屏幕。
玩家进入游戏对战画布,对战中画布有两个软键,当玩家按下“退出”软键时,则退出游戏;当玩家按下“悔棋”软键时,则进行悔棋操作;当游戏结束时,“悔棋”软键被换成“重玩”软键。
整个游戏的界面切换流程图如图3.3所示。
图4.3游戏的界面切换游戏图
4.4五子棋的人工智能
人工智能也就是所谓的AI(ArtificialIntellig
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 J2ME 五子棋 手机 游戏 开发 毕业设计 论文