AI系統(tǒng)設(shè)計(jì)--精選文檔_第1頁
AI系統(tǒng)設(shè)計(jì)--精選文檔_第2頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、AI系統(tǒng)1 怪物戰(zhàn)斗狀態(tài)觸發(fā)AI的條件,此狀態(tài)跟戰(zhàn)斗行為無關(guān)。進(jìn)入戰(zhàn)斗狀態(tài)條件1. 怪物受到攻擊2. 怪物攻擊目標(biāo)3. 被動(dòng)觸發(fā)(當(dāng)怪物每次受到攻擊時(shí),使一定范圍內(nèi)所有怪物進(jìn)入戰(zhàn)斗狀態(tài))。結(jié)束戰(zhàn)斗狀態(tài)狀態(tài)條件(同時(shí)滿足)1. 處于戰(zhàn)斗狀態(tài)的怪物 5秒內(nèi)受到攻擊2. 處于戰(zhàn)斗狀態(tài)的怪物5秒內(nèi)不攻擊目標(biāo)3. 處于戰(zhàn)斗狀態(tài)的怪物5秒內(nèi)不受被動(dòng)觸發(fā)。函數(shù)設(shè)置Bool BattleState(MonsterID) /0代表編號(hào)為MonsterID的怪物未進(jìn)入戰(zhàn)斗狀態(tài),1代表處于戰(zhàn)斗狀態(tài)2 AI系統(tǒng)架構(gòu)簡單的串行AI系統(tǒng)架構(gòu)(每個(gè)循環(huán)內(nèi)選擇一種行為)注:數(shù)據(jù)初始化見下面說明。3 數(shù)據(jù)庫記錄(DataBas

2、e)1) 怪物屬性表 字段名數(shù)據(jù)類型說明Attack_typeInt攻擊類型見攻擊類型說明AI0IntAI類型AI類型說明AI1IntAI2IntAI3Int2) 攻擊類型字段說明十位:攻擊目標(biāo)選擇參數(shù),攻擊對自己傷害最高的目標(biāo)(0)或者輪流攻擊視野內(nèi)目標(biāo)(1)。個(gè)位:攻擊類型選擇參數(shù),選用攻擊力最高的攻擊類型(0)或者根據(jù)目標(biāo)的最低防御選擇攻擊類型(1)。3) AI類型說明10X條件:在計(jì)時(shí)器的上一個(gè)循環(huán)內(nèi)受到傷害執(zhí)行:召喚周圍X類型怪物協(xié)助攻擊目標(biāo)11X條件:在計(jì)時(shí)器上一個(gè)循環(huán)內(nèi)未受到傷害,并且有X類型怪物呼喚其協(xié)助攻擊響應(yīng)視野范圍內(nèi)最近的X怪物的召喚協(xié)助其攻擊目標(biāo)4) AI類型字段說明百

3、位為1代表協(xié)助攻擊型AI十位代表呼喚(0)或者響應(yīng)(1)各位代表呼喚和響應(yīng)的怪物類型,所有怪物(0),L1類怪物(1),L2類怪物(2)。4 AI類型的實(shí)現(xiàn)1) AI計(jì)時(shí)器相關(guān)函數(shù)設(shè)置Bool MonsterCall(MonsterID) /怪物呼喚協(xié)助攻擊MonsterCall(MonsterID)=0 /怪物編號(hào)(CMap管理)為MonsterID的怪物未呼喚協(xié)助攻擊MonsterCall(MonsterID)=1 /怪物編號(hào)(CMap管理)為MonsterID的怪物呼喚協(xié)助攻擊Int MonsterBeAtk(MonsterID) /怪物受到傷害值MonsterBeAtk(Monster

4、ID)=n /怪物編號(hào)為MonsterID的怪物受到累積傷害n數(shù)據(jù)初始化:AI執(zhí)行后或者無AI執(zhí)行但未結(jié)束戰(zhàn)斗時(shí),對于每個(gè)怪物的以上數(shù)據(jù)清零。2) AI類型(10X,11X)處理流程Ø 10X部分受到傷害:檢測在計(jì)時(shí)器的上個(gè)循環(huán)內(nèi)怪物自己是否受到傷害。呼喚協(xié)助攻擊:呼喚視野范圍內(nèi)的怪物協(xié)助攻擊目標(biāo)。Ø 11X部分未受傷害:檢測在計(jì)時(shí)器的上個(gè)循環(huán)內(nèi)怪物自己是否未受傷害。視野內(nèi)怪物呼喚:檢查緩存中是否存在怪物的呼喚信息。呼喚和響應(yīng)類型相同:對比兩個(gè)怪物數(shù)據(jù)庫AI字段最后一位匹配關(guān)系,確定可匹配的怪物。確定離自己最近的怪物:可匹配的怪物內(nèi),查詢離自己最近的怪物。變更攻擊目標(biāo):將自

5、己的攻擊目標(biāo)變更為要協(xié)助怪物的攻擊目標(biāo)。5 AI表現(xiàn)樣例1) 角色怪物A,B:L1類AI字段為AI0=100 /受攻擊時(shí)召喚所有怪物協(xié)助攻擊AI1=111 /未受攻擊時(shí),響應(yīng)L1類怪物呼喚協(xié)助其攻擊目標(biāo)AI2=110 /未受攻擊時(shí),響應(yīng)所有怪物呼喚協(xié)助其攻擊目標(biāo)怪物C:L2類AI字段為:AI0=100 /受攻擊時(shí)召喚所有怪物協(xié)助攻擊AI1=112 /未受攻擊時(shí),響應(yīng)L2類怪物呼喚協(xié)助其攻擊目標(biāo)玩家P1,P22) 玩家行為0C發(fā)現(xiàn)P1,攻擊P1,P2無動(dòng)作1P1攻擊C,P2無動(dòng)作2P1,P2攻擊C,P2對C傷害高出很多3P1攻擊C,P2攻擊B5P1攻擊A,P2攻擊B3) 怪物表現(xiàn)假定定時(shí)器一個(gè)循

6、環(huán)為2秒,6秒內(nèi)所有怪物不死亡。行為詳解:0A和平狀態(tài)B和平狀態(tài)C進(jìn)入戰(zhàn)斗狀態(tài),主動(dòng)攻擊P1 1AC受擊,觸發(fā)A進(jìn)入戰(zhàn)斗狀態(tài)BC受擊,觸發(fā)B進(jìn)入戰(zhàn)斗狀態(tài)C繼續(xù)攻擊P1 2AAI0,1條件不滿足,滿足AI2條件,協(xié)助C攻擊P1BAI0,1條件不滿足,滿足AI2條件,協(xié)助C攻擊P1CAI0條件滿足,呼喚所有怪物,根據(jù)傷害值選擇P2 3A繼續(xù)攻擊P1B受到P2攻擊,攻擊P2C根據(jù)傷害值,選擇攻擊P14AAI0條件不滿足,滿足AI1條件,協(xié)助B攻擊P2B滿足AI0條件,呼喚所有怪物,攻擊P2C滿足AI0,呼喚所有怪物,攻擊P15A根據(jù)傷害值,選擇攻擊P1B繼續(xù)攻擊P2C繼續(xù)攻擊P16A滿足AI0,呼喚所有怪物,繼續(xù)攻擊P1B滿足AI0,呼喚所有怪物,繼續(xù)攻擊P2C所有

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論