




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、. . . . 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)題目:基于C語(yǔ)言的貪吃蛇游戲開(kāi)發(fā)與設(shè)計(jì) 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)中文摘要 伴隨著科學(xué)技術(shù)的發(fā)展,人們都渴望在不工作的時(shí)候有一些娛樂(lè)活動(dòng),而貪吃蛇這一款游戲正好符合大眾的心理。所以,為了迎合許多用戶(hù)的需求,才開(kāi)發(fā)了這款叫做貪吃蛇的小游戲,并且這款小游戲適合各階層人士,此外它還具有很強(qiáng)的娛樂(lè)性和交互性。這款游戲之所以叫貪吃蛇,其真正用意并不是告訴人們要貪心,它所傳遞的精神是人們只有不斷努力地向前才能得到自己想要的,食物就像現(xiàn)在社會(huì)存在的機(jī)會(huì),而人們只有找好自己的目標(biāo)才能成功。盡管現(xiàn)在市面上存在的游戲版本很多,可是貪吃蛇的市場(chǎng)還是很大的。原因就在與它能引人入深,愛(ài)
2、不釋手。隨著游戲速度的逐漸加快,其刺激性也更強(qiáng)??梢哉f(shuō)該游戲的優(yōu)勢(shì)不僅在于它的簡(jiǎn)單易行,而且在于它很快順利的運(yùn)行。對(duì)于那些在外忙忙碌碌的人們,想讓他們花費(fèi)大量的時(shí)間在大型游戲上顯然是不可能的,但是小游戲卻剛好能夠迎合他們的需求。論文首先簡(jiǎn)單介紹了開(kāi)發(fā)工具,然后從需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)等方面介紹了貪吃蛇游戲的設(shè)計(jì)與實(shí)現(xiàn)過(guò)程,最后給出了貪吃蛇的運(yùn)行與測(cè)試情況。關(guān)鍵詞貪吃蛇 ;C語(yǔ)言;函數(shù);游戲畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)外文摘要Title Design of gluttonous snake game based on C languageAbstract With th
3、e development of science and technology ,many people are eager to have some entertainment activities when they do not need to work,and gluttonous snake game cater to the psychology of the masses exactly.In order to cater to the demands of many users, we develop the little game called gluttonous snak
4、e .whats more, the game is not noly suitable for people from all works of life, but it has also strong entertainment and interaction. The reason why the game called gluttonous snake is not that it asks us to be greedy but to do our best to work hard in order to get what we want. The food that the sn
5、ake eats just like opportunity and We only have to find their own goals to succeed. Althrough there are many of version of the game on the market,but the market of the game is still very large.The reason is that it does not make us to put it down. With the gradual speed up the game speed, the irrita
6、tion is also stronger. The advantage of this game can be said is that it's not only easy, but also that it will soon run smoothly. For those people outside the busy, want them to spend a lot of time on the big game is obviously impossible, but the small game is just to cater to their needs.Keywo
7、rdgluttonous snake,C language,function,game目 錄前言 1第一章 概述 41.1中國(guó)手機(jī)游戲產(chǎn)業(yè)現(xiàn)狀41.2中國(guó)手機(jī)游戲的產(chǎn)業(yè)局勢(shì)與其種類(lèi)的多元化51.3中國(guó)手機(jī)游戲的未來(lái)展望7第二章 開(kāi)發(fā)工具的簡(jiǎn)介 92.1 VisualC+6.0簡(jiǎn)介92.2 VisualC+6.0安裝102.3 Visual C+ 6.0開(kāi)發(fā)過(guò)程12第三章 需求分析 133.1可行性分析133.2 功能性分析13第四章 概要設(shè)計(jì) 164.1功能介紹164.2概要設(shè)計(jì)圖16 第五章 詳細(xì)設(shè)計(jì) 185.1程序設(shè)計(jì)分析185.2主要函數(shù)195.3主要代碼195.4其他函數(shù)代碼30第六章
8、 運(yùn)行與測(cè)試 356.1 運(yùn)行程序356.2程序的調(diào)試與測(cè)試 37第七章 結(jié)論 40致42參考文獻(xiàn)43附錄A 44- 57 - / 61前言C語(yǔ)言是目前世界上流行、使用最廣泛的高級(jí)程序設(shè)計(jì)語(yǔ)言。C語(yǔ)言對(duì)操作系統(tǒng)和系統(tǒng)使用程序以與需要對(duì)硬件進(jìn)行操作的場(chǎng)合,用C語(yǔ)言明顯優(yōu)于其它高級(jí)語(yǔ)言,許多大型應(yīng)用軟件都是用C語(yǔ)言編寫(xiě)的。C語(yǔ)言具有繪圖能力強(qiáng),可移植性,并具備很強(qiáng)的數(shù)據(jù)處理能力,因此適于編寫(xiě)系統(tǒng)軟件,三維,二維圖形和動(dòng)畫(huà)它是數(shù)值計(jì)算的高級(jí)語(yǔ)言。常用的編譯軟件有Microsoft Visual C+,Borland C+,Watcom C+ ,Borland C+, Borland C+ Build
9、er,Borland C+ 3.1 for DOS,Watcom C+ 11.0 for DOS,GNU DJGPP C+, Lccwin32 C Compiler 3.1,Microsoft C,High C,等等.C語(yǔ)言的發(fā)展歷史C語(yǔ)言的發(fā)展頗為有趣。它的原型ALGOL 60語(yǔ)言。1963年,劍橋大學(xué)將ALGOL 60語(yǔ)言發(fā)展成為CPL(Combined Programming Language)語(yǔ)言。1967年,劍橋大學(xué)的Matin Richards 對(duì)CPL語(yǔ)言進(jìn)行了簡(jiǎn)化,于是產(chǎn)生了BCPL語(yǔ)言。1970年,美國(guó)貝爾實(shí)驗(yàn)室的Ken Thompson將BCPL進(jìn)行了修改,并為它起了一個(gè)有
10、趣的名字“B語(yǔ)言”。意思是將CPL語(yǔ)言煮干,提煉出它的精華。并且他用B語(yǔ)言寫(xiě)了第一個(gè)UNIX操作系統(tǒng)而在1973年,B語(yǔ)言也給人“煮”了一下,美國(guó)貝爾實(shí)驗(yàn)室的D.M.RITCHIE在B語(yǔ)言的基礎(chǔ)上最終設(shè)計(jì)出了一種新的語(yǔ)言,他取了BGPL的第二個(gè)字母作為這種語(yǔ)言的名字,這就是C語(yǔ)言。為了使UNIX操作系統(tǒng)推廣,1977年Dennis M.Ritchie 發(fā)表了不依賴(lài)于具體機(jī)器系統(tǒng)的C語(yǔ)言編譯文本可移植的C語(yǔ)言編譯程序。1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著The C Programming Language,從而使C語(yǔ)言成為目前世界上流行最廣泛
11、的高級(jí)程序設(shè)計(jì)語(yǔ)言。1988年,隨著微型計(jì)算機(jī)的日益普與, 出現(xiàn)了許多C語(yǔ)言版本。由于沒(méi)有統(tǒng)一的標(biāo)準(zhǔn),使得這些C語(yǔ)言之間出現(xiàn)了一些不一致的地方。為了改變這種情況,美國(guó)國(guó)家標(biāo)準(zhǔn)研究所(ANSI)為C語(yǔ)言制定了一套ANSI標(biāo)準(zhǔn), 成為現(xiàn)行的C語(yǔ)言標(biāo)準(zhǔn) 3.C語(yǔ)言的主要特點(diǎn) 。C語(yǔ)言發(fā)展迅速, 而且成為最受歡迎的語(yǔ)言之一, 主要因?yàn)樗哂袕?qiáng)大的功能。許多著名的系統(tǒng)軟件, 如DBASE PLUS、DBASE 都是由C 語(yǔ)言編寫(xiě)的。用C語(yǔ)言加上一些匯編語(yǔ)言子程序, 就更能顯示C語(yǔ)言的優(yōu)勢(shì)了,象PC- DOS 、WORDSTAR等就是用這種方法編寫(xiě)的。C語(yǔ)言的特點(diǎn)1. 簡(jiǎn)潔緊湊、靈活方便C語(yǔ)言一共只有32
12、個(gè)關(guān)鍵字,9種控制語(yǔ)句,程序書(shū)寫(xiě)自由,主要用小寫(xiě)字母表示。它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。 C 語(yǔ)言可以象匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作, 而這三者是計(jì)算機(jī)最基本的工作單元。2. 運(yùn)算符豐富C的運(yùn)算符包含的圍很廣泛,共有種34個(gè)運(yùn)算符。C語(yǔ)言把括號(hào)、賦值、強(qiáng)制類(lèi)型轉(zhuǎn)換等都作為運(yùn)算符處理。從而使C的運(yùn)算類(lèi)型極其豐富表達(dá)式類(lèi)型多樣化,靈活使用各種運(yùn)算符可以實(shí)現(xiàn)在其它高級(jí)語(yǔ)言中難以實(shí)現(xiàn)的運(yùn)算。3. 數(shù)據(jù)結(jié)構(gòu)豐富C的數(shù)據(jù)類(lèi)型有:整型、實(shí)型、字符型、數(shù)組類(lèi)型、指針類(lèi)型、結(jié)構(gòu)體類(lèi)型、共用體類(lèi)型等。能用來(lái)實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)類(lèi)型的運(yùn)算。并引入了指針概念,使程序效率更高。另外C語(yǔ)言
13、具有強(qiáng)大的圖形功能, 支持多種顯示器和驅(qū)動(dòng)器。且計(jì)算功能、邏輯判斷功能強(qiáng)大。4. C是結(jié)構(gòu)式語(yǔ)言結(jié)構(gòu)式語(yǔ)言的顯著特點(diǎn)是代碼與數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦? 便于使用、維護(hù)以與調(diào)試。C語(yǔ)言是以函數(shù)形式提供給用戶(hù)的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語(yǔ)句控制程序流向,從而使程序完全結(jié)構(gòu)化。5. C語(yǔ)法限制不太嚴(yán)格、程序設(shè)計(jì)自由度大一般的高級(jí)語(yǔ)言語(yǔ)法檢查比較嚴(yán),能夠檢查出幾乎所有的語(yǔ)法錯(cuò)誤。而C語(yǔ)言允許程序編寫(xiě)者有較大的自由度。6. C語(yǔ)言允許直接訪問(wèn)物理地址,可以直接對(duì)硬件進(jìn)行操作,因此既具有高級(jí)語(yǔ)言的功能,又具有低級(jí)語(yǔ)言的許多
14、功能,能夠象匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元,可以用來(lái)寫(xiě)系統(tǒng)軟件。7. C語(yǔ)言程序生成代碼質(zhì)量高,程序執(zhí)行效率高一般只比匯編程序生成的目標(biāo)代碼效率低1020%。8. C語(yǔ)言適用圍大,可移植性好C語(yǔ)言有一個(gè)突出的優(yōu)點(diǎn)就是適合于多種操作系統(tǒng), 如DOS、UNIX,也適用于多種機(jī)型。目前游戲的種類(lèi)可謂是多種多樣,從掃雷到魔獸世界數(shù)不勝數(shù),因此,游戲開(kāi)發(fā)平臺(tái)也是非常之多。目前小型游戲使用C語(yǔ)言、Flash,Java等即可實(shí)現(xiàn)。而就大型游戲而言,一般使用幾種語(yǔ)言混合開(kāi)發(fā),比如C+接合腳本預(yù)言。主流語(yǔ)言是C/C+,腳本常用的有Lua和python。有的游戲的腳本語(yǔ)言是
15、開(kāi)發(fā)者自己寫(xiě)的。不那么常用的語(yǔ)言有delphi、java(手機(jī)上常用的)、C#。 至于游戲開(kāi)發(fā)工具個(gè)人認(rèn)為并不重要,VC主要是看重C+的運(yùn)行效率而已。在今后幾年,網(wǎng)絡(luò)游戲開(kāi)發(fā)仍將以C+語(yǔ)言為主,不過(guò)服務(wù)器可能就會(huì)是運(yùn)行LINUX/UNIX的平臺(tái)。第1章 概述 這些年中國(guó)的手機(jī)行業(yè)在硝煙與戰(zhàn)火中度過(guò),拍照手機(jī)、音樂(lè)手機(jī)等各領(lǐng)風(fēng)騷。然而,人們玩得最多的手機(jī) 游戲卻在市場(chǎng)上顯得平淡無(wú)奇,誰(shuí)又曾想到在這看似平常的手機(jī)游戲中卻蘊(yùn)藏著巨大的商機(jī)?近年來(lái),中國(guó)的手機(jī)游戲市場(chǎng)已具雛形,并朝著健康有序的方向發(fā)展。本文通過(guò)對(duì)中國(guó)目前的手機(jī)游戲現(xiàn)存的一些問(wèn)題和發(fā)展方向進(jìn)行了分析,為如何促進(jìn)我國(guó)手機(jī)游戲發(fā)展提出了一些
16、看法和建議。如今,用手機(jī)看新聞、發(fā)、拍照、聊天已不再新鮮,用手機(jī)玩游戲已經(jīng)成為時(shí)下比較流行的一種消遣方式。手機(jī)游戲的發(fā)展離不開(kāi)手機(jī)終端的普與和數(shù)據(jù)服務(wù)的推廣。近幾年來(lái),隨著手機(jī)游戲技術(shù)自身的日益成熟,手機(jī)游戲的巨大商機(jī)開(kāi)始展現(xiàn)在人們面前。現(xiàn)在傳統(tǒng)游戲產(chǎn)業(yè)的商家已經(jīng)開(kāi)始從家用機(jī)游戲、游戲等傳統(tǒng)的游戲領(lǐng)域逐漸向手機(jī)游戲領(lǐng)域擴(kuò),并嘗試與手機(jī)游戲開(kāi)發(fā)商以與服務(wù)提供商進(jìn)行更加緊密地合作,這一切都證明手機(jī)游戲市場(chǎng)已成為目前移動(dòng)領(lǐng)域最具有活力的市場(chǎng)。因此,讓我們來(lái)關(guān)注一下未來(lái)手機(jī)游戲的發(fā)展動(dòng)態(tài)吧!1.1中國(guó)手機(jī)游戲產(chǎn)業(yè)的現(xiàn)狀在中國(guó),手機(jī)游戲產(chǎn)業(yè)的發(fā)展比較緩慢,隨著手機(jī)自身性能的發(fā)展到一個(gè)手機(jī)游戲的普與,經(jīng)歷
17、了較長(zhǎng)的時(shí)間,大概分為三個(gè)階段。第一個(gè)階段是手機(jī)游戲的孕育期。以第一款手機(jī)游戲在諾基亞手機(jī)上誕生的時(shí)候,最早的給手機(jī)用戶(hù)提供消遣,帶來(lái)快樂(lè),從而也拓展了手機(jī)的功能。從那時(shí)候開(kāi)始手機(jī)不再只限于單一的通信。該階段的以普通屏為基礎(chǔ),游戲簡(jiǎn)單,易操作。第二階段是手機(jī)游戲的快速發(fā)展期。隨著彩屏手機(jī)的快速發(fā)展,移動(dòng)終端性能的不斷提高與完善,使游戲和單機(jī)版成為該階段的主流。 此階段的特點(diǎn)是隨著手機(jī)軟硬件功能的加強(qiáng)和游戲容的多樣化,手機(jī)游戲的可視性、娛樂(lè)性和交互性進(jìn)一步得到提高。第三階段是手機(jī)游戲的成熟期。隨著產(chǎn)業(yè)的快速開(kāi)展,大型聯(lián)網(wǎng)游戲?qū)⒊蔀槭謾C(jī)游戲的主流。 經(jīng)過(guò)一些市場(chǎng)調(diào)查,從用戶(hù)在手機(jī)游戲的類(lèi)型選擇上來(lái)
18、看,一半以上的用戶(hù)選擇了益智類(lèi)游戲。由于益智類(lèi)游戲簡(jiǎn)單、易上手,操作時(shí)間短,能夠使手機(jī)用戶(hù)在較短的時(shí)間去消遣,讓用戶(hù)在繁忙的時(shí)候得到放松。從各種手機(jī)游戲下載情況來(lái)看,選擇動(dòng)作類(lèi)游戲和角色扮演類(lèi)游戲的玩家也是比較多的,大概有三分之一的用戶(hù)選擇了它們。其它如冒險(xiǎn)游戲、射擊游戲、策略游戲、棋牌游戲等也較受到手機(jī)用戶(hù)的歡迎。 近年來(lái),在網(wǎng)絡(luò)游戲快速發(fā)展的同時(shí),大型手機(jī)網(wǎng)絡(luò)游戲也隨即而來(lái),更多的種類(lèi)給玩家?guī)?lái)了更多的選擇。與此同時(shí),手機(jī)玩家群體也在不斷的發(fā)生變化,他們更加接受的是隨時(shí)、隨地、隨身的移動(dòng)休閑和娛樂(lè)方式。對(duì)于今后手機(jī)游戲玩家的發(fā)展而言,由于電子游戲、單機(jī)游戲、網(wǎng)絡(luò)游戲等其他平臺(tái)的游戲在近幾年
19、時(shí)間里培養(yǎng)了一批忠實(shí)的職業(yè)玩家,所以這一批玩家將有可能成為手機(jī)游戲用戶(hù)的支柱。1.2中國(guó)手機(jī)游戲的產(chǎn)業(yè)局勢(shì)與其種類(lèi)的多元化1.2.1中國(guó)手機(jī)游戲的產(chǎn)業(yè)鏈?zhǔn)謾C(jī)游戲作為一個(gè)完整的產(chǎn)業(yè)鏈,覆蓋多方合作的力量,主要包括手機(jī)制造商、游戲開(kāi)發(fā)商、服務(wù)提供商和移動(dòng)運(yùn)營(yíng)商等。為了促進(jìn)手機(jī)游戲行業(yè)良性的發(fā)展,保持中國(guó)移動(dòng)通信產(chǎn)業(yè)的持久穩(wěn)定,這些商家必須進(jìn)行不斷的合作。近年來(lái),手機(jī)制造商開(kāi)始與機(jī)芯、操作系統(tǒng)企業(yè)展開(kāi)合作,為手機(jī)游戲創(chuàng)造更好的軟硬件平臺(tái)。由于手機(jī)游戲有巨大商業(yè)潛力,包括盛大、騰訊等公司也紛紛進(jìn)軍這塊領(lǐng)域,他們依靠在網(wǎng)絡(luò)游戲領(lǐng)域積累的人才、資金和技術(shù)優(yōu)勢(shì)來(lái)爭(zhēng)奪該市場(chǎng)。而服務(wù)提供商主要是門(mén)戶(hù)等專(zhuān)業(yè)增值服
20、務(wù)公司,通過(guò)代理來(lái)實(shí)現(xiàn)收益。移動(dòng)運(yùn)營(yíng)商在該產(chǎn)業(yè)鏈條中處于主導(dǎo)地位,他們通過(guò)控制手機(jī)制造商、游戲開(kāi)發(fā)商、服務(wù)提供商三方的力量來(lái)實(shí)現(xiàn)收益。雖然手機(jī)游戲行業(yè)目前在中國(guó)是個(gè)新興業(yè)務(wù),但隨著手機(jī)游戲服務(wù)供應(yīng)商的推廣,特別受到年輕人的追捧。根據(jù)有關(guān)調(diào)查顯示中國(guó)手機(jī)游戲用戶(hù)的數(shù)量在年年底達(dá)到萬(wàn),這將是個(gè)龐大的玩家群體,從而使手機(jī)游戲?qū)⒊蔀橐苿?dòng)運(yùn)營(yíng)商增值業(yè)務(wù)和收入的重要來(lái)源。盡管?chē)?guó)手機(jī)游戲產(chǎn)業(yè)鏈中的各方都欲搶占先機(jī)??墒?,產(chǎn)品、終端、資費(fèi)與服務(wù)等這些問(wèn)題卻已成為制約其發(fā)展的重要障礙。終端的普與度不夠高,游戲的同質(zhì)化和低質(zhì)量問(wèn)題也正困擾著國(guó)手機(jī)游戲市場(chǎng),雖然過(guò)高的資費(fèi)一直被看作阻礙手機(jī)游戲市場(chǎng)發(fā)展的最大障礙,但
21、最為關(guān)鍵的問(wèn)題是不規(guī)的服務(wù)使眾多玩家喪失信心。所以,在巨大的市場(chǎng)面前,中國(guó)手機(jī)游戲的產(chǎn)業(yè)鏈還須進(jìn)一步完善。1.2.2手機(jī)游戲的種類(lèi)與其可玩性下面來(lái)介紹下目前國(guó)手機(jī)游戲一些最常見(jiàn)的種類(lèi):(角色扮演類(lèi))這款游戲無(wú)論是機(jī)還是其他平 臺(tái),都是可玩性非常高的,讓玩家在游戲里選擇自己喜歡的角色,根據(jù)豐富的劇情,讓角色不斷成長(zhǎng),簡(jiǎn)直就像發(fā)生在自己身上一樣。它擁有著大量的擁護(hù)者,像奇跡、傳奇、大話西游、波斯王子等都有過(guò)百萬(wàn)的銷(xiāo)量。隨著手機(jī)網(wǎng)絡(luò)游戲的興起,服務(wù)提供商和移動(dòng)運(yùn)營(yíng)商更加大對(duì)這塊領(lǐng)域的投入,市場(chǎng)前景非常樂(lè)觀。 (動(dòng)作類(lèi))從目前占游戲市場(chǎng)的分量來(lái)看,有著較好的前景,自從被開(kāi)發(fā)以來(lái)就一直受到玩家的好評(píng),不
22、論是在哪個(gè)游戲平臺(tái),不論畫(huà)面是否華麗,你總能看到許多玩家為此著迷。然而,在手機(jī)平臺(tái)上,由于手機(jī)的屏幕,存的容量等特定的因素從而限制它原有的可玩性,這樣也促使手機(jī)制造商更加的去完善手機(jī)的性能。(競(jìng)賽類(lèi))可操作性強(qiáng),讓玩家有超快感,體驗(yàn)賽車(chē)瘋狂的速度,尤其是通過(guò)移動(dòng)網(wǎng)絡(luò)多人競(jìng)賽。而且隨著技術(shù)的發(fā)展,更使這一類(lèi)型游戲畫(huà)面立體感強(qiáng),讓其在手機(jī)游戲的發(fā)展空間更為拓展。 (冒險(xiǎn)類(lèi))屬于一款考驗(yàn)玩家冒險(xiǎn)的精神,敢于挑戰(zhàn)的游戲。在平臺(tái)上取得了巨大的成就。大部分游戲畫(huà)面比較精致流暢,還有動(dòng)聽(tīng)的音樂(lè),使玩家有身臨其境的感覺(jué)。(體育類(lèi))它具有其獨(dú)特的魅力。、實(shí)況、棒球、 高爾夫等等此類(lèi)游戲都有相當(dāng)不錯(cuò)的成績(jī),只是由
23、于各項(xiàng)體育運(yùn)動(dòng)普與度的不同其所占的市場(chǎng)分量也有很大不同。 (益智類(lèi))最適合手機(jī)平臺(tái)的游戲種類(lèi),不需精彩的畫(huà)面、復(fù)雜的操作、浪費(fèi)較長(zhǎng)的時(shí)間,而且操作起來(lái)更容易些,即休閑,同時(shí)又有一定的難度。上手起來(lái)也很簡(jiǎn)單,大多數(shù)擁有手機(jī)的擁護(hù)都會(huì)去嘗試這類(lèi)型的游戲??赏嫘暂^高。目前在手機(jī)平臺(tái)上的發(fā)展趨勢(shì)很樂(lè)觀。 (射擊類(lèi))也是考驗(yàn)操作能力的一款游戲種類(lèi),有著很廣泛的玩家群體。游戲場(chǎng)面更加火爆逼真,戰(zhàn)機(jī)的仿真效果也更進(jìn)一步,給人強(qiáng)烈的視覺(jué)刺激。目前在手機(jī)平臺(tái)上也有很多,只是創(chuàng)新上還是很難,不過(guò)畫(huà)面方面提升的空間還是比較大。(戰(zhàn)略類(lèi))策略類(lèi)的游戲主要是指通過(guò)思考,進(jìn)行策劃。這類(lèi)游戲里還可以細(xì)分為戰(zhàn)爭(zhēng)類(lèi)、經(jīng)營(yíng)類(lèi)等。
24、它的畫(huà)面與操作模式還是滿(mǎn)適合手機(jī)這個(gè)平臺(tái)的,相對(duì)來(lái)說(shuō)玩家群還是較多的,畢竟操作起來(lái)比較簡(jiǎn)單。還有一些特別的游戲種類(lèi),比如通過(guò)音樂(lè),攝像頭、麥克風(fēng)等輸入方式進(jìn)行一種全新的娛樂(lè)的游戲類(lèi)型,在手機(jī)休閑平臺(tái)上還是很有發(fā)展前途。1.3中國(guó)手機(jī)游戲的未來(lái)展望根據(jù)相關(guān)行業(yè)的調(diào)查,年,手機(jī)游戲產(chǎn)業(yè)有了突破性的發(fā)展。年中國(guó)手機(jī)游戲市場(chǎng)規(guī)模超過(guò)億元人民幣,年我國(guó)手機(jī)游戲市場(chǎng)規(guī)模達(dá)到了億元,將有可能上升到億元。由于受網(wǎng)絡(luò)游戲的影響,中國(guó)的手機(jī)網(wǎng)絡(luò)游戲市場(chǎng)也將更加發(fā)展,更多游戲?qū)⒈灰M(jìn)。據(jù)調(diào)查顯示:?jiǎn)螜C(jī)游戲生命周期相對(duì)短,而用戶(hù)對(duì)手機(jī)網(wǎng)絡(luò)游戲的熱情度相對(duì)較高。一款好的“百寶箱”單機(jī)游戲前段時(shí)間還比較興起,過(guò)后即開(kāi)始衰
25、退。但手機(jī)網(wǎng)絡(luò)游戲則不一樣,一款優(yōu)秀的網(wǎng)絡(luò)游戲,不但能吸引大量的玩家,而且其生命力和持久力也是難以估量的。中國(guó)的手機(jī)游戲市場(chǎng)也會(huì)發(fā)展到更大的規(guī)模。勿須質(zhì)疑,在巨大的經(jīng)濟(jì)誘惑面前,互聯(lián)網(wǎng)游戲流行期過(guò)后,很多投資商將更多的傾向于由互聯(lián)網(wǎng)、手機(jī)共同打造的市場(chǎng)。從 “百寶箱”中接近的游戲基本上都是國(guó)產(chǎn)的來(lái)看,站點(diǎn)開(kāi)始成為投資商最關(guān)注的熱點(diǎn)。隨著手機(jī)游戲市場(chǎng)的逐漸成熟,手機(jī)游戲產(chǎn)業(yè)必將出現(xiàn)大量的資源整合。在未來(lái),參與到手機(jī)游戲行業(yè)的游戲開(kāi)發(fā)商將越來(lái)越多,國(guó)手機(jī)游戲廠商將面臨前所未有的競(jìng)爭(zhēng),手機(jī)游戲的質(zhì)量和可玩性也將進(jìn)一步得到提高。在游戲市場(chǎng)的運(yùn)轉(zhuǎn)之下,服務(wù)提供商和游戲運(yùn)營(yíng)商也將會(huì)探索出了適合其發(fā)展的商業(yè)
26、模式。雖然手機(jī)游戲在目前的技術(shù)環(huán)境下還無(wú)法達(dá)到 游戲的魅力,但隨著越來(lái)越多智能手機(jī)、高端手機(jī)的出 現(xiàn),手機(jī)游戲?qū)⒊蔀槿藗兩願(yuàn)蕵?lè)中不可缺少的一部分。因此,手機(jī)游戲行業(yè)正朝著健康有序的方向發(fā)展,相信不久的將來(lái)手機(jī)游戲?qū)⒊蔀橐环N商業(yè)文化。最近幾年來(lái),網(wǎng)絡(luò)特別是無(wú)線通信網(wǎng)絡(luò)在國(guó)的普與速度很快,同時(shí)也帶動(dòng)了網(wǎng)絡(luò)游戲的快速發(fā)展。同樣地,智能手機(jī)的普與,使得手機(jī)游戲市場(chǎng)空前發(fā)展。國(guó)外巨大的手機(jī)使用量,也讓商家看到了新的商機(jī),手機(jī)游戲市場(chǎng)的利潤(rùn)將會(huì)十分的豐厚。面對(duì)潛力巨大的手機(jī)游戲市場(chǎng),各大游戲開(kāi)發(fā)商、運(yùn)營(yíng)商、服務(wù)商以與手機(jī)終端廠商等都開(kāi)始準(zhǔn)備應(yīng)對(duì)措施,以便搶占更多的手機(jī)市場(chǎng)份額,許多手機(jī)廠商開(kāi)始不斷地提升
27、手機(jī)的游戲性能,同時(shí)采用開(kāi)放式的手機(jī)操作系統(tǒng),方便用戶(hù)能夠享受到不同的游戲業(yè)務(wù)。而國(guó)游戲開(kāi)發(fā)商也都紛紛躋身手機(jī)游戲開(kāi)發(fā)行列,許多著名的用戶(hù),也紛紛涉與手機(jī)游戲領(lǐng)域,相繼開(kāi)辟了各自的手機(jī)游戲相關(guān)欄目,其他一些游戲也都加快了手機(jī)游戲開(kāi)發(fā)的腳步。現(xiàn)階段國(guó)的手機(jī)游戲還局限于小型的單機(jī)游戲和簡(jiǎn)單的卡牌類(lèi)游戲,而國(guó)外現(xiàn)在已經(jīng)開(kāi)始致力于開(kāi)發(fā)能夠依靠GPRS定位,或者用戶(hù)佩戴輔助器械的大型手機(jī)游戲。畢業(yè)設(shè)計(jì)依托上述容為技術(shù)和應(yīng)用背景,在windows操作系統(tǒng)下采用Visual C+ 6.0開(kāi)發(fā)工具來(lái)開(kāi)發(fā),主要容如下:1) 熟悉Visual C+ 6.0開(kāi)發(fā)工具,2) 熟練C語(yǔ)言的編程方法3) 熟悉貪吃蛇游戲的
28、應(yīng)實(shí)現(xiàn)的功能第2章 開(kāi)發(fā)工具的簡(jiǎn)介2.1 VisualC+6.0簡(jiǎn)介在本設(shè)計(jì)中,系統(tǒng)開(kāi)發(fā)平臺(tái)為Windows2000,程序設(shè)計(jì)語(yǔ)言為C語(yǔ)言,程序的運(yùn)行環(huán)境為Visual C+ 6.0。Visual C+一般分為三個(gè)版本:學(xué)習(xí)版、專(zhuān)業(yè)版和企業(yè)版,不同的版本適合于不同類(lèi)型的應(yīng)用開(kāi)發(fā)。實(shí)驗(yàn)中可以使用這三個(gè)版本的任意一種,在本設(shè)計(jì)中,以Visual C+ 6.0為編程環(huán)境。 Microsoft Visual C+ 6.0是Microsoft公司的Microsoft Visual Studio 6.0開(kāi)發(fā)工具箱中的一個(gè)C+程序開(kāi)發(fā)包。Visual C+包中除包括C+編譯器外,還包括所有的庫(kù)、例子和為創(chuàng)建
29、Windows應(yīng)用程序所需要的文檔。自1993年Microsoft公司推出Visual C+1.0后,隨著其新版本的不斷問(wèn)世,Visual C+已成為專(zhuān)業(yè)程序員進(jìn)行軟件開(kāi)發(fā)的首選工具。 Visual C+從最早期的1.0版本,發(fā)展到最新的7.0版本,Visual C+已經(jīng)有了很大的變化,在界面、功能、庫(kù)支持方面都有許多的增強(qiáng)。最新的7.0版本在編譯器、MFC類(lèi)庫(kù)、編輯器以與聯(lián)機(jī)幫助系統(tǒng)等方面都比以前的版本做了較大改進(jìn)。 雖然微軟公司推出了Visual C+.NET(Visual C+7.0),但它的應(yīng)用的很大的局限性,只適用于Windows 2000,Windows XP和Windows NT
30、4.0。所以實(shí)際中,更多的是以Visual C+6.0為平臺(tái)。Visual C+ 6.0是Microsoft公司推出的目前使用最廣泛的基于Windows平臺(tái)的可視化編程環(huán)境。Visual C+ 6.0是在以往版本不斷更新的基礎(chǔ)上形成的,由于其功能強(qiáng)大,靈活性好,完全課擴(kuò)展以與具有強(qiáng)大的Internet支持,因而在各種VC+語(yǔ)言開(kāi)發(fā)工具中脫穎而出,成為目前最為流行的VC+語(yǔ)言集成開(kāi)發(fā)環(huán)境。 Visual C+ 6.0秉承Visual C+以前版本的優(yōu)異特性,為用戶(hù)提供了一套良好的可視化開(kāi)發(fā)環(huán)境:主要包括文本編輯器、資源編輯器、工程創(chuàng)建工具、Debugger調(diào)試器等等。用戶(hù)可以在集成開(kāi)發(fā)環(huán)境中創(chuàng)建
31、工程、打開(kāi)工程、建立、打開(kāi)和編輯文件、編譯、運(yùn)行、調(diào)試應(yīng)用程序。2.2 VisualC+6.0安裝1點(diǎn)擊“vc6_cn_full.exe”文件,出現(xiàn)如圖2-1界面;圖2-1 安裝初始界面2.每當(dāng)遇到“下一步”,直接點(diǎn)擊即可;3.點(diǎn)擊“安裝”按鈕,如圖2-2界面;圖2-2 安裝開(kāi)始界面4.點(diǎn)擊“完成”按鈕,即完成Visual C+6.0的安裝,如圖2-3界面。圖2-3 安裝終了界面2.3 Visual C+ 6.0開(kāi)發(fā)過(guò)程Visual C+ 6.0編譯器負(fù)責(zé)將C+源代碼編譯成匯編文件,轉(zhuǎn)換為中間文件(obj文件),然后使用連接器將相關(guān)的中間文件連接在一起,生成可執(zhí)行的二進(jìn)制文件。其過(guò)程如下:1.
32、源程序經(jīng)過(guò)預(yù)處理后交給編譯器。2.如果代碼無(wú)誤,編譯器將代碼生成匯編程序,再生成若干個(gè)目標(biāo)程序(obj文件)。3.器負(fù)責(zé)將目標(biāo)程序進(jìn)行連接,生成可執(zhí)行的程序。第3章 需求分析3.1可行性分析3.1.1 技術(shù)可行性 本系統(tǒng)的設(shè)計(jì)要一個(gè)能在Windows操作系統(tǒng)下運(yùn)行且界面美觀運(yùn)行穩(wěn)定且將來(lái)可能用于嵌入式移植的系統(tǒng)。綜合考慮選擇C語(yǔ)言技術(shù)來(lái)實(shí)現(xiàn)本系統(tǒng)。C語(yǔ)言是一門(mén)成熟的高級(jí)語(yǔ)言,可用于開(kāi)發(fā)各種系統(tǒng),也可用于開(kāi)發(fā)游戲系統(tǒng)。同時(shí)C語(yǔ)言也擁有相當(dāng)多的技術(shù)人員,可以說(shuō)在技術(shù)方面開(kāi)發(fā)此系統(tǒng)不會(huì)有什么問(wèn)題。3.1.2 經(jīng)濟(jì)可行性 隨著手機(jī)和電腦的普與,這樣的小游戲也將隨著普與,因此其需求也將不斷地上升,而且由
33、于技術(shù)的成熟與為數(shù)眾多的開(kāi)發(fā)人員使得此系統(tǒng)的開(kāi)發(fā)并不困難,再者此系統(tǒng)運(yùn)行的平臺(tái)Windows操作系統(tǒng)是免費(fèi)的,所以開(kāi)發(fā)此系統(tǒng)的成本并不會(huì)很高。因此此系統(tǒng)具有相當(dāng)?shù)慕?jīng)濟(jì)利益,到時(shí)候我們也可以靜觀其成。3.1.3 操作可行性本系統(tǒng)是一個(gè)簡(jiǎn)單的游戲系統(tǒng),對(duì)于這樣一個(gè)系統(tǒng),其操作只需要使用簡(jiǎn)單的幾個(gè)按鍵就可以實(shí)現(xiàn)了,因此本系統(tǒng)的操作簡(jiǎn)單易記,可以說(shuō)一看就會(huì)的,系統(tǒng)在操作上是不會(huì)存在問(wèn)題的,本系統(tǒng)需要在Windows操作系統(tǒng)下運(yùn)行,而用戶(hù)也可以在其受益匪淺。3.2 功能性分析游戲是人們生活中不可或缺的一部分,在人的成長(zhǎng)過(guò)程中,游戲時(shí)常陪伴在我們的身邊,它在我們的生活中占據(jù)的地位是不可言喻的。不論是一個(gè)玩
34、具,還是一個(gè)能和伙伴一起開(kāi)心的小游戲,都是能給我們留下美好的回憶。因此,無(wú)論是什么樣的游戲,只要它能迎合人們心的某種需求,它的市場(chǎng)就會(huì)很好。3.2.1簡(jiǎn)單性 貪吃蛇是一個(gè)簡(jiǎn)單的小游戲,但是它的作用卻是很大的。首先它能使我們身心得到很好的放松,使我們從繁重的生活中解脫出來(lái),而只有我們的身心得到了娛樂(lè),我們才能更好地投入到新的工作當(dāng)中,現(xiàn)在許多人,包括已經(jīng)有工作的工作者和未進(jìn)入社會(huì)的學(xué)生,都面臨著很大的壓力,應(yīng)運(yùn)而生地,貪吃蛇提供了我們隨時(shí)隨地享受娛樂(lè)的機(jī)會(huì)。這款游戲之所以叫貪吃蛇,其真正用意并不是告訴我們要貪心,它所傳遞的精神是人們只有不斷努力地向前才能得到自己想要的,食物就像現(xiàn)在社會(huì)存在的機(jī)會(huì)
35、,而我們只有找好自己的目標(biāo)才能成功。盡管現(xiàn)在市面上存在的游戲版本很多,可是貪吃蛇的市場(chǎng)還是很大的。原因就在與它能引人入深,愛(ài)不釋手。隨著游戲速度的逐漸加快,其刺激性也更強(qiáng)??梢哉f(shuō)該游戲的優(yōu)勢(shì)不僅在于它的簡(jiǎn)單易行,而且在于它很快順利的運(yùn)行。對(duì)于那些在外忙忙碌碌的人們,想讓他們花費(fèi)大量的時(shí)間在大型游戲上顯然是不可能的,但是小游戲卻剛好能夠迎合他們的需求。但是它的缺點(diǎn)也主要在它的簡(jiǎn)單性,游戲本身太過(guò)于簡(jiǎn)單,無(wú)法滿(mǎn)足大型游戲主的需求,但是這樣的小游戲主要對(duì)象是針對(duì)那些需要有些小東西來(lái)調(diào)劑生活的人們,給他們的生活帶來(lái)些精彩。3.2.2 趣味性人們可能持有這樣的懷疑:這樣一款小小的游戲,其可玩性應(yīng)該高不到
36、哪里去吧!事實(shí)上對(duì)于大型游戲的玩家這樣一款游戲自然是無(wú)法滿(mǎn)足的??墒俏覀儏s無(wú)法否認(rèn)其趣味性。在經(jīng)過(guò)一天繁忙的工作之后,我們難得有一個(gè)間隙能喘口氣,自然不能浪費(fèi),在不能玩大型游戲的情況下,人們自然而然的就會(huì)想到貪吃蛇這樣的小游戲,不僅不會(huì)占用大量的時(shí)間,而且還能夠讓身心得到充分的休息。言歸正傳,貪吃蛇的趣味究竟在哪里呢?人們開(kāi)始游戲時(shí)從起先的容易,到后來(lái)速度的不斷加快,其可玩性也在不斷地增加。3.2.3國(guó)外研究的現(xiàn)狀最近幾年來(lái),網(wǎng)絡(luò)特別是無(wú)線通信網(wǎng)絡(luò)在國(guó)的普與速度很快,同時(shí)也帶動(dòng)了網(wǎng)絡(luò)游戲的快速發(fā)展。同樣地,智能手機(jī)的普與,使得手機(jī)游戲市場(chǎng)空前發(fā)展。國(guó)外巨大的手機(jī)使用量,也讓商家看到了新的商機(jī),
37、手機(jī)游戲市場(chǎng)的利潤(rùn)將會(huì)十分的豐厚。面對(duì)潛力巨大的手機(jī)游戲市場(chǎng),各大游戲開(kāi)發(fā)商、運(yùn)營(yíng)商、服務(wù)商以與手機(jī)終端廠商等都開(kāi)始準(zhǔn)備應(yīng)對(duì)措施,以便搶占更多的手機(jī)市場(chǎng)份額,許多手機(jī)廠商開(kāi)始不斷地提升手機(jī)的游戲性能,同時(shí)采用開(kāi)放式的手機(jī)操作系統(tǒng),方便用戶(hù)能夠享受到不同的游戲業(yè)務(wù)。而國(guó)游戲開(kāi)發(fā)商也都紛紛躋身手機(jī)游戲開(kāi)發(fā)行列,許多著名的用戶(hù),也紛紛涉與手機(jī)游戲領(lǐng)域,相繼開(kāi)辟了各自的手機(jī)游戲相關(guān)欄目,其他一些游戲也都加快了手機(jī)游戲開(kāi)發(fā)的腳步?,F(xiàn)階段國(guó)的手機(jī)游戲還局限于小型的單機(jī)游戲和簡(jiǎn)單的卡牌類(lèi)游戲,而國(guó)外現(xiàn)在已經(jīng)開(kāi)始致力于開(kāi)發(fā)能夠依靠GPRS定位,或者用戶(hù)佩戴輔助器械的大型手機(jī)游戲。第4章 概要設(shè)計(jì)4.1功能介紹
38、貪吃蛇游戲是一個(gè)經(jīng)典小游戲,一條蛇在封閉圍墻里,圍墻里隨機(jī)出現(xiàn)一個(gè)食物,通過(guò)按鍵盤(pán)四個(gè)光標(biāo)鍵控制蛇向上下左右四個(gè)方向移動(dòng),蛇頭撞倒食物,則食物被吃掉,蛇身體長(zhǎng)一節(jié),同時(shí)記2分,接著又出現(xiàn)食物,等待蛇來(lái)吃,如果蛇在移動(dòng)中身體交叉蛇頭撞倒自己身體游戲結(jié)束。4.2概要設(shè)計(jì)圖通過(guò)對(duì)貪吃蛇的需求分析,我們用C語(yǔ)言實(shí)現(xiàn)該程序概要如下:游戲界面畫(huà)面設(shè)計(jì)蛇構(gòu)造 食物構(gòu)造 蛇的移動(dòng)游戲過(guò)程蛇吃食物貪吃蛇蛇的死亡游戲結(jié)束蛇的死亡添加功能蛇的速度背景音樂(lè)圖4-1 概要設(shè)計(jì)圖4.2.1畫(huà)面設(shè)計(jì)(1)主要是對(duì)邊框、食物、蛇的設(shè)計(jì),起用了一些鏈表和庫(kù)函數(shù);(2)畫(huà)面的啟動(dòng)的問(wèn)題,緊接著就是是畫(huà)面的繪制(3)食物和蛇放在游
39、戲的具體過(guò)程中,因?yàn)槭澄锸请S機(jī)的,而蛇是移動(dòng)的。4.2.2游戲過(guò)程 主要是對(duì)食物和蛇的設(shè)置。在這個(gè)環(huán)節(jié)過(guò)程中有幾個(gè)重要的算法,是程序能否成功地運(yùn)行的關(guān)鍵。其主要有蛇是如何移動(dòng)身體的;蛇怎樣才能吃到食物;隨著游戲得分增加,游戲的等級(jí)也增加,同時(shí)蛇的爬行速度也加快了;怎樣判斷蛇的死亡等。4.2.3游戲結(jié)束 蛇如何死亡蛇死亡后即意味著游戲的結(jié)束4.2.4添加功能(1)在游戲的開(kāi)頭添加“WELCOM TO GAME”的語(yǔ)句,并添加“按任意鍵繼續(xù)”以提示用戶(hù);(2)添加背景音樂(lè)“筷子兄弟小蘋(píng)果”,可以在玩游戲的過(guò)程中,邊玩游戲邊聽(tīng)音樂(lè)。第五章 詳細(xì)設(shè)計(jì)5.1程序設(shè)計(jì)分析開(kāi) 始?xì)g 迎 界 面背 景 音 樂(lè)
40、游 戲 界 面游 戲 過(guò) 程游戲結(jié)束? NY結(jié) 束 游 戲退 出 游 戲結(jié) 束圖5-1 程序設(shè)計(jì)流程圖 這是一個(gè)簡(jiǎn)單的游戲,所以循環(huán)和分支之類(lèi)的函數(shù)在大的面上運(yùn)用較少,主要體現(xiàn)在計(jì)算上,尤其是坐標(biāo)上的計(jì)算較為突出。簡(jiǎn)單易懂,一目了然5.2主要函數(shù):表5-1貪吃蛇主要函數(shù)函數(shù)功能HideCursor()隱藏光標(biāo)GotoRood(int x, int y)光標(biāo)跳躍到(x,y)位置Random(int n)隨機(jī)生成食物BuildSnk(SNAKE *head)構(gòu)造蛇身RemoveSnk(SNAKE *head)清除函數(shù)Move(int *d)控制蛇懂得移動(dòng)IniScreen(SNAKE *head)
41、初始化屏幕CreatFood(FOOD *fd, SNAKE *snk)做蛇的食物,增加一個(gè)的功能就是讓食物不與蛇體發(fā)生沖突CollisionTest(SNAKE *head)碰撞測(cè)試Eated(SNAKE *head, FOOD *fd)蛇是否吃到食物GameOver(SNAKE *head)判斷游戲結(jié)束了沒(méi)gameing()游戲過(guò)程PlaySound()播放背景音樂(lè)5.3主要代碼5.3.1Main()主函數(shù)主函數(shù)是程序的主流程,首先定義使用到的常數(shù)、全局變量與函數(shù)原型說(shuō)明,然后初始化圖形系統(tǒng),調(diào)用函數(shù)gameing(),即玩游戲的具體過(guò)程,游戲結(jié)束后執(zhí)行return 0;語(yǔ)句關(guān)閉圖形系統(tǒng),
42、結(jié)束程序。代碼如下:int main()GotoRood(START_X + SCREEN_WIDTH / 2, START_Y + SCREEN_LENGTH / 2);printf("WELCOM TO GAME");GotoRood(START_X + SCREEN_WIDTH / 2-2, START_Y + SCREEN_LENGTH / 2+10);system("pause"); system("cls");/清除屏幕容PlaySound(TEXT("D:xiaopingguoxiaopingguo.wav&q
43、uot;), NULL, SND_ASYNC | SND_NODEFAULT);while (1)gameing();return 0;程序分析:一般而言,編寫(xiě)一個(gè)能運(yùn)行在操作系統(tǒng)上的程序,都需要一個(gè)主函數(shù)。主函數(shù)意味著建立一個(gè)獨(dú)立進(jìn)程,且該進(jìn)程成為了程序的入口,對(duì)其它各函數(shù)(在某些OOP語(yǔ)言里稱(chēng)作方法,比如Java)進(jìn)行調(diào)用,當(dāng)然其它被調(diào)用函數(shù)也可以再去調(diào)用更多函數(shù).這樣整個(gè)程序的運(yùn)行軌跡就像一種棧,有時(shí)我們稱(chēng)之為調(diào)用棧。主函數(shù)既是程序的入口,又是程序的出口,通常我們還可以指定一個(gè)exit code再退出,以表明程序最后的結(jié)果是什么樣的。自然而然的,這里的main函數(shù)就是貪吃蛇游戲程序的入口
44、函數(shù),通過(guò)該入口函數(shù),進(jìn)而可以調(diào)用gameing()函數(shù),使游戲運(yùn)行起來(lái)5.3.2游戲界面設(shè)計(jì)主界面就是一個(gè)密封的矩形框,在矩形框的左邊是游戲的操作說(shuō)明,在框主要是蛇和食物。游戲邊框流程圖如圖5-2所示。開(kāi) 始定位光標(biāo)(15,4)i=0i<47 N Y畫(huà)上邊圍墻的一個(gè)矩形框畫(huà)下邊圍墻的一個(gè)矩形框i=i+1j=1j<15 N畫(huà)右邊圍墻的一個(gè)矩形框 Y畫(huà)左邊圍墻的一個(gè)矩形框j=j+1結(jié) 束 圖5-2 游戲邊框流程圖代碼如下:void IniScreen(SNAKE *head) /*初始化屏幕*/int i,j;SNAKE *p1, *p2; HideCursor();GotoRood
45、(START_X,START_Y);/*-畫(huà)游戲邊框-*/ for (i = 0; i < SCREEN_WIDTH + 2; i+)printf("-"); for (j = 1; j <= SCREEN_LENGTH; j+)GotoRood(START_X + SCREEN_WIDTH + 1, START_Y + j);printf("|"); GotoRood(START_X, START_Y + SCREEN_LENGTH + 1);for (i = 0; i < SCREEN_WIDTH + 2; i+) printf(&
46、quot;-"); for (j = 1; j <= SCREEN_LENGTH; j+) GotoRood(START_X,START_Y + j); printf("|"); GotoRood(START_X + 20, START_Y - 1); printf("貪吃蛇 唐明"); GotoRood(0,START_Y + 2); printf("游戲說(shuō)明:nn設(shè)置等級(jí)nn按回車(chē)開(kāi)始nnn控制方向n");/*-孵化蛇-*/ head->x = START_X + SCREEN_WIDTH / 2;head-
47、>y = START_Y + 8;head->pre = NULL;p1 = head;i = 0;while (+i < 3)p2 = p1;p1 = (SNAKE *)malloc(sizeof(SNAKE);p1->x = START_X + SCREEN_WIDTH / 2; p1->y = START_Y + 8 + i; p1->end = NULL;p2->next = p1;p1->pre = p2; p1->next = NULL;head->end = p1;程序分析:這里的游戲邊框設(shè)計(jì)的主要思想是利用for循環(huán)語(yǔ)
48、句中的嵌套循環(huán)實(shí)現(xiàn)的。如 for (i = 0; i < SCREEN_WIDTH + 2; i+) printf("-");這句話的意思是畫(huà)出游戲邊框的上邊框,畫(huà)完之后,再通過(guò)GotoRood(START_X + SCREEN_WIDTH + 1, START_Y + j);語(yǔ)句實(shí)現(xiàn)光標(biāo)定位,并且與for (j = 1; j <= SCREEN_LENGTH; j+)語(yǔ)句結(jié)合使用,進(jìn)而畫(huà)出游戲邊框的右邊框。同樣的道理,其他兩個(gè)邊框的實(shí)現(xiàn)也可以用這種方法去實(shí)現(xiàn)。5.3.3 構(gòu)建食物函數(shù)void CreatFood(FOOD *fd, SNAKE *snk) /*
49、做吃的,記得增加一個(gè)功能就是讓食物不與蛇體沖突*/ SNAKE *p = snk;int clash = 0; /*標(biāo)記食物位置是否和蛇發(fā)生沖突*/while(1) clash = 0; fd->x = START_X + 1 + Random(SCREEN_WIDTH); /* x控制在邊寬 */ fd->y = START_Y + 1 + Random(SCREEN_LENGTH); /* y控制在變長(zhǎng) */ for (;p != NULL ;p = p->next) if (fd->x = p->x && fd->y = p->y
50、) clash = 1; break; if (clash = 0)break;GotoRood(fd->x, fd->y);printf("*");5.3.4 碰撞測(cè)試函數(shù)void CollisionTest(SNAKE *head)if (head->x = START_X) /*一頭撞在左墻上.*/ head->x = START_X + SCREEN_WIDTH; /*嗯.那從右邊出來(lái)吧*/ else if (head->x = START_X + SCREEN_WIDTH + 1) /*.換個(gè)方向接著撞.*/ head->x =
51、 START_X + 1; else if (head->y = START_Y) /*.再向上撞.*/ head->y = START_Y + SCREEN_LENGTH; else if (head->y = START_Y + SCREEN_LENGTH + 1) /*下面也不能放過(guò).*/ head->y = START_Y + 1; 程序分析: 該函數(shù)為貪吃蛇的碰撞測(cè)試,也就是說(shuō)蛇的頭部如果撞在墻壁上,該游戲是不會(huì)結(jié)束的,并且如果蛇的頭部撞在左(右)邊的墻上,那么蛇的頭部將會(huì)從右(左)邊的墻上出來(lái),并且保持原來(lái)的爬行方向繼續(xù)前行;如果蛇的頭部撞在上(下)邊的墻上,那么蛇的頭部將會(huì)從下(上)邊的墻上出來(lái),并且保持原來(lái)的爬行方向繼續(xù)前行。5.3.5吃食函數(shù)int Eated(SNAKE *head, FOOD *fd) /*.有木有吃到食物*/if (head->x = fd->x && head->y =
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年志遠(yuǎn)小學(xué)考試題及答案
- 2025年河北pcr考試題及答案2022
- 2025年單招各科模擬試題及答案
- 2025年工程數(shù)學(xué)段考試題及答案
- 2025年遼寧省理綜合試題及答案
- 2025年長(zhǎng)方形測(cè)試題及答案
- 考驗(yàn)大家眼力測(cè)試題及答案
- 2025年文德英語(yǔ)面試試題及答案
- 2025年拆遷專(zhuān)員考試試題及答案
- 2025年眼鏡美學(xué)題考試題及答案
- 2025年四川省對(duì)口招生(旅游類(lèi))考試復(fù)習(xí)題(附答案)
- 私募股權(quán)投資基金基礎(chǔ)知識(shí)-《私募股權(quán)投資基金基礎(chǔ)知識(shí)》高分通關(guān)卷5
- 校園春季傳染病預(yù)防
- 醫(yī)院危險(xiǎn)化學(xué)品安全管理
- 2024年勞動(dòng)合同(30篇)
- 燃?xì)夤景踩a(chǎn)實(shí)施方案
- 2024年安全員理論考試題庫(kù)附答案解析
- 【非洲出海專(zhuān)題】2024年摩洛哥投資環(huán)境深度分析及中資 企業(yè)在摩洛哥投資合作策略
- 原生廣告行業(yè)可行性分析報(bào)告
- 新聞?dòng)浾呗殬I(yè)資格《新聞基礎(chǔ)知識(shí)》考試題庫(kù)(含答案)
- 《鐵路軌道維護(hù)》課件-道岔改道作業(yè)
評(píng)論
0/150
提交評(píng)論