


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、到了本章,你已經(jīng)學(xué)完了大部分c語言的基礎(chǔ)知識,詳細(xì)講解貪吃蛇代碼的條件就具備了。本教程教你編寫的貪吃蛇不依賴tc環(huán)境,不依賴任何第三方庫,可以在vc 6.0、vs等常見ide中編譯通過,請看下圖:更多效果圖請查看:游戲初始化、游戲進(jìn)行中、游戲結(jié)束。請大家先把貪吃蛇的源碼下載下來瀏覽一下,我們再具體分析,這樣將會有更好的效果。貪吃蛇源代碼下載: 提取密碼:81qm貪吃蛇設(shè)計思路上圖中的紅色空心方框()表示邊框,是貪吃蛇的邊界,貪吃蛇不能碰到它,否則就“死掉”,游戲結(jié)束。綠色實心方框()表示貪吃蛇的活動范圍,貪吃蛇可以自由移動,食物(蘋果)也會隨機出現(xiàn)在這個區(qū)域。我們不妨將貪吃蛇的活動范圍稱為“貪
2、吃蛇地圖”,而加上邊框就稱為“全局地圖”。我們需要記錄地圖中每一個節(jié)點的信息,包括:位置:也就是第幾行幾列;類型:這個節(jié)點出現(xiàn)的是貪吃蛇、食物、邊框,還是什么都沒有(綠色的背景)。索引:也就是數(shù)組下標(biāo),稍后會說明是什么意思。所以需要定義一個結(jié)構(gòu)體二維數(shù)組:structchar type;int index;globalmapmaxwidthmaxheight;用一維下標(biāo)和二維下標(biāo)表示位置;用 type 表示類型,不同的類型用不同的數(shù)字代表;用 index 表示索引。直觀上講,應(yīng)該將 type 定義為int類型,不過int占用四個字節(jié),而節(jié)點類型的取值范圍非常有限,一個字節(jié)就足夠了,所以為了節(jié)省
3、內(nèi)存才定義為char類型。同時,再建立一個足夠大的一維數(shù)組,讓貪吃蛇在數(shù)組內(nèi)活動:structint x;int y; snakemap (maxwidth-2)*(maxheight-2) x、y 表示行和列,也就是 globalmap 數(shù)組的兩個下標(biāo)。globalmap 數(shù)組中的索引 index 就是 snakemap 數(shù)組的下標(biāo)。globalmap 表示了所有節(jié)點的信息,而 snakemap 只表示了貪吃蛇的活動區(qū)域。通過 snakemap 可以定位 globalmap 中的元素,反過來通過 globalmap 也可以找到 snakemap 中的元素。請看下圖:圖1:globalmap 和 snakemap 的初始對應(yīng)關(guān)系貪吃蛇向左移動時,headerindex 指向 404,tailindex指向 406。為什么設(shè)計的這么晦澀和復(fù)雜呢?因為這樣設(shè)計有以下幾個好處:貪吃蛇移動時不用處理所有節(jié)點,只要添加蛇頭、刪除蛇尾、重建 globalmap 和 snakemap 的對應(yīng)關(guān)系就可以;隨機生成食物一次就可以成功,不用擔(dān)心食物會占用邊框或貪吃蛇的位置;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨領(lǐng)域節(jié)日營銷活動的創(chuàng)意與實施
- 高效財務(wù)分析方法與案例分享
- 2025屆湖北省恩施市巴東縣數(shù)學(xué)四年級第二學(xué)期期末經(jīng)典試題含解析
- 2025屆山東省濟寧市金鄉(xiāng)縣三年級數(shù)學(xué)第二學(xué)期期末考試模擬試題含解析
- 2024-2025學(xué)年江蘇蘇州太倉市六年級數(shù)學(xué)小升初摸底考試含解析
- 新高考化學(xué)一輪復(fù)習(xí)講練測第03講 物質(zhì)的組成、性質(zhì)和分類(精練)(原卷版)
- 課題開題報告:道德與法治課培育學(xué)生核心素養(yǎng)研究
- 課題開題報告:大學(xué)生學(xué)習(xí)特點與學(xué)習(xí)評價研究
- 課題開題報告:大思政下立德樹人的育人模式研究
- 課題開題報告:從族別到中華民族共同體:我國民族傳統(tǒng)體育研究范式的新時代重構(gòu)研究
- DeepSeek從入門到精通培訓(xùn)課件
- 23G409先張法預(yù)應(yīng)力混凝土管樁
- 個體工商戶公司章程模板
- 陜西各市(精確到縣區(qū))地圖PPT課件(可編輯版)
- 河南省地圖含市縣地圖矢量分層地圖行政區(qū)劃市縣概況ppt模板
- 動畫基礎(chǔ)知識ppt(完整版)課件
- 中國音樂史PPT講稿課件
- 橋梁模板施工方案最終版
- 部編版小學(xué)六年級書法教案【16課時】電子稿
- 廣元九州施工合同正式
- 蘭州商學(xué)院二級學(xué)院權(quán)力運行流程圖
評論
0/150
提交評論