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

上传人:b****8 文档编号:9304713 上传时间:2023-02-04 格式:DOCX 页数:61 大小:1.21MB
下载 相关 举报
基于嵌入式winCE开发的贪吃蛇游戏.docx_第1页
第1页 / 共61页
基于嵌入式winCE开发的贪吃蛇游戏.docx_第2页
第2页 / 共61页
基于嵌入式winCE开发的贪吃蛇游戏.docx_第3页
第3页 / 共61页
基于嵌入式winCE开发的贪吃蛇游戏.docx_第4页
第4页 / 共61页
基于嵌入式winCE开发的贪吃蛇游戏.docx_第5页
第5页 / 共61页
点击查看更多>>
下载资源
资源描述

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

《基于嵌入式winCE开发的贪吃蛇游戏.docx》由会员分享,可在线阅读,更多相关《基于嵌入式winCE开发的贪吃蛇游戏.docx(61页珍藏版)》请在冰豆网上搜索。

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

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

摘要

进年来计算机技术在中国取得了突飞猛进的发展,嵌入式领域也随之发展起来。

然而,嵌入式在中国仍然处于初级阶段,相对美国等发达国家,嵌入式领域的很多关键技术都是我们都是从国外引进学习的,我们并没有从根本上解决技术难点,也没有这方面取得的突破性进展,和国外的发达国家还有一定的差距。

本文基于此,尝试设计了基于嵌入式winCE开发的一款贪吃蛇游戏,主要目的是通过开发嵌入式贪吃蛇游戏,掌握嵌入式开发的整个过程,同时介绍基于winCE嵌入式开发的详细设计步骤,向初学者介绍开发基于winCE方面嵌入式程序的整个框架流程。

本论文软件方面采用的是EVC++4.0开发平台设计程序,PB5.0进行系统定制,硬件方面采用的是PXA270-S实验开发箱。

整个设计流程将在本论文主体部分进行详细的叙述。

从定制自己所需的winCE系统、运用MFC基于对话框的C++语言编写贪吃蛇游戏源代码到最终下载程序到实验开发板的整个过程都做了很详细的介绍。

关键词:

winCE5.0、EVC++4.0、PB5.0、嵌入式系统、贪吃蛇游戏、内核定制

 

DevelopmentbasedonembeddedwinCESnakegame

Abstract

IntotheyearsofcomputertechnologyinChinahasmaderapiddevelopment,alsowilldevelopembeddedfield. However,embeddedinChina Stillinitsinfancy,relativetotheU.S.andotherdevelopedcountries,manyofthekeytechnologiesembeddedworldiswearealllearningfromabroad ,Andwedonotfundamentallysolvethetechnicaldifficulties,thereisnobreakthroughmadeinthisregard,thereisadevelopedcountryandabroad Givengap. 

    Basedonthis,trytodesignembeddedwinCEbasedonthedevelopmentofaSnakegame,themainpurposeistodevelopembeddedcorruption Eatsnakegame,mastertheentireembeddeddevelopmentprocess,alsointroducedanembeddeddevelopmentprocessbasedonwinCEtointroducebeginnerstothedevelopment winCEregardtheoverallframeworkoftheprocessembeddedprogram. SoftwareusedinthispaperistoEVC++4.0developmentplatformdesignprocess,PB5.0 Forsystemcustomization,hardwarePXA270-Sisusedinexperimentaldevelopmentbox. Thedesignprocesswilldetailthemainpartofthisthesis Narrative. 

Keywords:

winCE5.0,EVC++4.0,PB5.0, embeddedsystems, Snakegame

 

目录

目录3

1.绪论5

1.1引言5

1.2国内外现状分析5

1.3本文的主要内容与论文结构7

1.3.1论文的主要工作内容7

1.3.2论文章节结构7

2.系统软硬件平台概述8

2.1PXA270-S270处理器介绍8

2.2WindowsCE.NET操作系统概述9

2.2.1什么是WindowsCE.NE9

2.2.2WindowsCE.NET的功能特点9

2.3WindowsCE.NET的相关开发工具10

2.3.1PlatformBuilders5.0介绍10

2.3.2EmbeddedVisualC++4.0介绍11

3.系统概要设计11

3.1系统的整体结构11

3.1.1系统的定制11

3.1.2程序的编写11

3.2系统的硬件构建13

3.3系统的软件组成14

3.3.1系统所需要的软件14

3.3.2ClassWizard(类向导)简介14

4.系统的详细设计16

4.1定制winCE内核16

4.1.1winCE内核定制原理以说明16

4.1.2winCE内核定制17

4.2贪吃蛇游戏详细设计开发17

4.2.1贪吃蛇游戏的可行性分析17

4.2.2贪吃蛇游戏的需求分析18

4.2.3贪吃蛇游戏的总体功能图19

4.2.4贪吃蛇游戏的实现的功能模块19

4.2.5贪吃蛇游戏的主要功能设计思路20

4.2.6贪吃蛇游戏程序流程图22

4.2.7贪吃蛇游戏主要类及成员变量22

4.2.8贪吃蛇游戏界面的实现24

4.2.9贪吃蛇游戏主要代码说明25

4.3winCE内核下载27

4.3.1烧写系统所需资源27

4.3.2烧写系统步骤27

5.系统整合及测试34

5.1系统整合34

5.2系统整体测试35

5.2.1系统规则测试35

5.2.2按键功能测试36

5.2.3分数和关卡测试40

总结与展望41

致谢42

参考文献和注释43

外文资料翻译及原文44

翻译原文44

翻译译文51

1.绪论

1.1引言

贪吃蛇游戏是一种非常经典的计算机小游戏,在过去的计算机发展的几十年中,贪吃蛇游戏深受广大儿童的喜爱,它的开发标志着以计算机为基础的小游戏的领域的来临,特别是广大儿童小时候玩的游戏机上的赛车,贪吃蛇游戏,乒乓球等,这些小游戏都深受着人们的喜爱。

与此同时,随着计算机技术的快速发展,嵌入式技术也相应的取得了突破性的进展,嵌入式设备正日益渗透到人们的日常生活中,默默地为我们提供连接和服务,嵌入式设备往往是一个资源有限的系统,它们追求的是在有限的价格上满足一定的功能性要求。

通常它们采用那些功能并不强大的CPU,这也是开发者不得不尽可能地压缩嵌入式系统性能的原因。

最初的嵌入式设备是单一用途的,它们拥有各自独特的显示方式和用户界面,而今天它们变成了类似PC系统。

它们可以运行很多相同的应用程序。

针对嵌入式资源的限制,如何将对资源有很大依赖性的大规模的计算,成功的移植到嵌入式系统中,并能使其达到类似与在PC上计算的效果。

针对此问题,必须对原适用于PC上的游戏引擎做出修改,才能使其在嵌入式系统中成功的运行。

因此需要在特定的环境下开发相应的游戏,这样才能在以后下载到相应的板子上进行效果演示。

目前嵌入式行业在中国得到了有效发展,但是规模相应的还与国际上有很大的差距,因此,为了能够让大家对基于嵌入式wince开发游戏得到有效的理解,本论文以贪吃蛇游戏为详细的例子,完整的阐述了嵌入式游戏的开发流程,以及演示结果,还有中间特别要注重的难点疑点的解析。

本文对具体的开发流程都做了很详细的阐述,从编码到仿真,然后在定制系统内核,最后进行应用程序的下载,完成贪吃蛇游戏的具体效果演示,论文的后续都做了相当详细的解释。

1.2国内外现状分析

进入90年代以来,以计算机技术、通信技术和软件技术为核心的信息技术取得了更加迅猛的发展,各种装备与设备上嵌入式计算与系统的广泛应用大大地推动了行业的渗透性应用。

嵌入式系统被描述为“以应用为中心、软件硬件可裁剪的、适应应用系统对功能、可靠性、成本、体积、功耗等严格综合性要求的专用计算机系统”,由嵌入式硬件和嵌入式软件两部分组成。

硬件是支撑,软件是灵魂,几乎所有的嵌入式产品中都需要嵌入式软件来提供灵活多样、而且应用特制的功能。

由于嵌入式系统应用广泛,嵌入式软件在整个软件产业中占据了重要地位,并受到世界各国的广泛关注;如今已成为信息产业中最为耀眼的“明星”之一。

据美国市场调研厂商In-Stat/MDR公司于2004年8月11日表示,随着数字机顶盒在欧洲和亚洲的不断普及,来自嵌入在数字机顶盒中的软件(包括嵌入式操作系统和中间件)的销售在未来4年内将增长2倍。

到2008年,来自数字机顶盒操作系统和应用服务器软件的许可收入将由今年的2.7亿美元增长到8亿美元。

数字机顶盒在欧洲和亚洲的日益普及将带动这一增长。

到2008年,40%的收入来自欧洲,剩下的将由亚洲和美国“瓜分”。

由于诸多原因,我国计算机行业未能赶上世界范围软件技术发展的前几次机遇;当我们意识到应组织发展本国软件产业时,微软已在PC软件上处世界垄断地位,我们只得在软件汉化小范围徘徊,对计算机系统软件虽偶有出击,总难冲出重围。

二十一世纪之初,微软王国已从登峰造极走向地位下滑的后PC时代。

后PC时代,既非PC信息设备大显神通的时代,嵌入式系统正是非PC设备的主体,由于其应用推广、领域特色突出,谁也无力独吞这一市场。

互联网技术在世界范围的扩展和中国通信事业的高速发展,已为我国开发嵌入式产品造就了广大市场,此外我国是人口大国,可以开发软件智力优势。

因此,我国软件同仁应该牢牢抓着这一大好机遇,找准出击点,在IP软件、JAVA应用和无线网络等新一轮嵌入式软件技术上,下大力,冲刺一翻,这样定能使我国软件技术大上一个台阶,从而为发展我国经济做出应有的贡献。

 

嵌入式软件产业发展迅猛,已成为软件体系的重要组成部分。

嵌入式系统产品正不断渗透各个行业,嵌入式软件作为包含在这些硬件产品中的特殊软件形态,其产业增幅不断加大,而且在整个软件产业的比重日趋提高。

2003年全球嵌入式软件市场规模达到346亿美元,2003年中国市场规模达到188亿元,预计到2006年嵌入式软件市场规模将突破400亿元大关,2003-2006年均复合增长率将达到30%。

新一轮汽车、通讯、信息电器、医疗、军事等行业的巨大的智能化装备需求拉动了嵌入式软件及系统的发展。

同传统的通用计算机系统不同,嵌入式系统面向特定应用领域,根据应用需求定制开发,并随着智能化产品的普遍需求渗透到各行各业。

随着硬件技术的不断革新,硬件平台的处理能力不断增强,硬件成本不断下降,嵌入式软件已成为产品。

1.3本文的主要内容与论文结构

随着嵌入式领域的发展,各种嵌入式小游戏现阶段已经成为一种流行,基于此,本论文在嵌入式技术背景下,开发基于嵌入式wince5.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系统,并且能够熟练掌握PXA270-S开发箱的烧写过程。

1.3.2论文章节结构

第一章是论文的绪论部分,包括引言部分和论文章节介绍,还有有关嵌入式领域的国内外发展情况简介。

第二章介绍了本次设计使用到的软硬件平台,分析这些软硬件开发平台的特点和优势,为系统的实现提供技术支持。

第三章介绍了利用WindowsCE.net5.0制作嵌入式贪吃蛇游戏的整体设计,论文本章介绍了项目开发的基本框架,以及整体开发流程。

第四章是对系统的详细设计,介绍了系统的整体结构组成,硬件平台的搭建以及预期实现的应用功能,详细介绍了WindowsCE.llet内核的生成和SDK的开发。

其中内核生成包含了内核定制、编译和加载,本次设计也专门定制了符合开发平台的windowsCEnet内核。

详细介绍了贪吃蛇游戏的设计与开发,通过EVC(EmebededVisua1C++)开发工具采用VC++语言进行编写贪吃蛇游戏的代码,主要讲述贪吃蛇游戏的设计思路,代码核心,以及采用的库函数等说明。

第五章是讲述了如何向PXA270-S开发板烧写wince系统,本章是基于自己在设计过程中遇到的问题而进行的详细解析和烧写步骤。

第六章是测试与结果并且在板子上执行贪吃蛇的最终能够结果。

2.系统软硬件平台概述

2.1PXA270-S270处理器介绍

PXA270处理器属于ARM处理器,既可以把它看做一个公司的名字,也可以认为是对一系列微处理器的通称。

ARM公司不具体制造产品,只向生产厂商出售芯片设计技术的授权。

目前,有30多家半导体公司成为ARM公司的合作伙伴,其中包括Iniel、IBM、LG、半导体、NEC、SONY、菲利浦和国民半导体这样的大公司。

因此,基于ARM技术的微处理器己经遍及工业控制、无线通信、消费电子、网络系统等各类市场,占据了犯位RISC微处理器绝大多数的市场份额。

基于ARM体系结构的处理器当前包括以下几个系列:

ARM7、ARMg、ARMgE、ARM10E、SeeureCore、ARMll、Intel的Xscale、StrongARM。

其中本次设计采用的PXA270处理器就是Iniel公司开发的xscale系列的处理器。

624MHz处理器是比较高级的处理器,可在312MHz、4i6MHZ、520MHZ和等不同的时钟频率下运行ll]。

PXA270处理器内置了Intel的无线MMX技术,能够显著的提升多媒体性能,此外PXA270也包含了Intol的SpeedsteP技术,能够根据需要动态调节cPu的性能,真正实现了低功耗,高性能。

同其他XScale处理器一样,支持多种嵌入式操作系统,如Linux、windows、winCE、Nueleus、Palm05、vxworks等。

另外,在处理器内部结构上,主系统总线将Inielxseale内核、LCD控制器、USB主机控制器、DMA控制器和存储控制器连接起来,其中存储控制器控制处理器与各种外部存储器的通信,片内外设通过DMA控制器与处理器通信。

2.2WindowsCE.NET操作系统概述

2.2.1什么是WindowsCE.NE

WincdowsCE.NET是一种抢先式多任务并具有很强大功能的32位操作系统,支持X86、PowerPC、ARM、MIPS等多种CPU构建的硬件平台,是微软专门为信息设备,消费类电子,移动应用,嵌入式应用等非PC类领域从头设计的战略性操作系统产品。

WindowsCE.NET中的CE包含了比较深刻的含义,其中C代表了消费类(Consumer)、袖珍(Compact)、(Connection)通信能力和伴侣(Companition),E代表了电子产品(Electronics)。

微软公司早在1996年就推出了WindaowsCE.NET1.0版本之后连续推出了WindaowsCE.NET2.0、WindaowsCE.NET3.0、WindaowsCE.NET4.0、WindaowsCE.NET4.2以及WindaowsCE.NET5.0,目前最高的版本是WindaowsCE.NET6.0。

而在WindowsCE之后的.NET技术又名为“.NETCOMPACTFRAMWORK”精简型的.NETFramwork,是微软将近年来的桌面型操作系统上的.NET架构技术运用在系统资源有限的嵌入式产品中来。

2.2.2WindowsCE.NET的功能特点

Microsoft®Windows®CE.NET是WindowsCE3.0的后续产品,它不仅是一个功能强劲的实时嵌入式操作系统,而且提供了众多强大工具,允许用户利用它快速开发出下一代的智能化小体积连接设备。

借助于完善的操作系统功能和开发工具,WindowsCE.NET为开发人员提供了构建、调试和部署基于WindowsCE.NET的定制设备所需的一切特性。

平台开发工具PlatformBuilder是一个完全集成的开发环境(IDE),并且包括一个软件开发工具包(SDK)导出工具。

因此它具有比之前版本更有效的特点,具体来说详见以下特点。

WindowsCE.NET支持MicrosofteMbeddedVisualC++®和MicrosoftVisualStudio®.NET,为面向Microsoft.NETCompactFramwork的Web服务和应用程序开发提供了一个完整的开发环境。

利用这些工具,开发人员可以迅速开发出能够在最新硬件上运行各种应用程序的智能化设计。

作为最新版本,WindowsCE.NET对WindowsCE先前版本的强大功能进行了进一步的扩充和丰富,它提供了:

对安全和可伸缩网络的支持、得到增强的实时处理能力、更为优秀的性能表现、更为丰富的多媒体和Web浏览功能、与个人计算机、服务器、Web服务以及其它设备更为出色的互操作性。

2.3WindowsCE.NET的相关开发工具

2.3.1PlatformBuilders5.0介绍

PlatformBuilder5.0是微软公司提供的基于WinCENET平台下嵌入式操作系统定制的集成开发环境,提供了所有进行设计、创建、编译、下载和测试WinCENET操作系统平台的工具。

开发人员可以通过交互式的环境来设计和定制内核、选择系统特性,然后进行编译和测试。

同时,还可以进行驱动程序开发和应用程序项目的开发等等。

具体来说,PB5.0提供的主要开发特性如下:

1.创建开发平台向导和BSP开发向导:

用来引导开发人员去创建一个新的系统平台或BSP(板卡支持包)。

2.目录:

列出了可以用来定制一个平台的操作系统特性。

3.导出向导:

可以向其他用户导出自定义的目录特性。

4.导出SDK向导:

用于导出一个定制的软件开发工具包(SD殉。

5.依赖性检查:

能保证支撑一个平台的所需特性可以被包含到操作系统镜像中来。

6.WindowsCETest(测试工具包):

用于驱动程序的测试。

7.内核测试器:

用于测试一个定制的操作系统镜像。

8.应用程序测试器:

用于在一个定制的操作系统镜像上测试应用程序。

9.仿真器(Emulator):

允许用户在开发工作站上对平台和应用程序进行测试,简化了系统开发流程,缩短了开发时间。

10.远程工具:

可执行同基于windowsCE.NET的目标设备有关的各种测试任务和信息收集任务。

2.3.2EmbeddedVisualC++4.0介绍

EmbeddedVisualc++是微软公司提供的开发嵌入式应用软件的平台,它是visualC++的子集,EVC和Windows下的VC在界面、语法和开发流程基本一样,EVC的编程也是WINN32的编程,支持WINAPI中的大部分函数,熟悉VC的人很快就会使用EVC进行开发。

EVC和PlatformBuilder的不同之处在于PlatformBuilder针对的是操作系统的定制,编译目标是整个05的内核,虽然PlatformBuilder也能开发应用程序,但是这些应用程序是作为整个系统的一部分而存在,编译时还是以一个操作系统为单位;EVC针对的是应用软件开发,特定操作系统的SDK就已经为它提供了系统的运行环境,因此它编译的单位是一个应用程序。

因此,针对于应用程序的开发、编译和测试,在EVC中完成往往是高效的、合理的。

3.系统概要设计

3.1系统的整体结构

3.1.1系统的定制

首先所需winCE系统内核的定制,通过PlatformBuilders5.0来定制自己所需要的系统内核,根据自己程序设计时所用到的win32程序的接口,以及用到的库函数,类库,各种所需要的驱动,例如USB驱动,屏幕显示驱动,鼠标驱动,键盘驱动等,来定制自己所需要的系统内核,系统不必过于繁琐,达到自己所需要的功能即可,因为我们所强调的是嵌入式,嵌入式是以方便为前提的,定制的系统是以简洁方便为目的的,具体的定制细节我们在第四章将会详细介绍。

3.1.2程序的编写

其次是针对自己定制的系统编写项目程序,我们在此过程中用到的工具是MicrosofteMbeddedVisualC++,我们在EVC环境下,选择标准SDK环境,然后在标准模拟器上进行编写调试程序。

程序的名称是《贪吃蛇游戏》,采用的是VC++语言,MFC微软基础类库环境的单文档窗体。

程序的大体思想是:

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

那么,我们怎么判断蛇头前进的方向呢?

这个问题的解决方式是,在定义snake类的同时,定义了一个私有变量Direction为蛇动态前进的方向,而每次Timer()刷新时,动态的根据键盘响应函数来判断前进方向,并同时给Direction赋值,这样每次刷新的同时Direction为四个方向(上、下、左、右)其中的一个方向,蛇头前进的方向在此时已经确定,这样就动态的根据输入的键盘值来改变蛇的前进方向,我们就可以控制蛇的移动啦!

最后,在蛇动态效果显示出来的同时,我们也应该考虑到蛇的生命周期问题,就是蛇在什么情况下会死亡,在什么情况下会得分,在什么情况下会自身长度增加等一系列相关问题。

这里我们首先考虑到一个十分重要的问题,就是蛇遇到食物(这里我们用一个蓝色的小矩形表示蛇的食物苹果)同时,将食物吃掉并且动态自身增加一节,这里我们是这样实现的:

首先实现的是食物的随机出现,在某个食物被吃掉的同时,我们要立即产生出下一个食物的坐标,我们用到的是一个随机函数产生出下一个食物的坐标,但是这个坐标必须仅仅在0—23之间,因为我们地图采用的是一个24维的二维数组表示的,地图每个横坐标纵坐标的范围是0—23,但是,这里注意一个特别重要的问题,就是每次随机产生的食物坐标不能出现在当前蛇身上,我们必须加一个判断,如果产生的坐标在蛇身上,必须重新生成,一直到产生一个在地图上并且不在蛇身上的食物坐标为止;当蛇头坐标的下一个前进方向的坐标和食物坐标相等

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 日语学习

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

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