青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 72,  comments - 4,  trackbacks - 0
rts游戲warringstates的AI管理
創(chuàng)建時(shí)間:2013年4月7日(星期天) 上午10:37 | 分類:AI | 字?jǐn)?shù):1834  | 發(fā)送到我的Qzone | 另存為... | 打印 | 添加到日歷
warringstates的aiplayer中有幾個(gè)管理器每幀更新:
1. build_mgr(工程部)
2. exploration_mgr(探索部)
3. army_mgr(軍工部)
4. unit_mgr(人力部)
5. resource_mgr(資源部)

每個(gè)管理器相當(dāng)于一個(gè)部門,它每幀會(huì)更新處理兩個(gè)事情:a. 請(qǐng)求列表(request)處理; b.工作(job)列表處理;c.job的響應(yīng)事件(觸發(fā)式:
job提交的請(qǐng)求得到滿足時(shí)觸發(fā)回來)
每個(gè)部門更新時(shí)在job中處理自己要做的事情(這是b.步驟),發(fā)現(xiàn)需要其它部門的幫助時(shí),則向其它部門發(fā)出請(qǐng)求, 其它部門會(huì)把請(qǐng)求收入隊(duì)列,
然后更新時(shí)檢查是否可以滿足對(duì)應(yīng)的請(qǐng)求(這是在a.步驟),是則立即給響應(yīng),否則按排工作組員(job)去完成; 完成后再給對(duì)應(yīng)請(qǐng)求部門(這里直接是請(qǐng)求者(job)發(fā)出響應(yīng) (這是c.步驟)

例如:
1. aiplayer的更新中發(fā)現(xiàn)人口太多,房屋不夠則向build_mgr發(fā)出一個(gè)增加住房的請(qǐng)求,build_mgr收到后找到消耗金錢少的但住人多的
戶型并產(chǎn)生一個(gè)AIBuildJob讓組員去完成.
2. AIBuildJob的更新中發(fā)現(xiàn)要建造這樣的戶型所需的資源當(dāng)前不夠(缺少木村),于是他向resource_mgr(資源管理器)MakeRequest申請(qǐng)
所需要的資源。
3. resource_mgr的更新中:
   a. 從請(qǐng)求列表中取出該請(qǐng)求,產(chǎn)生對(duì)應(yīng)的AIHarvestJob放入jobs列表中。
   b. 接著遍歷更新jobs取出該AIHarvestJob更新
   c. AIHarvestJob的更新發(fā)現(xiàn)該采集job還沒有對(duì)應(yīng)農(nóng)民,于是它向unit_mgr請(qǐng)求對(duì)應(yīng)類型的農(nóng)民。
4. unit_mgr的更新中:
   從請(qǐng)求列表中取出該請(qǐng)求, 發(fā)現(xiàn)當(dāng)前mAvailableUnits中有符合的已產(chǎn)生的農(nóng)民,于時(shí)立即響應(yīng)給對(duì)應(yīng)的請(qǐng)求者AIHarvestJob
   AIHarvestJob把對(duì)應(yīng)的農(nóng)民登錄到mHarvesters中.(說明:如果沒有的話則產(chǎn)生一個(gè)AITrainJob,在AITrainJob的處理中會(huì)看是否有對(duì)應(yīng)unitype的工廠,
沒有則向build_mgr發(fā)出請(qǐng)求,有則向資源請(qǐng)求對(duì)應(yīng)的單位所需要的資源,等資源管理器更新時(shí)發(fā)現(xiàn)請(qǐng)求滿足并響應(yīng)回來時(shí)則開始向?qū)?yīng)的工廠發(fā)出
eCOMMAND_TYPE_Train指令,之后就會(huì)跑到GameBuilding的Train工作流程)

5. resource_mgr的更新中:
   遍歷更新jobs取出該AIHarvestJob進(jìn)行更新,該AIHarvestJob遍歷mHarvesters取得那個(gè)農(nóng)民,向他發(fā)出eCOMMAND_TYPE_Harvest
   指令。

6. object_mgr的更新中:
   遍歷所有單位進(jìn)行更新,輪到那個(gè)農(nóng)民更新時(shí),它think函數(shù)中發(fā)現(xiàn)當(dāng)前指令是eCOMMAND_TYPE_Harvest,于是它開始了Harvest的
工作流程:判斷背包中木材是否滿了,是則回城(搜索路徑),否則尋找木材資源(搜索路徑),到達(dá)后卸載/收割資源.

這樣當(dāng)木材足夠時(shí)在resource_mgr的更新中,發(fā)現(xiàn)對(duì)應(yīng)的木材資源請(qǐng)求足夠時(shí)就會(huì)移除該請(qǐng)求并向
對(duì)應(yīng)的AIBuildJob發(fā)出響應(yīng)說明木材已收集夠了; AIBuildJob收到后接著會(huì)向unit_mgr請(qǐng)求一名建筑工人。
(插入說明: 向unit_mgr請(qǐng)求所得的工人都是出租方式的,時(shí)間到了會(huì)收回并按請(qǐng)求級(jí)別優(yōu)先級(jí)重新分配給其它需要他的請(qǐng)求)
由于之前收割的農(nóng)民租期到了,而且那個(gè)木材收割的request已被移除(因此沒再請(qǐng)求分配農(nóng)民)。
所以u(píng)nit_mgr會(huì)把當(dāng)前這個(gè)農(nóng)民重新分配為建筑工人,向?qū)?yīng)AIBuildJob發(fā)出響應(yīng)。AIBuildJob收到后開始在主城附近有塊空地
并向建筑工人發(fā)出eCOMMAND_TYPE_Build指令讓其開始建造的工作流程.


其它軍工部的更新會(huì)判斷當(dāng)前是否需要軍隊(duì),并向人力部請(qǐng)求對(duì)應(yīng)的兵,人力部又會(huì)看是否有這樣的兵,沒有的話則判斷對(duì)應(yīng)產(chǎn)生
這樣兵種的兵工廠是否存在,不存在的話又會(huì)向工程部發(fā)出請(qǐng)求對(duì)應(yīng)的兵工廠,工程部收到后又會(huì)判斷是否有足夠資源,沒有的話
又會(huì)向資源部要求對(duì)應(yīng)的資源,資源部又會(huì)向人力請(qǐng)求對(duì)應(yīng)的農(nóng)民來采集資源,等等,如此類似的相關(guān)循環(huán)。。。
posted on 2013-04-07 11:34 flipcode 閱讀(476) 評(píng)論(0)  編輯 收藏 引用

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲一区二区三区中文字幕在线| 亚洲免费影视| 欧美韩日亚洲| 中文国产一区| 亚洲天堂网在线观看| 国产欧美日韩亚洲一区二区三区| 午夜精品久久久久久久白皮肤| 在线亚洲电影| 国内视频精品| 亚洲高清视频一区二区| 欧美精品久久久久久久免费观看| 一区二区冒白浆视频| 亚洲一区三区视频在线观看| 国产一区二区精品久久| 亚洲国产高清在线| 国产精品老牛| 欧美成人第一页| 国产精品久久久99| 欧美成人免费全部| 国产精品v欧美精品∨日韩| 久久女同互慰一区二区三区| 嫩草成人www欧美| 午夜精品久久久久久久久久久久久 | 老巨人导航500精品| 一区二区三区成人| 欧美一区影院| 亚洲色诱最新| 免费日韩av片| 久久久另类综合| 欧美视频在线观看视频极品| 蜜桃久久精品乱码一区二区| 欧美视频一区二区三区在线观看 | 久久久久久久一区| 欧美区国产区| 乱码第一页成人| 国产伦精品一区二区三区免费 | 亚洲国产一区二区三区青草影视| 国产欧美精品在线| 亚洲精一区二区三区| 在线欧美日韩| 午夜免费日韩视频| 亚洲一区二区精品视频| 久久综合久久久久88| 欧美一区二区三区日韩视频| 欧美极品一区| 欧美成人在线免费观看| 国产一级精品aaaaa看| 中文久久乱码一区二区| 日韩视频在线观看免费| 麻豆精品精华液| 久久伊人免费视频| 国产亚洲激情视频在线| 亚洲伊人久久综合| 亚洲午夜av在线| 欧美日韩天天操| 日韩视频一区二区| 99精品国产99久久久久久福利| 六月婷婷一区| 欧美成人免费在线视频| 亚洲电影欧美电影有声小说| 久久精品水蜜桃av综合天堂| 久久久人成影片一区二区三区观看| 国产精品私拍pans大尺度在线| 国产精品99久久久久久久久久久久| 制服丝袜激情欧洲亚洲| 欧美日韩亚洲一区三区| 亚洲精品日产精品乱码不卡| 999在线观看精品免费不卡网站| 欧美成人蜜桃| 日韩视频在线免费| 亚洲一区二区三区精品在线观看| 欧美午夜电影完整版| 亚洲网在线观看| 欧美综合第一页| 黑人操亚洲美女惩罚| 久久男女视频| 亚洲欧洲日产国产网站| 亚洲一级在线| 国产视频自拍一区| 久久精视频免费在线久久完整在线看 | 欧美天堂亚洲电影院在线观看| 一本久道久久综合狠狠爱| 午夜精品久久久久久久99樱桃 | 亚洲片国产一区一级在线观看| 欧美国产欧美综合 | 欧美国产精品日韩| 99精品热6080yy久久| 国产精品国产福利国产秒拍 | 亚洲三级免费观看| 亚洲欧美日韩一区在线| 影音先锋另类| 欧美日韩日本网| 午夜综合激情| 亚洲黑丝在线| 欧美制服第一页| 亚洲精品日本| 国产欧美日韩一区二区三区在线| 欧美在线观看视频一区二区| 亚洲国产成人在线视频| 午夜精彩视频在线观看不卡| 一区二区三区亚洲| 欧美日韩你懂的| 久久免费视频一区| 亚洲一区二区精品在线观看| 六十路精品视频| 亚洲欧美美女| 亚洲久久一区二区| 国内精品久久久久久久影视麻豆 | 欧美在线欧美在线| 亚洲理伦在线| 久久免费99精品久久久久久| 正在播放日韩| 亚洲国产综合91精品麻豆| 国产精品中文在线| 欧美精品一区二区三| 欧美一区二区精品久久911| 日韩视频在线观看国产| 欧美~级网站不卡| 欧美一区二区精美| 在线综合亚洲欧美在线视频| 亚洲高清色综合| 国产一区欧美| 国产精自产拍久久久久久| 欧美日韩国产系列| 欧美激情第一页xxx| 久久嫩草精品久久久精品一| 午夜国产精品影院在线观看| 日韩视频免费观看| 亚洲人精品午夜在线观看| 免费观看在线综合色| 久久久久.com| 久久久99国产精品免费| 午夜精品一区二区三区电影天堂| 一本久道久久久| 亚洲精品视频在线观看网站| 亚洲电影观看| 亚洲欧洲一区二区在线观看| 在线观看国产精品网站| 伊人精品视频| 1769国内精品视频在线播放| 国内外成人免费激情在线视频网站| 国产毛片精品视频| 国产精品自拍三区| 国产亚洲精品久久久久动| 国产日韩欧美视频| 国产婷婷色一区二区三区四区| 国产区精品视频| 国产午夜久久| 亚洲成人影音| 亚洲国产精品热久久| 亚洲黄色成人网| avtt综合网| 亚洲欧美高清| 久久久久.com| 欧美激情成人在线视频| 亚洲国产日韩综合一区| 亚洲精品一二| 亚洲制服少妇| 久久精品免费| 欧美华人在线视频| 国产精品狼人久久影院观看方式| 国产麻豆9l精品三级站| 精品成人在线视频| 日韩午夜高潮| 性伦欧美刺激片在线观看| 久久久久久久久久看片| 欧美福利在线| 中文国产亚洲喷潮| 久久久久免费观看| 欧美久久视频| 国产亚洲欧美中文| 亚洲精品人人| 久久黄色级2电影| 亚洲国产精品国自产拍av秋霞| 一本色道久久加勒比精品| 欧美在线不卡| 欧美日韩精品在线视频| 国产亚洲欧美色| 在线一区视频| 麻豆成人在线| 亚洲制服丝袜在线| 麻豆国产精品777777在线| 国产精品国产自产拍高清av| 精品成人a区在线观看| 亚洲无亚洲人成网站77777 | 99热在线精品观看| 久久久久久久网| 在线视频欧美日韩精品| 久久综合色婷婷| 国产午夜精品久久久| 艳女tv在线观看国产一区| 久久亚洲综合色| 亚洲图片你懂的| 欧美大片在线观看| 一区二区视频免费在线观看| 欧美一区二区三区视频免费| 最新日韩精品| 欧美成人综合在线| 一区二区三区在线不卡| 欧美与黑人午夜性猛交久久久|