




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
11游戲程序的靈魂——算法
程序是什么呢?一條著名的公式給了我們答案:程序=數(shù)據(jù)結(jié)構(gòu)+算法程序語言(如C++)是一種工具.而算法是程序的靈魂。231游戲程序的靈魂——算法你在優(yōu)美如畫的游戲世界里休閑地散步,很不幸,一只妖怪盯上了你,而且它足夠聰明,它會選擇一條最短的路徑向你殺過。為什么這只妖怪那么聰明?4這就是A*(讀A星)算法的魔力.A*算法是一種尋找最短路徑的尋路算法。5在游戲場景里.近處的游戲角色會遮擋住遠(yuǎn)處的角色。6要做到這一點.一種方法是可以把所有的角色按其坐標(biāo)值進(jìn)行排序.然后以遠(yuǎn)到近把玩家“放”入到游戲場景里。常用的排序算法有四種:選擇排序、冒泡排序、插入排序和快速排序。72游戲數(shù)據(jù)的大管家——數(shù)據(jù)結(jié)構(gòu)經(jīng)典的數(shù)據(jù)結(jié)構(gòu),在網(wǎng)絡(luò)游戲中都能得到體現(xiàn)。
1.道具包管理——線性表在任何網(wǎng)絡(luò)游戲中.你的道具包里也會放著許多珍貴的道具。在程序中需要把這些數(shù)據(jù)組織起來.方便管理。使用線性表可以簡單方便地做到。892.任務(wù)管理——隊列與堆棧我在開始玩《夢幻西游》時,在城里走了幾圈就接了滿身的任務(wù)。這讓我很煩惱,不知從哪個任務(wù)開始做起,這時我想到了隊列。隊列是一種“先進(jìn)先出(first—in—first——out,F(xiàn)IFO)”的數(shù)據(jù)結(jié)。就好像是在銀行里排隊,排在前面的先服務(wù)。每次接到任務(wù)就把該任務(wù)壓進(jìn)任務(wù)隊列里,要做任務(wù)時就從任務(wù)隊列里取出一個任務(wù),這樣哪個任務(wù)先接到就先做哪個任務(wù)。
10也許你不喜歡這樣方式.你想做一個賞金獵人.哪個任務(wù)報酬多的就先做哪個任務(wù)。這樣普通的隊列就滿足不了你的需求了。你需要的是優(yōu)先級隊列。優(yōu)先級隊列在插入元素時.優(yōu)先級高的元素插到隊列前。把任務(wù)的報酬設(shè)成是優(yōu)先級數(shù)據(jù)。113.游戲菜單設(shè)計——樹樹的一個比較形象的應(yīng)用是游戲中的UI(UserInterface用戶界面)。在UI里的菜單一般是分級的.如在主UI里可能會有“進(jìn)入游戲”、“選項”、“退出游戲”這幾個菜單項.在“進(jìn)入游戲”里又會有“創(chuàng)建新角色”和“使用舊角色”兩個菜單項.而進(jìn)入“選項”后會有“音頻”、“視頻”、“游戲設(shè)置”等等。使用樹來管理這些菜單是很合適的做法。
12134.地圖數(shù)據(jù)管理——圖游戲地圖是圖的應(yīng)用的一個很好的例子。游戲中的地圖一般會被分成一塊塊的格子.每一塊都會有一個坐標(biāo)值。那么可以使用二維數(shù)組把地圖的數(shù)據(jù)記錄起來,這是最簡單的方法。但大家都知道.魚與熊掌是不能兼得的,這種方法只能用在很小型的地圖上,而較專業(yè)的做法是使用圖記錄地圖數(shù)據(jù),圖的每一個節(jié)點對應(yīng)的是地圖的一個坐標(biāo)。1415163正確的學(xué)習(xí)途徑
學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法是很枯燥乏味的,但不要想找什么捷徑,只有理解后反復(fù)上機(jī)練習(xí)、練習(xí)再練習(xí)!使用過STL(C++標(biāo)準(zhǔn)模板庫)的讀者可能會問:既然已經(jīng)有人幫我們實現(xiàn)了各種數(shù)據(jù)結(jié)構(gòu)與算法。為什么還要自己去學(xué)習(xí)呢?我們要學(xué)習(xí)的是蘊涵在數(shù)據(jù)結(jié)構(gòu)與算法中的思想。我們要理解的是“為什么要這樣做”.而不只是停留在“怎樣做”,只有理解了這些思想.才能寫出更加合理、高效的程序。17學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)從最簡單的出發(fā).你需要花一個星期的時間在數(shù)組線性表.它的難點主要是在插入數(shù)據(jù)和刪除數(shù)據(jù):鏈表比數(shù)組要難一點,但單向鏈表也只需要一個星期的學(xué)習(xí)時間,然后再花一個星期學(xué)習(xí)雙向鏈表向強(qiáng)化練習(xí)隊列和堆棧是很常用的數(shù)據(jù)結(jié)構(gòu),你要花兩個星期的時間好好理解一下。然后就是樹了,從二叉樹開始學(xué).大概要兩個星期的時間最后是圖,也是
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 停車場智能管理公司
- 現(xiàn)代農(nóng)業(yè)金融創(chuàng)新方案
- 新型智能穿戴產(chǎn)品設(shè)計手冊
- 電信行業(yè)智能化通信網(wǎng)絡(luò)智能化管理與維護(hù)方案
- 豆制品加工項目可行性報告
- 長興垃圾焚燒發(fā)電項目
- 商貿(mào)城項目可行性研究報告
- 關(guān)于提升員工職業(yè)技能的培訓(xùn)教程與計劃安排
- 文化傳媒行業(yè)內(nèi)容創(chuàng)作與傳播策略優(yōu)化
- 企業(yè)人力資源管理師(三級)理論復(fù)習(xí)試題及答案
- 質(zhì)量互變規(guī)律、否定之否定規(guī)律
- 小學(xué)語文六年級下冊單元作文評價表:讓真情自然流露
- 2024魚塘租賃合同模板
- 小學(xué)數(shù)學(xué)教學(xué)中數(shù)學(xué)文化的滲透與傳承
- 你比劃我猜題目大全555個
- 《8 家庭養(yǎng)雞》(教案)-2023-2024學(xué)年六年級下冊綜合實踐活動皖教版
- 小學(xué)百科知識題庫大全
- HG∕T 4594-2014 熱固性粉末涂料冷卻壓片設(shè)備
- 《電工電子技術(shù)》高職全套教學(xué)課件
- 碳九加氫工藝流程
- 智能網(wǎng)聯(lián)汽車第三章毫米波雷達(dá)課件
評論
0/150
提交評論