ImageVerifierCode 换一换
格式:DOCX , 页数:47 ,大小:1.25MB ,
资源ID:5015394      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5015394.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于嵌入式winCE开发的贪吃蛇游戏.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于嵌入式winCE开发的贪吃蛇游戏.docx

1、基于嵌入式winCE开发的贪吃蛇游戏基于嵌入式winCE开发的贪吃蛇游戏摘要进年来计算机技术在中国取得了突飞猛进的发展,嵌入式领域也随之发展起来。然而,嵌入式在中国仍然处于初级阶段,相对美国等发达国家,嵌入式领域的很多关键技术都是我们都是从国外引进学习的,我们并没有从根本上解决技术难点,也没有这方面取得的突破性进展,和国外的发达国家还有一定的差距。本文基于此,尝试设计了基于嵌入式winCE开发的一款贪吃蛇游戏,主要目的是通过开发嵌入式贪吃蛇游戏,掌握嵌入式开发的整个过程,同时介绍基于winCE嵌入式开发的详细设计步骤,向初学者介绍开发基于winCE方面嵌入式程序的整个框架流程。本论文软件方面采

2、用的是EVC+4.0开发平台设计程序,PB5.0进行系统定制,硬件方面采用的是PXA270-S实验开发箱。整个设计流程将在本论文主体部分进行详细的叙述。从定制自己所需的winCE系统、运用MFC基于对话框的C+语言编写贪吃蛇游戏源代码到最终下载程序到实验开发板的整个过程都做了很详细的介绍。关键词:winCE5.0、EVC+4.0、PB5.0 、嵌入式系统、贪吃蛇游戏、内核定制Development based on embedded winCE Snake gameAbstractInto the years of computer technology in China has made r

3、apid development, also will develop embedded field.However, embedded in ChinaStill in its infancy, relative to the U.S. and other developed countries, many of the key technologies embedded world is we are all learning from abroad, And we do not fundamentally solve the technical difficulties, there i

4、s no breakthrough made in this regard, there is a developed country and abroadGiven gap. Based on this, try to design embedded winCE based on the development of a Snake game, the main purpose is to develop embedded corruptionEat snake game, master the entire embedded development process, also introd

5、uced an embedded development process based on winCE to introduce beginners to the developmentwinCE regard the overall framework of the process embedded program.Software used in this paper is to EVC + +4.0 development platform design process, PB5.0For system customization, hardware PXA270-S is used i

6、n experimental development box.The design process will detail the main part of this thesisNarrative.Key words:winCE5.0, EVC+4.0, PB5.0, embedded systems,Snakegame目录目录 31.绪论 51.1引言 51.2国内外现状分析 51.3本文的主要内容与论文结构 71.3.1论文的主要工作内容 71.3.2论文章节结构 72.系统软硬件平台概述 82.1 PXA270-S270处理器介绍 82.2 WindowsCE.NET操作系统概述 92

7、.2.1什么是WindowsCE.NE 92.2.2 Windows CE.NET的功能特点 92.3 WindowsCE.NET的相关开发工具 102.3.1 PlatformBuilders5.0介绍 102.3.2 EmbeddedVisual C+ 4.0介绍 113.系统概要设计 113.1系统的整体结构 113.1.1 系统的定制 113.1.2 程序的编写 113.2系统的硬件构建 133.3系统的软件组成 143.3.1 系统所需要的软件 143.3.2 ClassWizard(类向导)简介 144.系统的详细设计 164.1 定制winCE内核 164.1.1 winCE内核

8、定制原理以说明 164.1.2 winCE内核定制 174.2 贪吃蛇游戏详细设计开发 174.2.1 贪吃蛇游戏的可行性分析 174.2.2 贪吃蛇游戏的需求分析 184.2.3 贪吃蛇游戏的总体功能图 194.2.4 贪吃蛇游戏的实现的功能模块 194.2.5 贪吃蛇游戏的主要功能设计思路 204.2.6 贪吃蛇游戏程序流程图 224.2.7 贪吃蛇游戏主要类及成员变量 224.2.8 贪吃蛇游戏界面的实现 244.2.9 贪吃蛇游戏主要代码说明 254.3 winCE内核下载 274.3.1 烧写系统所需资源 274.3.2 烧写系统步骤 275.系统整合及测试 345.1 系统整合 3

9、45.2 系统整体测试 355.2.1 系统规则测试 355.2.2 按键功能测试 365.2.3 分数和关卡测试 40总结与展望 41致谢 42参考文献和注释 43外文资料翻译及原文 44翻译原文 44翻译译文 511.绪论1.1引言贪吃蛇游戏是一种非常经典的计算机小游戏,在过去的计算机发展的几十年中,贪吃蛇游戏深受广大儿童的喜爱,它的开发标志着以计算机为基础的小游戏的领域的来临,特别是广大儿童小时候玩的游戏机上的赛车,贪吃蛇游戏,乒乓球等,这些小游戏都深受着人们的喜爱。与此同时,随着计算机技术的快速发展,嵌入式技术也相应的取得了突破性的进展,嵌入式设备正日益渗透到人们的日常生活中,默默地为

10、我们提供连接和服务,嵌入式设备往往是一个资源有限的系统,它们追求的是在有限的价格上满足一定的功能性要求。通常它们采用那些功能并不强大的CPU,这也是开发者不得不尽可能地压缩嵌入式系统性能的原因。最初的嵌入式设备是单一用途的,它们拥有各自独特的显示方式和用户界面,而今天它们变成了类似PC系统。它们可以运行很多相同的应用程序。针对嵌入式资源的限制,如何将对资源有很大依赖性的大规模的计算,成功的移植到嵌入式系统中,并能使其达到类似与在PC 上计算的效果。针对此问题,必须对原适用于PC上的游戏引擎做出修改,才能使其在嵌入式系统中成功的运行。因此需要在特定的环境下开发相应的游戏,这样才能在以后下载到相应

11、的板子上进行效果演示。目前嵌入式行业在中国得到了有效发展,但是规模相应的还与国际上有很大的差距,因此,为了能够让大家对基于嵌入式wince开发游戏得到有效的理解,本论文以贪吃蛇游戏为详细的例子,完整的阐述了嵌入式游戏的开发流程,以及演示结果,还有中间特别要注重的难点疑点的解析。本文对具体的开发流程都做了很详细的阐述,从编码到仿真,然后在定制系统内核,最后进行应用程序的下载,完成贪吃蛇游戏的具体效果演示,论文的后续都做了相当详细的解释。1.2国内外现状分析 进入90年代以来,以计算机技术、通信技术和软件技术为核心的信息技术取得了更加迅猛的发展,各种装备与设备上嵌入式计算与系统的广泛应用大大地推动

12、了行业的渗透性应用。嵌入式系统被描述为“以应用为中心、软件硬件可裁剪的、适应应用系统对功能、可靠性、成本、体积、功耗等严格综合性要求的专用计算机系统”,由嵌入式硬件和嵌入式软件两部分组成。硬件是支撑,软件是灵魂,几乎所有的嵌入式产品中都需要嵌入式软件来提供灵活多样、而且应用特制的功能。由于嵌入式系统应用广泛,嵌入式软件在整个软件产业中占据了重要地位,并受到世界各国的广泛关注;如今已成为信息产业中最为耀眼的“明星”之一。据美国市场调研厂商In-Stat/MDR公司于2004年8月11日表示,随着数字机顶盒在欧洲和亚洲的不断普及,来自嵌入在数字机顶盒中的软件(包括嵌入式操作系统和中间件)的销售在未

13、来4年内将增长2倍。到2008年,来自数字机顶盒操作系统和应用服务器软件的许可收入将由今年的2.7亿美元增长到8亿美元。数字机顶盒在欧洲和亚洲的日益普及将带动这一增长。到2008年,40%的收入来自欧洲,剩下的将由亚洲和美国“瓜分”。由于诸多原因,我国计算机行业未能赶上世界范围软件技术发展的前几次机遇;当我们意识到应组织发展本国软件产业时,微软已在PC软件上处世界垄断地位,我们只得在软件汉化小范围徘徊,对计算机系统软件虽偶有出击,总难冲出重围。二十一世纪之初,微软王国已从登峰造极走向地位下滑的后PC时代。后PC时代,既非PC信息设备大显神通的时代,嵌入式系统正是非PC设备的主体,由于其应用推广

14、、领域特色突出,谁也无力独吞这一市场。互联网技术在世界范围的扩展和中国通信事业的高速发展,已为我国开发嵌入式产品造就了广大市场,此外我国是人口大国,可以开发软件智力优势。因此,我国软件同仁应该牢牢抓着这一大好机遇,找准出击点,在IP软件、JAVA应用和无线网络等新一轮嵌入式软件技术上,下大力,冲刺一翻,这样定能使我国软件技术大上一个台阶,从而为发展我国经济做出应有的贡献。嵌入式软件产业发展迅猛,已成为软件体系的重要组成部分。嵌入式系统产品正不断渗透各个行业,嵌入式软件作为包含在这些硬件产品中的特殊软件形态,其产业增幅不断加大,而且在整个软件产业的比重日趋提高。2003年全球嵌入式软件市场规模达

15、到346亿美元,2003年中国市场规模达到188亿元,预计到2006年嵌入式软件市场规模将突破400亿元大关,2003-2006年均复合增长率将达到30%。新一轮汽车、通讯、信息电器、医疗、军事等行业的巨大的智能化装备需求拉动了嵌入式软件及系统的发展。同传统的通用计算机系统不同,嵌入式系统面向特定应用领域,根据应用需求定制开发,并随着智能化产品的普遍需求渗透到各行各业。随着硬件技术的不断革新,硬件平台的处理能力不断增强,硬件成本不断下降,嵌入式软件已成为产品。1.3本文的主要内容与论文结构 随着嵌入式领域的发展,各种嵌入式小游戏现阶段已经成为一种流行,基于此,本论文在嵌入式技术背景下,开发基于

16、嵌入式wince 5.0的贪吃蛇游戏。WinCE操作系统作为内核、PB(platformBuilder5.0)、EVC(EmebededVisua1C+)作为开发工具。PXA270-S开发试验箱作为嵌入式硬件基础。1.3.1论文的主要工作内容1. 利用PB(PlatformBuilder5.0)开发工具定制wincE内核映像,完成winCE内核映像的编译和移植工作。2. 研究在EVC(EmebededVisua1C+)开发工具下,贪吃蛇游戏的开发思想,以及贪吃蛇游戏程序编写。3. 学会向PXA270-S开发板烧写wince系统,通过实验指导书上的说明,按照步骤学会烧写wince系统,并且能够熟

17、练掌握PXA270-S开发箱的烧写过程。1.3.2论文章节结构 第一章是论文的绪论部分,包括引言部分和论文章节介绍,还有有关嵌入式领域的国内外发展情况简介。第二章介绍了本次设计使用到的软硬件平台,分析这些软硬件开发平台的特点和优势,为系统的实现提供技术支持。第三章介绍了利用Windows CE.net 5.0制作嵌入式贪吃蛇游戏的整体设计,论文本章介绍了项目开发的基本框架,以及整体开发流程。第四章是对系统的详细设计,介绍了系统的整体结构组成,硬件平台的搭建以及预期实现的应用功能,详细介绍了WindowsCE.llet内核的生成和SDK的开发。其中内核生成包含了内核定制、编译和加载,本次设计也专

18、门定制了符合开发平台的windowsCEnet内核。详细介绍了贪吃蛇游戏的设计与开发,通过EVC(EmebededVisua1C+)开发工具采用VC+语言进行编写贪吃蛇游戏的代码,主要讲述贪吃蛇游戏的设计思路,代码核心,以及采用的库函数等说明。第五章是讲述了如何向PXA270-S开发板烧写wince系统,本章是基于自己在设计过程中遇到的问题而进行的详细解析和烧写步骤。第六章是测试与结果并且在板子上执行贪吃蛇的最终能够结果。2.系统软硬件平台概述2.1 PXA270-S270处理器介绍PXA270处理器属于ARM处理器,既可以把它看做一个公司的名字,也可以认为是对一系列微处理器的通称。ARM公司

19、不具体制造产品,只向生产厂商出售芯片设计技术的授权。目前,有30多家半导体公司成为ARM公司的合作伙伴,其中包括Iniel、IBM、LG、半导体、NEC、SONY、菲利浦和国民半导体这样的大公司。因此,基于ARM技术的微处理器己经遍及工业控制、无线通信、消费电子、网络系统等各类市场,占据了犯位RISC微处理器绝大多数的市场份额。基于ARM体系结构的处理器当前包括以下几个系列:ARM7、ARMg、ARMgE、ARM10E、SeeureCore、ARMll、Intel的Xscale、StrongARM。其中本次设计采用的PXA270处理器就是Iniel公司开发的xscale系列的处理器。624MH

20、z处理器是比较高级的处理器,可在312MHz、4i6MHZ、520MHZ和等不同的时钟频率下运行ll。PXA270处理器内置了Intel的无线MMX技术,能够显著的提升多媒体性能,此外PXA270也包含了Intol的SpeedsteP技术,能够根据需要动态调节cPu的性能,真正实现了低功耗,高性能。同其他XScale处理器一样,支持多种嵌入式操作系统,如Linux、windows、winCE、Nueleus、 Palm05、vxworks等。另外,在处理器内部结构上,主系统总线将 Inielxseale内核、LCD控制器、USB主机控制器、DMA控制器和存储控制器连接起来,其中存储控制器控制处

21、理器与各种外部存储器的通信,片内外设通过DMA控制器与处理器通信。2.2 WindowsCE.NET操作系统概述2.2.1什么是WindowsCE.NEWincdows CE.NET是一种抢先式多任务并具有很强大功能的32位操作系统,支持X86、PowerPC、ARM、MIPS等多种CPU构建的硬件平台,是微软专门为信息设备,消费类电子,移动应用,嵌入式应用等非PC类领域从头设计的战略性操作系统产品。Windows CE.NET中的CE包含了比较深刻的含义,其中C代表了消费类(Consumer)、袖珍(Compact)、(Connection)通信能力和伴侣(Companition),E 代表

22、了电子产品(Electronics)。微软公司早在1996年就推出了Windaows CE.NET 1.0版本之后连续推出了Windaows CE.NET 2.0、Windaows CE.NET 3.0、Windaows CE.NET 4.0、Windaows CE.NET 4.2以及Windaows CE.NET 5.0,目前最高的版本是Windaows CE.NET 6.0。而在Windows CE之后的.NET技术又名为“.NET COMPACT FRAMWORK” 精简型的.NET Framwork,是微软将近年来的桌面型操作系统上的.NET架构技术运用在系统资源有限的嵌入式产品中来。

23、2.2.2 Windows CE.NET的功能特点Microsoft Windows CE .NET是Windows CE 3.0的后续产品,它不仅是一个功能强劲的实时嵌入式操作系统,而且提供了众多强大工具,允许用户利用它快速开发出下一代的智能化小体积连接设备。借助于完善的操作系统功能和开发工具,Windows CE .NET为开发人员提供了构建、调试和部署基于Windows CE.NET 的定制设备所需的一切特性。平台开发工具Platform Builder是一个完全集成的开发环境(IDE),并且包括一个软件开发工具包(SDK)导出工具。因此它具有比之前版本更有效的特点,具体来说详见以下特点

24、。Windows CE .NET 支持Microsoft eMbedded Visual C+和MicrosoftVisual Studio .NET,为面向Microsoft.NET Compact Framwork的Web 服务和应用程序开发提供了一个完整的开发环境。利用这些工具,开发人员可以迅速开发出能够在最新硬件上运行各种应用程序的智能化设计。作为最新版本,Windows CE .NET 对Windows CE 先前版本的强大功能进行了进一步的扩充和丰富,它提供了:对安全和可伸缩网络的支持、得到增强的实时处理能力、更为优秀的性能表现、更为丰富的多媒体和Web浏览功能、与个人计算机、服务

25、器、Web服务以及其它设备更为出色的互操作性。2.3 WindowsCE.NET的相关开发工具2.3.1 PlatformBuilders5.0介绍 PlatformBuilder5.0是微软公司提供的基于WinCENET平台下嵌入式操作系统定制的集成开发环境,提供了所有进行设计、创建、编译、下载和测试WinCENET操作系统平台的工具。开发人员可以通过交互式的环境来设计和定制内核、选择系统特性,然后进行编译和测试。同时,还可以进行驱动程序开发和应用程序项目的开发等等。具体来说,PB5.0提供的主要开发特性如下:1.创建开发平台向导和BSP开发向导:用来引导开发人员去创建一个新的系统平台或BS

26、P(板卡支持包)。2.目录:列出了可以用来定制一个平台的操作系统特性。3.导出向导:可以向其他用户导出自定义的目录特性。4.导出SDK向导:用于导出一个定制的软件开发工具包(SD殉。5.依赖性检查:能保证支撑一个平台的所需特性可以被包含到操作系统镜像中来。6.WindowsCETest(测试工具包):用于驱动程序的测试。7.内核测试器:用于测试一个定制的操作系统镜像。8.应用程序测试器:用于在一个定制的操作系统镜像上测试应用程序。9.仿真器(Emulator):允许用户在开发工作站上对平台和应用程序进行测试,简化了系统开发流程,缩短了开发时间。10.远程工具:可执行同基于 windowsCE.

27、NET的目标设备有关的各种测试任务和信息收集任务。2.3.2 EmbeddedVisual C+ 4.0介绍 EmbeddedVisualc+是微软公司提供的开发嵌入式应用软件的平台,它是visualC+的子集,EVC和Windows下的VC在界面、语法和开发流程基本一样,EVC的编程也是WINN32的编程,支持WIN API中的大部分函数,熟悉VC的人很快就会使用EVC进行开发。EVC和PlatformBuilder的不同之处在于 PlatformBuilder针对的是操作系统的定制,编译目标是整个05的内核,虽然 PlatformBuilder也能开发应用程序,但是这些应用程序是作为整个系

28、统的一部分而存在,编译时还是以一个操作系统为单位;EVC针对的是应用软件开发,特定操作系统的SDK就已经为它提供了系统的运行环境,因此它编译的单位是一个应用程序。因此,针对于应用程序的开发、编译和测试,在EVC中完成往往是高效的、合理的。3.系统概要设计3.1系统的整体结构3.1.1 系统的定制首先所需winCE系统内核的定制,通过PlatformBuilders5.0来定制自己所需要的系统内核,根据自己程序设计时所用到的win32程序的接口,以及用到的库函数,类库,各种所需要的驱动,例如USB驱动,屏幕显示驱动,鼠标驱动,键盘驱动等,来定制自己所需要的系统内核,系统不必过于繁琐,达到自己所需

29、要的功能即可,因为我们所强调的是嵌入式,嵌入式是以方便为前提的,定制的系统是以简洁方便为目的的,具体的定制细节我们在第四章将会详细介绍。3.1.2 程序的编写其次是针对自己定制的系统编写项目程序,我们在此过程中用到的工具是Microsoft eMbedded Visual C+,我们在EVC环境下,选择标准SDK环境,然后在标准模拟器上进行编写调试程序。程序的名称是贪吃蛇游戏,采用的是VC+语言,MFC微软基础类库环境的单文档窗体。程序的大体思想是:采用一个二维数组(这里我们采用的是24*24的整形数组)作为贪吃蛇游戏的背景地图,数组的每个值代表地图上每个小矩形,而每个小矩形连续组成贪吃蛇的蛇

30、身,在程序初始化窗体时候调用这个函数,刷新出程序的背景地图;程序贪吃蛇的蛇身用一个Cpoint 类的一位连续数组,Cpoint类是一个结构体类型,结构体类型里包含着两个整形参数x和y 代表的是屏幕窗体上的某一个对应的点的坐标,我们在得知点的坐标的同时,就明确了对应二维数组地图上的某个矩形区域的坐标值,这样用Cpoint类的一位数组我们可以存放蛇身的每个节点的坐标,于此同时,我们在程序snake类里面设定蛇头和蛇尾的坐标变量、蛇身长度的坐标变量,这样在程序调用Timer()系统函数定时刷新时,每次刷新只需要改变蛇头和蛇尾的坐标即可,每次刷新时,根据舍身前进方向判断下一个头节点的坐标值,然后添加到

31、Cpoint类定义的蛇身节点,而蛇尾节点坐标值是前一个状态的倒数第二个节点,然后调用库函数FillSolildRect()函数刷新头节点为蛇的自身颜色,而尾节点是地图背景颜色,这样我们在外观看起来就是蛇身前进的效果。那么,我们怎么判断蛇头前进的方向呢?这个问题的解决方式是,在定义snake类的同时,定义了一个私有变量Direction为蛇动态前进的方向,而每次Timer()刷新时,动态的根据键盘响应函数来判断前进方向,并同时给Direction赋值,这样每次刷新的同时Direction为四个方向(上、下、左、右)其中的一个方向,蛇头前进的方向在此时已经确定,这样就动态的根据输入的键盘值来改变蛇

32、的前进方向,我们就可以控制蛇的移动啦!最后,在蛇动态效果显示出来的同时,我们也应该考虑到蛇的生命周期问题,就是蛇在什么情况下会死亡,在什么情况下会得分,在什么情况下会自身长度增加等一系列相关问题。这里我们首先考虑到一个十分重要的问题,就是蛇遇到食物(这里我们用一个蓝色的小矩形表示蛇的食物苹果)同时,将食物吃掉并且动态自身增加一节,这里我们是这样实现的:首先实现的是食物的随机出现,在某个食物被吃掉的同时,我们要立即产生出下一个食物的坐标,我们用到的是一个随机函数产生出下一个食物的坐标,但是这个坐标必须仅仅在023之间,因为我们地图采用的是一个24维的二维数组表示的,地图每个横坐标纵坐标的范围是023,但是,这里注意一个特别重要的问题,就是每次随机产生的食物坐标不能出现在当前蛇身上,我们必须加一个判断,如果产生的坐标在蛇身上,必须重新生成,一直到产生一个在地图上并且不在蛇身上的食物坐标为止;当蛇头

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1