【正文】
要的問題,就是每次隨機(jī)產(chǎn)生的食物坐標(biāo)不能出現(xiàn)在當(dāng)前蛇身上,我們必須加一個(gè)判斷,如果產(chǎn)生的坐標(biāo)在蛇身上,必須重新生成,一直到產(chǎn)生一個(gè)在地圖上并且不在蛇身上的食物坐標(biāo)為止;當(dāng)蛇頭坐標(biāo)的下一個(gè)前進(jìn)方向的坐標(biāo)和食物坐標(biāo)相等時(shí),我們?cè)谶@里是將食物坐標(biāo)改變成當(dāng)前蛇頭坐標(biāo),并且蛇尾坐標(biāo)不變,蛇身長(zhǎng)度增加一個(gè)單位,這樣就動(dòng)態(tài)的現(xiàn)實(shí)出來蛇吃食物自身增加一個(gè)的效果。程序的大體思想是:采用一個(gè)二維數(shù)組(這里我們采用的是24*24的整形數(shù)組)作為貪吃蛇游戲的背景地圖,數(shù)組的每個(gè)值代表地圖上每個(gè)小矩形,而每個(gè)小矩形連續(xù)組成貪吃蛇的蛇身,在程序初始化窗體時(shí)候調(diào)用這個(gè)函數(shù),刷新出程序的背景地圖;程序貪吃蛇的蛇身用一個(gè)Cpoint 類的一位連續(xù)數(shù)組,Cpoint類是一個(gè)結(jié)構(gòu)體類型,結(jié)構(gòu)體類型里包含著兩個(gè)整形參數(shù)x和y 代表的是屏幕窗體上的某一個(gè)對(duì)應(yīng)的點(diǎn)的坐標(biāo),我們?cè)诘弥c(diǎn)的坐標(biāo)的同時(shí),就明確了對(duì)應(yīng)二維數(shù)組地圖上的某個(gè)矩形區(qū)域的坐標(biāo)值,這樣用Cpoint類的一位數(shù)組我們可以存放蛇身的每個(gè)節(jié)點(diǎn)的坐標(biāo),于此同時(shí),我們?cè)诔绦騭nake類里面設(shè)定蛇頭和蛇尾的坐標(biāo)變量、蛇身長(zhǎng)度的坐標(biāo)變量,這樣在程序調(diào)用Timer()系統(tǒng)函數(shù)定時(shí)刷新時(shí),每次刷新只需要改變蛇頭和蛇尾的坐標(biāo)即可,每次刷新時(shí),根據(jù)舍身前進(jìn)方向判斷下一個(gè)頭節(jié)點(diǎn)的坐標(biāo)值,然后添加到Cpoint類定義的蛇身節(jié)點(diǎn),而蛇尾節(jié)點(diǎn)坐標(biāo)值是前一個(gè)狀態(tài)的倒數(shù)第二個(gè)節(jié)點(diǎn),然后調(diào)用庫函數(shù)FillSolildRect()函數(shù)刷新頭節(jié)點(diǎn)為蛇的自身顏色,而尾節(jié)點(diǎn)是地圖背景顏色,這樣我們?cè)谕庥^看起來就是蛇身前進(jìn)的效果。 程序的編寫其次是針對(duì)自己定制的系統(tǒng)編寫項(xiàng)目程序,我們?cè)诖诉^程中用到的工具是Microsoft eMbedded Visual C++,我們?cè)贓VC環(huán)境下,選擇標(biāo)準(zhǔn)SDK環(huán)境,然后在標(biāo)準(zhǔn)模擬器上進(jìn)行編寫調(diào)試程序。因此,針對(duì)于應(yīng)用程序的開發(fā)、編譯和測(cè)試,在EVC中完成往往是高效的、合理的。 EmbeddedVisual C++ EmbeddedVisualc++是微軟公司提供的開發(fā)嵌入式應(yīng)用軟件的平臺(tái),它是visualC++的子集,EVC和Windows下的VC在界面、語法和開發(fā)流程基本一樣,EVC的編程也是WINN32的編程,支持WIN API中的大部分函數(shù),熟悉VC的人很快就會(huì)使用EVC進(jìn)行開發(fā)。(Emulator):允許用戶在開發(fā)工作站上對(duì)平臺(tái)和應(yīng)用程序進(jìn)行測(cè)試,簡(jiǎn)化了系統(tǒng)開發(fā)流程,縮短了開發(fā)時(shí)間。:用于測(cè)試一個(gè)定制的操作系統(tǒng)鏡像。:能保證支撐一個(gè)平臺(tái)的所需特性可以被包含到操作系統(tǒng)鏡像中來。:可以向其他用戶導(dǎo)出自定義的目錄特性。具體來說,::用來引導(dǎo)開發(fā)人員去創(chuàng)建一個(gè)新的系統(tǒng)平臺(tái)或BSP(板卡支持包)。開發(fā)人員可以通過交互式的環(huán)境來設(shè)計(jì)和定制內(nèi)核、選擇系統(tǒng)特性,然后進(jìn)行編譯和測(cè)試。作為最新版本,Windows CE .NET 對(duì)Windows CE 先前版本的強(qiáng)大功能進(jìn)行了進(jìn)一步的擴(kuò)充和豐富,它提供了:對(duì)安全和可伸縮網(wǎng)絡(luò)的支持、得到增強(qiáng)的實(shí)時(shí)處理能力、更為優(yōu)秀的性能表現(xiàn)、更為豐富的多媒體和Web瀏覽功能、與個(gè)人計(jì)算機(jī)、服務(wù)器、Web服務(wù)以及其它設(shè)備更為出色的互操作性。 .NET, Compact Framwork的Web 服務(wù)和應(yīng)用程序開發(fā)提供了一個(gè)完整的開發(fā)環(huán)境。Windows CE .NET 支持Microsoft eMbedded Visual C++174。平臺(tái)開發(fā)工具Platform Builder是一個(gè)完全集成的開發(fā)環(huán)境(IDE),并且包括一個(gè)軟件開發(fā)工具包(SDK)導(dǎo)出工具。 CE .NET是Windows CE ,它不僅是一個(gè)功能強(qiáng)勁的實(shí)時(shí)嵌入式操作系統(tǒng),而且提供了眾多強(qiáng)大工具,允許用戶利用它快速開發(fā)出下一代的智能化小體積連接設(shè)備。 Windows Microsoft174。微軟公司早在1996年就推出了Windaows 、Windaows 、Windaows 、Windaows ,目前最高的版本是Windaows 。 Wincdows ,支持X8PowerPC、ARM、MIPS等多種CPU構(gòu)建的硬件平臺(tái),是微軟專門為信息設(shè)備,消費(fèi)類電子,移動(dòng)應(yīng)用,嵌入式應(yīng)用等非PC類領(lǐng)域從頭設(shè)計(jì)的戰(zhàn)略性操作系統(tǒng)產(chǎn)品。同其他XScale處理器一樣,支持多種嵌入式操作系統(tǒng),如Linux、windows、winCE、Nueleus、 Palm0vxworks等。624MHz處理器是比較高級(jí)的處理器,可在312MHz、4i6MHZ、520MHZ和等不同的時(shí)鐘頻率下運(yùn)行l(wèi)l]。基于ARM體系結(jié)構(gòu)的處理器當(dāng)前包括以下幾個(gè)系列:ARMARMg、ARMgE、ARM10E、SeeureCore、ARMll、Intel的Xscale、StrongARM。目前,有30多家半導(dǎo)體公司成為ARM公司的合作伙伴,其中包括Iniel、IBM、LG、半導(dǎo)體、NEC、SONY、菲利浦和國(guó)民半導(dǎo)體這樣的大公司。 PXA270S270處理器介紹PXA270處理器屬于ARM處理器,既可以把它看做一個(gè)公司的名字,也可以認(rèn)為是對(duì)一系列微處理器的通稱。第五章是講述了如何向PXA270S開發(fā)板燒寫wince系統(tǒng),本章是基于自己在設(shè)計(jì)過程中遇到的問題而進(jìn)行的詳細(xì)解析和燒寫步驟。其中內(nèi)核生成包含了內(nèi)核定制、編譯和加載,本次設(shè)計(jì)也專門定制了符合開發(fā)平臺(tái)的windowsCEnet內(nèi)核。第三章介紹了利用Windows ,論文本章介紹了項(xiàng)目開發(fā)的基本框架,以及整體開發(fā)流程。 第一章是論文的緒論部分,包括引言部分和論文章節(jié)介紹,還有有關(guān)嵌入式領(lǐng)域的國(guó)內(nèi)外發(fā)展情況簡(jiǎn)介。2. 研究在EVC(EmebededVisua1C++)開發(fā)工具下,貪吃蛇游戲的開發(fā)思想,以及貪吃蛇游戲程序編寫。PXA270S開發(fā)試驗(yàn)箱作為嵌入式硬件基礎(chǔ)。 隨著嵌入式領(lǐng)域的發(fā)展,各種嵌入式小游戲現(xiàn)階段已經(jīng)成為一種流行,基于此,本論文在嵌入式技術(shù)背景下,開發(fā)基于嵌入式wince 。同傳統(tǒng)的通用計(jì)算機(jī)系統(tǒng)不同,嵌入式系統(tǒng)面向特定應(yīng)用領(lǐng)域,根據(jù)應(yīng)用需求定制開發(fā),并隨著智能化產(chǎn)品的普遍需求滲透到各行各業(yè)。2003年全球嵌入式軟件市場(chǎng)規(guī)模達(dá)到346億美元,2003年中國(guó)市場(chǎng)規(guī)模達(dá)到188億元,預(yù)計(jì)到2006年嵌入式軟件市場(chǎng)規(guī)模將突破400億元大關(guān),20032006年均復(fù)合增長(zhǎng)率將達(dá)到30%。嵌入式軟件產(chǎn)業(yè)發(fā)展迅猛,已成為軟件體系的重要組成部分。因此,我國(guó)軟件同仁應(yīng)該牢牢抓著這一大好機(jī)遇,找準(zhǔn)出擊點(diǎn),在IP軟件、JAVA應(yīng)用和無線網(wǎng)絡(luò)等新一輪嵌入式軟件技術(shù)上,下大力,沖刺一翻,這樣定能使我國(guó)軟件技術(shù)大上一個(gè)臺(tái)階,從而為發(fā)展我國(guó)經(jīng)濟(jì)做出應(yīng)有的貢獻(xiàn)。后PC時(shí)代,既非PC信息設(shè)備大顯神通的時(shí)代,嵌入式系統(tǒng)正是非PC設(shè)備的主體,由于其應(yīng)用推廣、領(lǐng)域特色突出,誰也無力獨(dú)吞這一市場(chǎng)。由于諸多原因,我國(guó)計(jì)算機(jī)行業(yè)未能趕上世界范圍軟件技術(shù)發(fā)展的前幾次機(jī)遇;當(dāng)我們意識(shí)到應(yīng)組織發(fā)展本國(guó)軟件產(chǎn)業(yè)時(shí),微軟已在PC軟件上處世界壟斷地位,我們只得在軟件漢化小范圍徘徊,對(duì)計(jì)算機(jī)系統(tǒng)軟件雖偶有出擊,總難沖出重圍。數(shù)字機(jī)頂盒在歐洲和亞洲的日益普及將帶動(dòng)這一增長(zhǎng)。據(jù)美國(guó)市場(chǎng)調(diào)研廠商InStat/MDR公司于2004年8月11日表示,隨著數(shù)字機(jī)頂盒在歐洲和亞洲的不斷普及,來自嵌入在數(shù)字機(jī)頂盒中的軟件(包括嵌入式操作系統(tǒng)和中間件)的銷售在未來4年內(nèi)將增長(zhǎng)2倍。硬件是支撐,軟件是靈魂,幾乎所有的嵌入式產(chǎn)品中都需要嵌入式軟件來提供靈活多樣、而且應(yīng)用特制的功能。 進(jìn)入90年代以來,以計(jì)算機(jī)技術(shù)、通信技術(shù)和軟件技術(shù)為核心的信息技術(shù)取得了更加迅猛的發(fā)展,各種裝備與設(shè)備上嵌入式計(jì)算與系統(tǒng)的廣泛應(yīng)用大大地推動(dòng)了行業(yè)的滲透性應(yīng)用。目前嵌入式行業(yè)在中國(guó)得到了有效發(fā)展,但是規(guī)模相應(yīng)的還與國(guó)際上有很大的差距,因此,為了能夠讓大家對(duì)基于嵌入式wince開發(fā)游戲得到有效的理解,本論文以貪吃蛇游戲?yàn)樵敿?xì)的例子,完整的闡述了嵌入式游戲的開發(fā)流程,以及演示結(jié)果,還有中間特別要注重的難點(diǎn)疑點(diǎn)的解析。針對(duì)此問題,必須對(duì)原適用于PC上的游戲引擎做出修改,才能使其在嵌入式系統(tǒng)中成功的運(yùn)行。它們可以運(yùn)行很多相同的應(yīng)用程序。通常它們采用那些功能并不強(qiáng)大的CPU,這也是開發(fā)者不得不盡可能地壓縮嵌入式系統(tǒng)性能的原因。Snakegame目錄目錄 3 5 5 5 7 7 7 8 PXA270S270處理器介紹 8 9 9 Windows 9 10 10 EmbeddedVisual C++ 11 11 11 系統(tǒng)的定制 11 程序的編寫 11 13 14 系統(tǒng)所需要的軟件 14 ClassWizard(類向?qū)В┖?jiǎn)介 14 16 定制winCE內(nèi)核 16 winCE內(nèi)核定制原理以說明 16 winCE內(nèi)核定制 17 貪吃蛇游戲詳細(xì)設(shè)計(jì)開發(fā) 17 貪吃蛇游戲的可行性分析 17 貪吃蛇游戲的需求分析 18 貪吃蛇游戲的總體功能圖 19 貪吃蛇游戲的實(shí)現(xiàn)的功能模塊 19 貪吃蛇游戲的主要功能設(shè)計(jì)思路 20 貪吃蛇游戲程序流程圖 22 貪吃蛇游戲主要類及成員變量 22 貪吃蛇游戲界面的實(shí)現(xiàn) 24 貪吃蛇游戲主要代碼說明 25 winCE內(nèi)核下載 27 燒寫系統(tǒng)所需資源 27 燒寫系統(tǒng)步驟 27 34 系統(tǒng)整合 34 系統(tǒng)整體測(cè)試 35 系統(tǒng)規(guī)則測(cè)試 35 按鍵功能測(cè)試 36 分?jǐn)?shù)和關(guān)卡測(cè)試 40總結(jié)與展望 41致謝 42參考文獻(xiàn)和注釋 43外文資料翻譯及原文 44翻譯原文 44翻譯譯文 51貪吃蛇游戲是一種非常經(jīng)典的計(jì)算機(jī)小游戲,在過去的計(jì)算機(jī)發(fā)展的幾十年中,貪吃蛇游戲深受廣大兒童的喜愛,它的開發(fā)標(biāo)志著以計(jì)算機(jī)為基礎(chǔ)的小游戲的領(lǐng)域的來臨,特別是廣大兒童小時(shí)候玩的游戲機(jī)上的賽車,貪吃蛇游戲,乒乓球等,這些小游戲都深受著人們的喜愛。Key words:, EVC++, ,The design process will detail the main part of this thesisSoftware used in this paper is to EVC + + development platform design process, Eat snake game, master the entire embedded development process, also introduced an embedded development process based on winCE to introduce beginners to the developmentGiven gap.Still in its infancy, relative to the . and other developed countries, many of the key technologies embedded world is we are all learning from abroad關(guān)鍵詞:、EVC++、 、嵌入式系統(tǒng)、貪吃蛇游戲、內(nèi)核定制Development based on embedded winCE Snake gameAbstractInto the years of puter technology in China has made rapid development, also will develop embedded field.整個(gè)設(shè)計(jì)流程將在本論文主體部分進(jìn)行詳細(xì)的敘述。本文基于此,嘗試設(shè)計(jì)了基于嵌入式winCE開發(fā)的一款貪吃蛇游戲,主要目的是通過開發(fā)嵌入式貪吃蛇游戲,掌握嵌入式開發(fā)的整個(gè)過程,同時(shí)介紹基于winCE嵌入式開發(fā)的詳細(xì)設(shè)計(jì)步驟,向初學(xué)者介紹開發(fā)基于winCE方面嵌入式程序的整個(gè)框架流程?;谇度胧絯inCE開發(fā)的貪吃蛇游戲摘要進(jìn)年來計(jì)算機(jī)技術(shù)在中國(guó)取得了突飛猛進(jìn)的發(fā)展,嵌入式領(lǐng)域也隨之發(fā)展起來。然而,嵌入式在中國(guó)仍然處于初級(jí)階段,相對(duì)美國(guó)等發(fā)達(dá)國(guó)家,嵌入式領(lǐng)域的很多關(guān)鍵技術(shù)都是我們都是從國(guó)外引進(jìn)學(xué)習(xí)的,我們并沒有從根本上解決技術(shù)難點(diǎn),也沒有這方面取得的突破性進(jìn)展,和國(guó)外的發(fā)達(dá)國(guó)家還有一定的差距。本論文軟件方面采用的是EVC++,硬件方面采用的是PXA270S實(shí)驗(yàn)開發(fā)箱。從定制自己所需的winCE系統(tǒng)、運(yùn)用MFC基于對(duì)話框的C++語言編寫貪吃蛇游戲源代碼到最終下載程序到實(shí)驗(yàn)開發(fā)板的整個(gè)過程都做了很詳細(xì)的介紹。However, embedded in China, And we do not fundamentally solve the technical difficulties, there is no breakthrough made in this regard, there is a developed country and abroad Based on this, try to design embedded winCE based on the development of a Snake game, the main purpose is to develop embedded corruptionwinCE regard the overall framework of the process embedded program.For system customization, hardware PXA270S is used in experimental development box.Narrative. embedded systems,與此同時(shí),隨著計(jì)算機(jī)技術(shù)的快速發(fā)展,嵌入式技術(shù)也相應(yīng)的取得了突破性的進(jìn)展,嵌入式設(shè)備正日益滲透到人們的日常生活中,默默地為我們提供連接和服務(wù),嵌入式設(shè)備往往是一個(gè)資源有限的系統(tǒng),它們追求的是在有限的價(jià)格上滿足一定的功能性要求。最初的嵌入式設(shè)備是單一用途的,它們擁有各自獨(dú)特的顯示方式和用戶界面,而今天它