版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
11游戲程序的靈魂——算法
程序是什么呢?一條著名的公式給了我們答案:程序=數(shù)據(jù)結(jié)構(gòu)+算法程序語言(如C++)是一種工具.而算法是程序的靈魂。231游戲程序的靈魂——算法你在優(yōu)美如畫的游戲世界里休閑地散步,很不幸,一只妖怪盯上了你,而且它足夠聰明,它會(huì)選擇一條最短的路徑向你殺過。為什么這只妖怪那么聰明?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ù)組織起來.方便管理。使用線性表可以簡(jiǎn)單方便地做到。892.任務(wù)管理——隊(duì)列與堆棧我在開始玩《夢(mèng)幻西游》時(shí),在城里走了幾圈就接了滿身的任務(wù)。這讓我很煩惱,不知從哪個(gè)任務(wù)開始做起,這時(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ì)——樹樹的一個(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è)置”等等。使用樹來管理這些菜單是很合適的做法。
12134.地圖數(shù)據(jù)管理——圖游戲地圖是圖的應(yīng)用的一個(gè)很好的例子。游戲中的地圖一般會(huì)被分成一塊塊的格子.每一塊都會(huì)有一個(gè)坐標(biāo)值。那么可以使用二維數(shù)組把地圖的數(shù)據(jù)記錄起來,這是最簡(jiǎn)單的方法。但大家都知道.魚與熊掌是不能兼得的,這種方法只能用在很小型的地圖上,而較專業(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í)!使用過STL(C++標(biāo)準(zhǔn)模板庫)的讀者可能會(huì)問:既然已經(jīng)有人幫我們實(shí)現(xiàn)了各種數(shù)據(jù)結(jié)構(gòu)與算法。為什么還要自己去學(xué)習(xí)呢?我們要學(xué)習(xí)的是蘊(yùn)涵在數(shù)據(jù)結(jié)構(gòu)與算法中的思想。我們要理解的是“為什么要這樣做”.而不只是停留在“怎樣做”,只有理解了這些思想.才能寫出更加合理、高效的程序。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í)間好好理解一下。然后就是樹了,從二叉樹開始學(xué).大概要兩個(gè)星期的時(shí)間最后是圖,也是
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 銷售話術(shù)與溝通技巧訓(xùn)練培訓(xùn)
- 2024年設(shè)備監(jiān)理師考試題庫附答案【輕巧奪冠】
- 跨學(xué)科合作教學(xué)的實(shí)踐探索計(jì)劃
- 旅游行業(yè)前臺(tái)員工工作心得
- 鋼鐵冶煉工藝創(chuàng)新
- 2024年設(shè)備監(jiān)理師考試題庫及答案(必刷)
- 2024年美術(shù)教案經(jīng)典
- 分包采購合作協(xié)議(2篇)
- 2024年聯(lián)通智家工程師(初級(jí))認(rèn)證理論備考試題庫(附答案)
- 通關(guān)03 世界史選擇題專練(原卷版)
- GB/T 5130-1997電氣用熱固性樹脂工業(yè)硬質(zhì)層壓板試驗(yàn)方法
- FZ/T 01041-2014絨毛織物絨毛長(zhǎng)度和絨毛高度的測(cè)定
- 《經(jīng)濟(jì)學(xué)導(dǎo)論》考試復(fù)習(xí)題庫(含答案)
- 農(nóng)田水利渠道灌溉與排水課件
- 精品解析浙教版科學(xué) 九年級(jí)上冊(cè) 3.43 簡(jiǎn)單機(jī)械之機(jī)械效率 同步練習(xí)
- 六棱塊護(hù)坡施工方案
- 機(jī)械制圖課件(完整版)
- 夸美紐斯-大教學(xué)論-文本細(xì)讀
- 《行政組織學(xué)小抄》word版
- 日立多聯(lián)機(jī)系統(tǒng)調(diào)試培訓(xùn)教材
- (完整版)環(huán)境科學(xué)與工程-專業(yè)英語詞匯必備(免費(fèi))
評(píng)論
0/150
提交評(píng)論