[JAVA论文]基于BREW平台的手机模块的设计与实现

上传人:仙*** 文档编号:27993867 上传时间:2021-08-22 格式:DOC 页数:29 大小:502.06KB
收藏 版权申诉 举报 下载
[JAVA论文]基于BREW平台的手机模块的设计与实现_第1页
第1页 / 共29页
[JAVA论文]基于BREW平台的手机模块的设计与实现_第2页
第2页 / 共29页
[JAVA论文]基于BREW平台的手机模块的设计与实现_第3页
第3页 / 共29页
资源描述:

《[JAVA论文]基于BREW平台的手机模块的设计与实现》由会员分享,可在线阅读,更多相关《[JAVA论文]基于BREW平台的手机模块的设计与实现(29页珍藏版)》请在装配图网上搜索。

1、编号:03023129河南大学2007届本科毕业论文基于BREW平台的手机模块的设计与实现Design and Implementation of Handset ModuleBased on BREW Platform论文作者姓名:宋军鹏 作者学号:03023129 _ 所在学院:计算机与信息工程学院 所学专业:计算机科学与技术 导师姓名职称:陈国强(讲师) 论文完成时间:2007年5月20日 2007年5月20日河南大学2007届毕业论文(设计、创作)开题报告(由学生本人认真填写)学号03023129姓名宋军鹏导师姓名职称陈国强(讲师)开题时间2006年12月1日课题题目基于BREW平台的

2、手机模块的设计与实现课题来源导师指定 自定 其他来源课题的目的、意义以及和本课题有关的国内外现状分析:1、目的随着计算机技术和通信技术的发展,在未来的几年内,大多数的信息设备将与Internet连接,这将导致用户使用这些设备的方式产生根本性的变化,为了满足这些信息设备日益扩大的需求,特提出本课题。2、意义由于需要更少的内部应用程序开发和集成任务,OEM 可以更加快速地推出新设备。用户可以选择和下载适合自己个人喜好的无线软件。通过这种方式,用户将推动新的无线数据应用程序和服务市场的发展。3、现状迄今为止,中国联通基于BREW平台所开发的商用程序包括:环球历险记、安凯软件、都市在线、股票、决战四大

3、洋、天气快报、莫比大逃亡、星际生存、姚明篮球等。研究目标、研究内容和准备解决的问题:1、目标本课题在现有平台基础上进行了充分的研究,完整实现一个基于BREW平台的经典手机游戏贪吃蛇游戏模块。模块开发的基本目标应当能够完成和现行游戏版本类似的基本功能。2、内容本模块在考察了现有各种机型及其现行游戏模块的界面风格、游戏功能实现的基础上,进行了相应的需求分析和整理。模块需要完成的功能有:游戏最高分、版本查询、游戏暂停、用户中断处理等。3、准备解决的问题游戏模块应解决如下问题:基于BREW平台的游戏模块界面要求能够和现行真机版本游戏媲美。基于BREW平台的游戏模块完成最高分查询功能、游戏暂停功能、游戏

4、过程中用户中断处理功能。基于BREW平台的游戏模块提供丰富的菜单资源,提交的供评审的版本不能有严重Bug。拟采取的方法、技术或设计(开发)工具:本课题在QUALCOMM公司推出的BREW这种新型online无线数据应用模式基础上,应用开发平台:Microsoft Visual C+ 6.0 + BREW SDK(Version3.0),采用经典语言C 编程实现经典游戏。开发过程使用到以下工具:Microsoft Visual C+ 6.0、Beyond.Compare.v2.2.5.build.223(文件比较工具)、pc-lint(代码走查工具)、UltraEditV10.20EN、Visu

5、al Assist X V10.1.1418.0、Adobe Photoshop CS 2、BREW 应用仿真器(BREW_Simulator.exe)、BREW 资源编辑器 (BREW_RES.exe)预期成果:1、毕业设计成果源代码2、毕业论文进度计划:2006.12.1 - 2007.4.1:查找资料、搜集相关素材2007.4.2 - 2007.4.11:完成游戏模块地图、图片部分的设计2007.4.12 - 2007.4.21:完成游戏模块动作响应、界面处理部分的设计2007.4.22 - 2007.4.30:完成游戏模块整体流程部分的设计2007.5.1 - 2007.5.20:整理

6、资料、撰写毕业论文2007.5.21 - 2007.5.25:根据导师要求,完善毕业设计和论文指导教师对选题报告的意见:同意开题 指导教师签名: 2006年12月1日开题报告II河南大学2007届毕业论文(设计、创作)任务书(由学生本人认真填写)学号03023129姓名宋军鹏导师姓名陈国强任务书起止日期2006年12月8日 至 2007年5月20日论文提要:本论文将针对自己所做的毕业设计,阐述手机模块的开发背景及意义、国内外现状等相关信息的分析、与本模块相关的缩略语定义等方面的内容。讨论模块需求分析中关于任务概述、数据描述、功能需求、性能需求、运行需求等方面的内容。将重点论述模块的设计和实现中

7、有关模块事件处理流程,模块接口设计等诸方面。课题任务要求:基于BREW平台的游戏界面要求能够和市面真机版本游戏媲美。游戏能够完成和现行游戏版本类似的基本功能,比如:游戏最高分查询、游戏暂停、用户中断处理等。主要参考文献:1 王洪斌著,BREW Programming guide,Hisense.Inc,2004年7月2 Qualcomm,BREW SDK User Docs,Qualcomm.Inc,2004年3月3 Qualcomm,Brew getting started,Qualcomm.Inc,2004年8月4 李亮等著,Welcome to the BREW,2006年1月5 卜佳俊

8、著,深入BERW 手机游戏开发,清华大学出版社2004年8月6 2006中国手机设计行业研究报告,水清木华研究中心,2006年8月河南大学2007届毕业设计(论文、创作)中期检查表学院名称:计算机与信息工程学院题目名称基于BREW平台的手机模块的设计与实现学号03023129所学专业计算机科学与技术指导教师姓 名陈国强姓名宋军鹏一、毕业设计进展情况已经做好如下工作:查找资料、搜集相关素材。完成游戏模块地图、图片部分的设计。完成游戏模块动作响应、界面处理部分的设计。完成游戏模块整体流程部分的设计。还有以下工作没有完成:整理资料、撰写毕业论文。根据导师和学校要求,完善毕业设计论文。二、存在问题由于

9、考虑到代码的真机植入,所以最终代码要进行相当程度的优化。手机界面太小,加上没有美工,游戏模块图片的设计、裁剪、配色都一个人做。手机内存较小,游戏模块中加载资源的大小选择要特别考虑。由于所有的代码功能测试都只能在模拟器上进行,可能会给与真机植入的测试版本有一定程度的差距。三、下一阶段的研究方法或设计思路将最终代码进行相当程度的优化,争取达到最少的代码量。熟悉作图工具Adobe Photoshop,进行游戏模块图片的设计、裁剪、配色。重新计算游戏模块中加载资源的大小,以便进行合理选择。四、指导教师对学生设计(论文、创作)进展等方面的评语已完成系统分析、设计工作,进度良好。 指导教师签字: 2007

10、年4月10日 此表除第四项外由学生填写指导教师签名河南大学2007届毕业论文(设计、创作)综合成绩表(一)学院名称:计算机与信息工程学院学 号03023129姓名宋军鹏专业计算机科学与技术指导教师陈国强综合得分87论文题目基于BREW平台的手机模块的设计与实现指导教师评语及得分指导教师评语系统设计功能较为完善。论文结构合理,层次清晰,重点突出,符合本科毕业论文规范。评分项目分值指导教师对毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分138985088指导教师签名 2007

11、年5 月20日评阅教师评语及评分评阅教师评语系统设计符合需求,编码符合规范,论文内容合理,重点突出,逻辑性强,符合本科毕业论文规范。评分项目分值评阅毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分138875086评阅教师签名 2007年5 月21日此表由教师填写河南大学2007届毕业论文(设计、创作)综合成绩表(二)学号03023129姓名宋军鹏所在学院计算机与信息工程学院答辩委员会评语及评分答辩委员会评语该生陈述清晰流畅,对系统认识深刻,回答问题准确、敏捷,达到本科毕业

12、水平。答辩委员签字: 2007年5月26日评分 项目 分值论文答辩小组评分答辩情况论文质量合计(100)内容表达情况(15)答辩问题情况(25)规范要求与文字表达(20)论文(设计、创作)质量和创新意识(40)得分1420183587答辩委员会主任签字: 2007年5月26日毕业论文(设计、创作)成绩综合评定: 87分综合评定等级:良备注:一、论文的质量评定,应包括对论文的语言表达、结构层次、逻辑性理论分析、设计计算、分析和概括能力及在论文中是否有新的见解或创新性成果等做出评价。从论文来看学生掌握本专业基础理论和基本技能的程度。二、成绩评定采用结构评分法,即由指导教师、评阅教师和答辩委员会分别

13、给分(以百分计),评阅教师得分乘以20%加上指导教师得分乘以20%加上答辩委员会得分乘以60%即综合成绩。评估等级按优、良、中、差划分,优90-100分;良76-89分;中60-75分;差60分以下。三、评分由专业教研室或院组织专门评分小组(不少于5人),根据指导教师和答辩委员会意见决定每个学生的分数,在有争议时,应由答辩委员会进行表决。四、毕业论文答辩工作结束后,各院应于6月20日前向教务处推荐优秀论文以汇编成册,推荐的篇数为按当年学院毕业生人数的1.5%篇。五、各院亦可根据本专业的不同情况,制定相应的具有自己特色的内容。须报教务处备案。六、书写格式要求:1、目录;2、内容提要须书写200左

14、右汉字,开题报告(文科除外)的内容要根据不同专业的课题任务要求,阐述查阅文献、文案论证、解题思路、工作步骤等;3、正文(含引言、结论等);4、参考文献(或资料)河南大学本科生毕业论文(设计、创作)承诺书论文题目基于BREW平台的手机模块的设计与实现姓 名宋军鹏所学专业计算机科学与技术学 号03023129完成时间2007年5 月20日指导教师姓名职称陈国强(讲师)承诺内容:1、本毕业论文(设计、创作)是学生 宋军鹏 在导师 陈国强 的指导下独立完成的,没有抄袭、剽窃他人成果,没有请人代做,若在毕业论文(设计、创作)的各种检查、评比中被发现有以上行为,愿按学校有关规定接受处理,并承担相应的法律责

15、任。2、学校有权保留并向上级有关部门送交本毕业论文(设计、创作)的复印件和磁盘。备注:学生签名: 指导教师签名: 2007年5月20日 2007年5月20日说明:学生毕业论文(设计、创作)如有保密等要求,请在备注中明确,承诺内容第2条即以备注为准。目 录摘 要IABSTRACTII第1章 绪论11.1 开发背景及意义11.2 本模块涉及相关缩略语定义11.3 BREW体系结构31.4 BREW运行机制31.5 开发环境简介41.6 论文主体内容简介4第2章 模块需求分析52.1 任务概述52.1.1 模块实现的目标52.1.2 条件与限制52.2 数据描述62.2.1 静态数据62.2.2 动

16、态数据62.2.3 简单数据接口交互流程62.3 功能需求72.3.1 功能划分72.3.2 功能描述82.4 性能需求102.5 运行需求11第3章 模块的设计与实现123.1 事件处理流程123.2 模块接口设计133.2.1 菜单子模块接口133.2.2 文件子模块接口133.2.3 图片子模块接口143.2.4 关卡子模块接口143.2.5 处理子模块接口143.2.6 显示子模块接口16结 论17参考文献18河南大学本科毕业生学士学位论文摘 要专业人士预计在未来的两至五年内,大多数新的信息设备将与Internet连接,这将导致用户使用这些设备的方式产生根本性的变化。用户无论何时、何地

17、和使用何种设备均可方便地传递网页内容、企业数据和个人数据。Sun公司推出了J2ME,QUALCOMM公司推出了BREW,两种新型online无线应用模式。本人在QUALCOMM公司推出的BREW这种新型online无线数据应用模式基础上,采用经典C语言,编程实现了基于BREW平台的经典游戏贪吃蛇。模块开发的基本目标能够完成和现行游戏版本类似的基本功能。关键词 无线应用,手机模块,J2ME,BREWABSTRACTProfessors foresee that most new information equipments will be connected with the Internet

18、in the following two or five years, which will lead to a basic change in the way people using them. Users can transmit their web context, enterprise data and personal data with any equipment, anytime and anywhere. Two new kinds of online wireless application model were produced: J2ME developed by su

19、n co. and BREW developed by QUALCOMM Company.I implement a classical game-Snake Xenzia with classical C language based on BREW platform which is an online and wireless data application module. The basic goal of module development is to realize the basic function which is similar to present game edit

20、ion.Keywords Wireless Application, Handset Module, J2ME, BREW第 18 页第1章 绪论本章将就BREW( Binary Runtime Environment for Wireless,即QUALCOMM公司为无线数据应用程序开发和执行提供的通用内容)来描述论文的开发背景及意义、模块设计的相关缩略语定义、BREW体系结构分析、运行机制、开发环境和论文内容简介等方面的内容。1.1 开发背景及意义有消息表明,中国的手机普及率将由2005年时的29提升至2010年时的50,这个数字换一种表示方法,就表明2010年中国将有近6.82亿的手机用

21、户,即将突破7亿户大关。7亿手机需要大量的移动应用,从这一数字我们就不难看出移动应用的市场潜力究竟有多大。在第五届中国(北京)移动通信国际论坛上,信息产业部有关负责人更是表明,在技术、市场和无线移动应用业务的共同驱动下,中国无线移动通信产业发展迅速,移动业务收入已接近全部电信业务收入的一半以上。本课题直接面向无线下载终端多样的数据应用与增值服务应用市场,由中兴软件技术杭州分公司提出并由作者开发,具有很不错的开发前景。1.2 本模块涉及相关缩略语定义虽然本模块的开发应用的是Microsoft Visual C+ 6.0 集成开发环境,但是由于本模块的开发涉及到QUALCOMM公司BREW平台,所

22、以很有必要对涉及到的相关缩略语进行定义如下:(1)BREWBREW是Binary Runtime Environment for Wireless 的缩写,是QUALCOMM公司为无线数据应用程序开发和执行提供的通用内容。(2)BREW SDKBREW SDK 由一整套工具和服务组成,使应用程序开发者能够为各种手持设备快速、高效、经济地开发和配置新的应用程序。(3)BREW SimulatorSimulator用于模拟选定的手持设备,使您可以加载 BREW 环境下开发的测试小程序。模拟的无线设备可以使用各种屏幕、字体、键盘、可用内存量、支持的语言和其它参数。(4)BREW Resource E

23、ditorBREW 资源编辑器允许创建应用程序中使用的对话框、字符串、二进制以及对象。您还可以使用资源编辑器创建控件,如:菜单、列表、日期选择器以及计时器等。 如果创建的应用程序需要使用不同语言在各种无线设备上运行,这些资源将十分有用。(5)BID fileBREW applet 的一个组成部分就是class ID. 这是标识applet 的唯一数字。我们可能会在一个applet中调用其他applet 的提供的函数,那么如何引用呢,就是通过这个class ID。这ID 要么通过在BID文件中包含,要么作为一个定义。BID 文件实际上就是一个头文件,其中仅仅指定了一个class ID,没有别的定

24、义,但对于商用的applet,那么就不能自已定义ID 了,必须从Qualcomm 的Wed 站点索取。这种索取ID 的方法可以确保没有两个applet 有相同的ID。(6)Applet file该文件实际就是你编写的applet 代码。可能是用于模拟器的或者是目标硬件平台的。模拟器使用的代码是以一个window 的DLL 存在,而手机中使用的是一个.mod 的文件。(7)Resource file资源文件包含一些数据,像图片,文本串,以及其他一些GUI 控件等,这些东西可以在applet 运行时装载,资源文件的是可选的,不一定非要使用,但它却对管理带来一些好处。资源文件的扩展名是.bar, 它

25、可以通过BREW 资源编辑器编辑。(8)MIF file每一个applet 都有一个MIF 文件。MIF 文件标识applet,它也存储applet 的ICON,title 以及一些版权信息,以及其他关联数据。Class ID 也要在MIF 文件中设置以便它引用applet 的代码。1.3 BREW体系结构BREW平台不像Java那样过于分散,而不能像标准的中间件那样在所有设备中得到大规模应用。BREW平台完全屏蔽了操作系统,其大规模部署和不太分散的平台,避免了为每一种新设备重新编写代码的麻烦,因此得到了应用程序开发商青睐。高通(Qualcomm)的BREW一直努力在手机市场取得更大的地盘。目

26、前,全球已有20家运营商已部署了BREW,但GSM运营商将来是否会安装BREW仍有待观察。由图1-1不难看出,BREW在整个开发中处于中间件的地位。图1-1 BREW体系结构图1.4 BREW运行机制在Microsoft Visual C+ 6.0 环境中正确配置了BREW SDK后,点击“执行”程序。运行“BREW手机模拟器”,手机模拟器开始查找“MIF文件”,如果查找成功,则由“MIF 文件”查找相应的“项目文件夹”,然后在项目文件夹中查找对应的“BID文件”,如果查找成功,则由“BID文件”查找项目“DLL文件”,查找成功后被手机模拟器加载调用。其运行机制如图1-2所示。图1-2 BRE

27、W运行机制图1.5 开发环境简介操作系统:Microsoft Windows XP。开发平台:Microsoft Visual C+ 6.0 + BREW SDK(Version3.0)。工具软件:Microsoft Visual C+ 6.0、Beyond.Compare.v2.2.5.build.223(文件比较工具)、pc-lint(代码走查工具)、UltraEditV10.20EN、Visual Assist X V10.1.1418.0。运行环境:BREW应用仿真器(BREW_Simulator.exe)数据处理:BREW 资源编辑器 (BREW_RES.exe)1.6 论文主体内容

28、简介接下来的论文主体内容将做如下简要安排:第二章:模块需求分析模块需求分析是模块开发的主要工作,它决定了该手机模块是否能够满足客户需求以及该模块能否最终被植入真正的手机运行。第三章:模块设计与实现设计和实现阶段要利用前面的模块需求分析来具体细化模块的功能,确定模块的接口以及方法处理等。第2章 模块需求分析本章主要介绍了模块需求,对需要完成的模块的需求的分析,系统要实现的目标、开发环境、条件和限制、静动态数据、简单数据交互流程、功能划分、功能描述、数据精确度、时间特性、适应性、用户界面以及中断处理等。2.1 任务概述手机游戏模块的开发属于嵌入式的开发,其开发任务至少应当包括如下两个方面的内容。2

29、.1.1 模块实现的目标本课题在现有平台基础上进行了充分的研究,完整实现一个基于BREW平台的经典手机游戏贪吃蛇游戏模块。模块开发的基本目标应当能够完成和现行游戏版本类似的基本功能。模块应该完成以下要求:基于BREW平台的游戏模块界面要求能够和现行真机版本媲美,完成最高分查询功能,完成游戏暂停功能,完成游戏过程中用户中断处理。基于BREW平台的游戏模块菜单资源丰富,提交的供评审的版本不能有严重Bug。2.1.2 条件与限制由于考虑到代码的真机植入,所以最终代码要进行相当程度的优化。手机界面太小,加上没有美工,游戏模块图片的设计、裁剪、配色都由一个人做。手机内存太小,游戏模块中加载资源的大小选择

30、要特别考虑。另外,由于所有的代码功能测试都是在模拟器上完成,可能会与真机植入的测试版本有一定程度的差距。2.2 数据描述虽然本游戏模块属于嵌入式的开发,没有涉及到数据库,但是毕竟涉及到静态数据、动态数据、以及数据的输入输出等方面。例如:游戏玩家成绩的保存和读取等,都是不可或缺的内容。2.2.1 静态数据游戏模块执行过程要加载的数据,执行游戏是自动从BREW资源管理器加载。字符串资源(游戏模块要用到的各种文字)、对象资源(游戏模块要用到的各种图片资源)、二进制资源(游戏模块要用到的各种视音频资源)、对话框资源(游戏模块要用到的各种对话框)。2.2.2 动态数据输入数据:游戏模块产生的各种事件、各

31、种用户中断、玩家游戏成绩录入等。输出数据:游戏模块对应的事件处理、游戏模块对应响应、玩家游戏成绩读出等。2.2.3 简单数据接口交互流程游戏模块的数据必然要经过如下简单数据交互过程。首先,模块的加载过程进入Splash界面,在此界面停留大概有一两秒钟时间(可以设置)。接下来判断游戏是否进行了配置,如果没有进行配置,那么将退出模拟器或者运行模拟演示程序。如果正确地进行了配置,那么接下来就要判断任务的加载情况。如果没有任务加载,那么将退出模拟器或者运行模拟演示程序;如果加载有任务,那么接下来将会进入游戏主菜单。在此菜单,游戏玩家可以移动上下箭头对游戏任务进行相应选择。假如此阶段有SMS Messa

32、ge进入,将会有另外界面弹出,提示玩家是否查看信息。如果玩家选择View,则查看进入的SMS Message。如果玩家选择Later,则还是处在任务菜单,游戏玩家可以移动上下箭头对游戏任务进行相应选择。假设选择任务1,则还要判断任务是被拒绝还是完成。图2-1向我们展示了以上整个的简单数据接口流程。图2-1 简单数据交互流程图2.3 功能需求本模块的设计主要是从模块功能方面将模块进一步划分,从而使模块划分成为更加细小,实现起来更加简单,但是模块功能却仍旧完整的子模块(接口)。而后进行模块接口对接而实现整体模块的设计。本模块的功能需求描述如下。2.3.1 功能划分由于嵌入式的开发主要以界面来进行数

33、据处理,所以设计了进入游戏后的主界面,如图2-2所示。在此界面,游戏玩家可以选择“进入游戏” 、“游戏帮助” 、“最高成绩” 、“关于游戏” 、“退出游戏”等菜单进行游戏功能选择。图2-2 模块功能图2.3.2 功能描述下面将按照图2-2的功能划分对主游戏菜单的游戏功能进行简单描述。(1)进入游戏等级选择在主功能菜单用上下箭头选择“进入游戏”,按“OK”键,你会看到如图2-3所示的等级选择菜单,在此菜单界面用户可以按向上或者向下箭头选择“初级难度”、“中级难度”、“高级难度”,“返回上层”等选项来选择玩家能够接受的游戏等级,并且可以点击“返回上层”回到主功能菜单。图2-3 等级选择图(2)游戏

34、帮助在主功能菜单用上下箭头选择“游戏帮助”,按“OK”键,你会看到如图2-4所示的帮助文档,在此界面用户可以查看与游戏模块相关的帮助信息,并且可以按向上或者向下箭头翻页查看信息。在界面底部,可以看到字体闪动的“返回”按键菜单,如果用户要退回游戏主功能菜单,则可以直接点击“OK”键。图2-4 帮助文档图(3)最高成绩在主功能菜单用上下箭头选择“最高成绩”,按“OK”键,你会看到如图2-5所示的最高分查询界面,在此界面用户可以查看关与游戏模块的玩家成绩,在界面底部,可以看到字体闪动的“返回”按键菜单,如果用户要退回游戏主功能菜单,则可以直接点击“OK”键。图2-5 最高成绩图(4)关于游戏在主功能

35、菜单用上下箭头选择“关于游戏”,按“OK”键,你会看到如图2-6所示的关于游戏界面,在此界面用户可以查看关与游戏模块的名称、版权、开发者、游戏版本等相关信息,界面持续一定时间自动返回到主菜单。图2-6 关于游戏图(5)退出游戏在主功能菜单用上下箭头选择“关于游戏”,按“OK”键,将会退出到游戏模块加载选择界面,如图2-7所示。图2-7 退出游戏图2.4 性能需求(1)数据精确度本游戏模块界面字符的显示都是宽字符串,均为16位。游戏界面图片的显示误差一般不小于6个像素,不会造成失真。(2)时间特性本游戏模块界面的更新一般不大于0.1秒。事件的响应处理一般不大于0.1秒。图片的持续时间一般不大于1

36、500毫秒。(3)适应性本游戏模块的可以移植到任何BREW手机或是支持BREW平台的手机上,因此,只要符合以上条件,屏幕为176*205的手机,本游戏模块均能良好运行。2.5 运行需求(1)用户界面模块运行过程中,若用户按“Enter”键暂停模块运行、游戏模块屏幕界面如图2-8(强烈建议模拟器屏幕大小为176*205):可以看出,模块界面友好,色彩鲜艳,可视性、可玩性、可观赏性极强。图2-8 游戏界面(2)中断处理模块运行过程中,若用户按“C”键中止模块运行将弹出如图2-9所示的界面:该界面持续不大于1500毫秒自动返回游戏模块主菜单。图2-9 玩家中断第3章 模块的设计与实现本章介绍的BRE

37、W开发过程将要涉及到以下部分内容:BREW 应用执行环境, BREW 头文件,BREW模拟器,BREW MIF 文件编辑器,BREW 资源管理器,设备包,演示 BREW 能力的一些简单应用,为简化开发过程而添加到 Microsoft Visual Studio 6.0中的插件(BREW 应用程序向导扩展、BREW自动编译扩展、BREW联合帮助扩展)下面将会通过本游戏模块的事件处理流程以及本游戏模块的接口设计的开发和设计来展示以上内容的具体应用。3.1 事件处理流程整个应用程序调用过程中的事件处理流程如图3-1所示。程序正常加载后,将首先进入持续显示大概0.5到1秒的“Splash”界面,接下来

38、程序进入游戏的“主功能菜单”,在此菜单,游戏玩家可以进行游戏的功能选择。其大致流程在图3-1中已有详细的说明,在此不在赘述。图3-1 游戏模块事件处理流程图3.2 模块接口设计接下来的工作就是参照上一节的“游戏模块事件处理流程图”来进行下面各个子模块的接口设计,具体的设计将以表格形式来描述。3.2.1 菜单子模块接口由于模块中相当一部分内容涉及菜单的绘制,所以在模块的实现中重点在一个命名为GameMenu的C文件中来实现游戏模块中诸如“进入游戏”、“游戏帮助”、“最高成绩”、“关于游戏”、“退出游戏”等主游戏功能菜单接口的绘制,还有“初级难度”、“中级难度”、“高级难度”,“返回上层”等二级菜

39、单接口的绘制以及“返回”按钮菜单接口的绘制。如表3-1所示。表3-1 菜单子模块接口GameMenuOperationsDescriptionXS_DisplayMainMenu(): Boolean;游戏模块主菜单显示XS_DisplayGradeMenu(.):Void;游戏模块等级选择菜单显示XS_DisplayButtomMenu(.):Void;游戏模块按钮菜单显示3.2.2 文件子模块接口游戏模块中虽然没有涉及到数据库的操作,但是毕竟涉及到数据的存取过程,所以很有必要专用一个命名为GameFile的C文件来负责模块中玩家成绩的记录和查询接口的设计。如表3-2所示。表3-2 文件子模

40、块接口GameFileOperationsDescriptionXS_CreatFile(): Boolean;游戏模块文件创建XS_WriteFile(): Boolean;游戏模块文件写XS_ReadFile():Void;游戏模块文件读3.2.3 图片子模块接口游戏模块中诸如Splash界面、游戏背景界面、游戏胜利界面、游戏失败界面、游戏结束界面、分数显示界面、游戏标题界面等各种图片的绘制是本游戏模块接口设计和实现的重头大戏,所以很有必要用一个命名为GameImage的C文件来实现以上图片处理界面的接口。如表3-3所示。表3-3 图片子模块接口GameImageOperationsDes

41、criptionXS_StartImage():Void;游戏模块开始界面加载XS_BackgroundImage():Void;游戏模块背景界面加载XS_WinImage():Void;游戏模块胜利界面加载XS_LostImage(.):Void;游戏模块失败界面加载XS_GameOverImage(.):Void;游戏模块结束游戏界面加载XS_ScoreImage(.):Void;游戏模块分数显示界面加载XS_TitleImage(.):Void;游戏模块游戏标题界面加载3.2.4 关卡子模块接口在游戏过程中,必然会有游戏关卡的变更、更新处理,所以在游戏模块的设计中也用一个命名为GameG

42、ate的C文件来负责模块中关卡的变更、更新绘制处理。如表3-4所示。表3-4 关卡子模块接口GameGateOperationsDescriptionXS_DisplayGate():Void;游戏模块游戏关卡显示XS_UpdateGate():Void;游戏模块游戏关卡更新3.2.5 处理子模块接口游戏模块的设计还有一个难点就是游戏处理,比如:游戏模块界面格式化、模块运动范围初始化、游戏模块蛇初始化、游戏模块蛇吃食物过程、游戏模块蛇撞到自己、游戏模块地图更新、游戏模块数字计算变换的处理等过程。因此在实现上也是采用一个命名为GameSnake的C文件来实现处理子模块的接口设计。如表3-5所示。

43、表3-5 处理子模块接口GameSnakeOperationsDescriptionXS_WriteVideo():Void;游戏模块界面格式化处理XS_InitFrame():Void;游戏模块运动范围初始化处理XS_InitSnake():Void;游戏模块蛇初始化处理XS_GenerateFood(.):Void;游戏模块蛇吃食物过程处理XS_IsSelf(.):Void;游戏模块蛇撞到自己处理XS_UpdateMap(.):Void;游戏模块地图更新处理XS_UpItoa(.):Unsigned Int;游戏模块数字计算变换处理比如:在游戏模块界面格式化处理接口函数中我们可以这样实现:

44、首先将整个手机屏幕定义为一个矩形对象。然后在把屏幕矩形对象按一定大小划分为若干小矩形,分别设其边长为固定大小。rect.dx=XS_BLOCK_SIZE;/ XS_BLOCK_SIZE为已经定义的宏rect.dy=XS_BLOCK_SIZE;/ XS_BLOCK_SIZE为已经定义的宏参数传递无符号字符型变量unsigned char full,如果需要填充小矩形,那么full为真,程序执行如下语句:IDISPLAY_DrawRect(pMe-a.m_pIDisplay, &rect, XS_COLOR_GREEN,/ RGBVAL颜色值,表示绿色 color,/ RGBVAL /参数传递的颜

45、色值,自定义 IDF_RECT_FRAME | IDF_RECT_FILL);如果没有必要填充小矩形,那么full为假,RGBVAL全部为白色。再比如,游戏模块蛇撞到自己身上处理接口函数上,即游戏失败可以这样实现:首先判断蛇运动过程中当前蛇头的横坐标、纵坐标是否和蛇体部分任一坐标重合,代码如下:if(pMe-snake0.mouseX=pMe-snakei.mouseX&pMe-snake0.mouseY=pMe-snakei.mouseY)如果条件成立,那么将要执行如下过程:设置游戏当前状态为退出游戏状态。pMe-m_eAppState = XS_APP_STATE_QUIT;/表示退出状态

46、设置游戏计时器当前状态为关闭状态。pMe-m_TimerState = XS_TIMER_CLOSE;/表示关闭状态设置游戏结束变量为真。pMe-gameover=TRUE;/表示游戏结束取消游戏模块地图更新计时器计时。ISHELL_CancelTimer(pMe-a.m_pIShell,(PFNNOTIFY) XS_UpdateMap, (AEEApplet *) pMe);/取消计时器取消游戏模块背景图片计时器计时。ISHELL_CancelTimer(pMe-a.m_pIShell,(PFNNOTIFY) XS_BackgroundImage, (AEEApplet *) pMe); /

47、取消计时器重置游戏模块文本颜色。IDISPLAY_SetColor(pMe-a.m_pIDisplay,CLR_USER_TEXT, MAKE_RGB(0,0,0); /重置文本颜色清除屏幕。IDISPLAY_ClearScreen( pMe-a.m_pIDisplay ); /清屏创建游戏模块成绩保存文件,保存玩家游戏成绩。XS_CreatFile(pMe);/创建文件显示玩家游戏失败。XS_LostImage(pMe);/显示失败界面如果判断条件不成立,那么游戏模块将不会中断,继续执行。3.2.6 显示子模块接口游戏模块设计过程中,各种显示(如:游戏模块游戏信息、游戏模块游戏版权)也是不可

48、或缺的。所以,本模块又特别设计了显示子模块接口,并把其放到一个命名为GameInfo的C文件中。当然,这些接口也涉及到关于游戏模块中数据资源、菜单资源的释放的接口设计。如表3-6所示。表3-6 显示子模块接口GameInfoOperationsDescriptionXS_DisplayGameInfo():Void;游戏模块游戏信息显示XS_DisplayAboutScreen():Void;游戏模块游戏版权显示XS_Reset(.):Void;游戏模块数据资源释放XS_MenuReleaseObj(.):Void;游戏模块菜单资源释放结 论本文介绍了QUALCOMM公司推出的新型online

49、无线应用模式BREW的出现、本质、体系结构、运行机制、业界地位及其发展前景。同时本文也涉及到BREW在网络运营、设备制造、应用开发、用户体验方面的内容。文中较为系统的对基于BREW平台的模块开发进行了细致入微的讲解,对各种工具的使用也有相当部分的涉及,体现了嵌入式模块开发一般过程。本模块及相关模块的开发,将会直接丰富手机应用开发、从而给无线应用下载带来更多地快乐和乐趣,当然也给电信运营商、应用开发商、OEM厂商等带来非常优厚的商业利润。这些都让我们深深体会到科技的发展和技术的进步带给生活的巨大变化,而这些都将推动新的无线数据应用程序和服务市场的发展。本模块没有充分的考虑真机情况下用户来电或是短

50、信息等真实环境的中断过程,因此基于BREW平台的手机模块的开发和研究只处于模拟处理阶段,还有待改进。可以这样说,BREW在中国市场的影响已经发生。BREW为CDMA制式的手机产品走向高端提供了通道,从而基于BREW可以开发出多样的数据应用与增值服务应用。但同时开发BREW产品也面临较大的市场风险,因为J2ME已经获得了广泛的市场支持,高通的封闭性将给BREW手机或业务带来较大的负面影响,BREW相关业务能否在J2ME已经大行其道的CDMA市场上扩大市场分额仍是一个未知数。 参考文献1 Qualcomm,BREW Sample App Guide,Qualcomm.Inc,2004年1月2 王洪

51、斌著,BREW Programming guide,Hisense.Inc,2004年7月3 Qualcomm,BREW API Reference,Qualcomm.Inc,2004年3月4 Qualcomm,BREW SDK User Docs,Qualcomm.Inc,2004年3月5 Qualcomm,Brew_Scratch_3.0,Qualcomm.Inc,2006年8月6 Qualcomm,Brew getting started,Qualcomm.Inc,2004年8月7 Qualcomm,Brew User Interface,Qualcomm.Inc,2004年3月8 李亮

52、等著,Welcome to the BREW,2006年1月9 卜佳俊著,深入BERW 手机游戏开发,清华大学出版社2004年810 2006中国手机设计行业研究报告,水清木华研究中心,2006年8月11 齐治昌,软件工程,第2版,高等教育出版社12 刘瑞新,C#网络编成及应用,第1版,机械工业出版社,2004年6月13 Simon Robinson等著. C#高级编程 .北京:清华大学出版社.2005.614 Daniel Cazzulino著. C # Web应用程序入门经典M Beginning C# Web Application with Visual Studio .NET.北京:

53、清华大学出版社.2003.8ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmO

54、cijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUI

55、KvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmL

56、Eiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4

57、iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPk

58、IcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SIQrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!