版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
11游戲程序的靈魂——算法
程序是什么呢?一條著名的公式給了我們答案:程序=數(shù)據(jù)結(jié)構(gòu)+算法程序語(yǔ)言(如C++)是一種工具.而算法是程序的靈魂。231游戲程序的靈魂——算法你在優(yōu)美如畫(huà)的游戲世界里休閑地散步,很不幸,一只妖怪盯上了你,而且它足夠聰明,它會(huì)選擇一條最短的路徑向你殺過(guò)。為什么這只妖怪那么聰明?4這就是A*(讀A星)算法的魔力.A*算法是一種尋找最短路徑的尋路算法。5在游戲場(chǎng)景里.近處的游戲角色會(huì)遮擋住遠(yuǎn)處的角色。6要做到這一點(diǎn).一種方法是可以把所有的角色按其坐標(biāo)值進(jìn)行排序.然后以遠(yuǎn)到近把玩家“放”入到游戲場(chǎng)景里。常用的排序算法有四種:選擇排序、冒泡排序、插入排序和快速排序。72游戲數(shù)據(jù)的大管家——數(shù)據(jù)結(jié)構(gòu)經(jīng)典的數(shù)據(jù)結(jié)構(gòu),在網(wǎng)絡(luò)游戲中都能得到體現(xiàn)。
1.道具包管理——線性表在任何網(wǎng)絡(luò)游戲中.你的道具包里也會(huì)放著許多珍貴的道具。在程序中需要把這些數(shù)據(jù)組織起來(lái).方便管理。使用線性表可以簡(jiǎn)單方便地做到。892.任務(wù)管理——隊(duì)列與堆棧我在開(kāi)始玩《夢(mèng)幻西游》時(shí),在城里走了幾圈就接了滿身的任務(wù)。這讓我很煩惱,不知從哪個(gè)任務(wù)開(kāi)始做起,這時(shí)我想到了隊(duì)列。隊(duì)列是一種“先進(jìn)先出(first—in—first——out,F(xiàn)IFO)”的數(shù)據(jù)結(jié)。就好像是在銀行里排隊(duì),排在前面的先服務(wù)。每次接到任務(wù)就把該任務(wù)壓進(jìn)任務(wù)隊(duì)列里,要做任務(wù)時(shí)就從任務(wù)隊(duì)列里取出一個(gè)任務(wù),這樣哪個(gè)任務(wù)先接到就先做哪個(gè)任務(wù)。
10也許你不喜歡這樣方式.你想做一個(gè)賞金獵人.哪個(gè)任務(wù)報(bào)酬多的就先做哪個(gè)任務(wù)。這樣普通的隊(duì)列就滿足不了你的需求了。你需要的是優(yōu)先級(jí)隊(duì)列。優(yōu)先級(jí)隊(duì)列在插入元素時(shí).優(yōu)先級(jí)高的元素插到隊(duì)列前。把任務(wù)的報(bào)酬設(shè)成是優(yōu)先級(jí)數(shù)據(jù)。113.游戲菜單設(shè)計(jì)——樹(shù)樹(shù)的一個(gè)比較形象的應(yīng)用是游戲中的UI(UserInterface用戶界面)。在UI里的菜單一般是分級(jí)的.如在主UI里可能會(huì)有“進(jìn)入游戲”、“選項(xiàng)”、“退出游戲”這幾個(gè)菜單項(xiàng).在“進(jìn)入游戲”里又會(huì)有“創(chuàng)建新角色”和“使用舊角色”兩個(gè)菜單項(xiàng).而進(jìn)入“選項(xiàng)”后會(huì)有“音頻”、“視頻”、“游戲設(shè)置”等等。使用樹(shù)來(lái)管理這些菜單是很合適的做法。
12134.地圖數(shù)據(jù)管理——圖游戲地圖是圖的應(yīng)用的一個(gè)很好的例子。游戲中的地圖一般會(huì)被分成一塊塊的格子.每一塊都會(huì)有一個(gè)坐標(biāo)值。那么可以使用二維數(shù)組把地圖的數(shù)據(jù)記錄起來(lái),這是最簡(jiǎn)單的方法。但大家都知道.魚(yú)與熊掌是不能兼得的,這種方法只能用在很小型的地圖上,而較專業(yè)的做法是使用圖記錄地圖數(shù)據(jù),圖的每一個(gè)節(jié)點(diǎn)對(duì)應(yīng)的是地圖的一個(gè)坐標(biāo)。1415163正確的學(xué)習(xí)途徑
學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法是很枯燥乏味的,但不要想找什么捷徑,只有理解后反復(fù)上機(jī)練習(xí)、練習(xí)再練習(xí)!使用過(guò)STL(C++標(biāo)準(zhǔn)模板庫(kù))的讀者可能會(huì)問(wèn):既然已經(jīng)有人幫我們實(shí)現(xiàn)了各種數(shù)據(jù)結(jié)構(gòu)與算法。為什么還要自己去學(xué)習(xí)呢?我們要學(xué)習(xí)的是蘊(yùn)涵在數(shù)據(jù)結(jié)構(gòu)與算法中的思想。我們要理解的是“為什么要這樣做”.而不只是停留在“怎樣做”,只有理解了這些思想.才能寫(xiě)出更加合理、高效的程序。17學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)從最簡(jiǎn)單的出發(fā).你需要花一個(gè)星期的時(shí)間在數(shù)組線性表.它的難點(diǎn)主要是在插入數(shù)據(jù)和刪除數(shù)據(jù):鏈表比數(shù)組要難一點(diǎn),但單向鏈表也只需要一個(gè)星期的學(xué)習(xí)時(shí)間,然后再花一個(gè)星期學(xué)習(xí)雙向鏈表向強(qiáng)化練習(xí)隊(duì)列和堆棧是很常用的數(shù)據(jù)結(jié)構(gòu),你要花兩個(gè)星期的時(shí)間好好理解一下。然后就是樹(shù)了,從二叉樹(shù)開(kāi)始學(xué).大概要兩個(gè)星期的時(shí)間最后是圖,也是
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版二零二五年度金融科技產(chǎn)品開(kāi)發(fā)與應(yīng)用合同范本3篇
- 2025年個(gè)人挖掘機(jī)租賃合同范本(含保險(xiǎn))2篇
- 二零二五年度牛奶原料采購(gòu)與質(zhì)量保障合同4篇
- 2025年度個(gè)人二手挖掘機(jī)買(mǎi)賣(mài)合同節(jié)能環(huán)保合同范本2篇
- 2025年度個(gè)人二手房買(mǎi)賣(mài)合同房屋質(zhì)量檢測(cè)與保修期限合同
- 二零二五版牛肉原料采購(gòu)質(zhì)量控制合同4篇
- 福建省福州市2020-2021學(xué)年八年級(jí)下學(xué)期期中考物理試題【含答案、解析】
- 二零二五年度出租車(chē)行業(yè)駕駛員勞動(dòng)合同規(guī)范文本4篇
- 二零二五年度特色民宿運(yùn)營(yíng)管理委托合同3篇
- 2025版智能防盜門(mén)安裝及報(bào)警系統(tǒng)配套合同范本4篇
- (高清版)JTGT 3360-01-2018 公路橋梁抗風(fēng)設(shè)計(jì)規(guī)范
- 小紅書(shū)違禁詞清單(2024年)
- 胰島素注射的護(hù)理
- 云南省普通高中學(xué)生綜合素質(zhì)評(píng)價(jià)-基本素質(zhì)評(píng)價(jià)表
- 2024年消防產(chǎn)品項(xiàng)目營(yíng)銷(xiāo)策劃方案
- 聞道課件播放器
- 03軸流式壓氣機(jī)b特性
- 五星級(jí)酒店收入測(cè)算f
- 大數(shù)據(jù)與人工智能ppt
- 人教版八年級(jí)下冊(cè)第一單元英語(yǔ)Unit1 單元設(shè)計(jì)
- GB/T 9109.5-2017石油和液體石油產(chǎn)品動(dòng)態(tài)計(jì)量第5部分:油量計(jì)算
評(píng)論
0/150
提交評(píng)論