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

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ā)回來(lái))
每個(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還沒(méi)有對(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中.(說(shuō)明:如果沒(méi)有的話則產(chǎn)生一個(gè)AITrainJob,在AITrainJob的處理中會(huì)看是否有對(duì)應(yīng)unitype的工廠,
沒(méi)有則向build_mgr發(fā)出請(qǐng)求,有則向資源請(qǐng)求對(duì)應(yīng)的單位所需要的資源,等資源管理器更新時(shí)發(fā)現(xiàn)請(qǐng)求滿足并響應(yīng)回來(lái)時(shí)則開(kāi)始向?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,于是它開(kāi)始了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)說(shuō)明木材已收集夠了; AIBuildJob收到后接著會(huì)向unit_mgr請(qǐng)求一名建筑工人。
(插入說(shuō)明: 向unit_mgr請(qǐng)求所得的工人都是出租方式的,時(shí)間到了會(huì)收回并按請(qǐng)求級(jí)別優(yōu)先級(jí)重新分配給其它需要他的請(qǐng)求)
由于之前收割的農(nóng)民租期到了,而且那個(gè)木材收割的request已被移除(因此沒(méi)再請(qǐng)求分配農(nóng)民)。
所以u(píng)nit_mgr會(huì)把當(dāng)前這個(gè)農(nóng)民重新分配為建筑工人,向?qū)?yīng)AIBuildJob發(fā)出響應(yīng)。AIBuildJob收到后開(kāi)始在主城附近有塊空地
并向建筑工人發(fā)出eCOMMAND_TYPE_Build指令讓其開(kāi)始建造的工作流程.


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

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   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>
            一区二区日韩伦理片| 一区二区三区国产精华| 欧美顶级大胆免费视频| 久久这里有精品视频| 欧美专区在线| 久久久久久亚洲精品不卡4k岛国| 欧美一区二区三区精品| 欧美在线一区二区三区| 久久久青草青青国产亚洲免观| 久久精品国产91精品亚洲| 久久精品视频在线免费观看| 久久综合中文色婷婷| 欧美激情视频一区二区三区免费| 欧美日韩国产黄| 国产精品免费在线| 红桃av永久久久| 亚洲精品视频啊美女在线直播| 一本色道久久88亚洲综合88| 午夜视频在线观看一区二区三区| 久久婷婷影院| 一本大道久久精品懂色aⅴ| 在线观看国产成人av片| 欧美激情综合亚洲一二区| 欧美日韩成人激情| 国产欧美日韩专区发布| 红杏aⅴ成人免费视频| 99精品欧美一区| 久久av一区二区| 亚洲黄色一区| 日韩一区二区精品视频| 午夜亚洲精品| 欧美激情一区二区三区全黄| 国产欧美午夜| avtt综合网| 麻豆精品网站| 亚洲午夜久久久| 欧美黄在线观看| 激情综合色综合久久综合| 亚洲综合精品| 亚洲韩日在线| 久久青草福利网站| 国产欧美精品日韩| 一二三区精品| 欧美高清在线播放| 久久精品成人| 国产欧美在线观看| 午夜一区不卡| 亚洲视频狠狠| 欧美色精品天天在线观看视频 | 久久久亚洲一区| 国产精品一区二区三区四区五区| 亚洲日本乱码在线观看| 久久全球大尺度高清视频| 亚洲手机成人高清视频| 欧美精品尤物在线| 亚洲精品五月天| 欧美va亚洲va日韩∨a综合色| 性色av一区二区三区在线观看| 国产精品国产精品| 亚洲天堂免费观看| 一本色道88久久加勒比精品| 欧美日韩国产首页| 亚洲午夜精品一区二区三区他趣| 亚洲日本黄色| 欧美日韩情趣电影| 亚洲一区二区毛片| 这里只有精品视频| 国产精品男女猛烈高潮激情| 亚洲欧美国产视频| 亚洲一卡久久| 国产日韩欧美不卡在线| 久久精品国产精品亚洲| 欧美一区免费| 在线精品国产欧美| 亚洲国产日韩精品| 欧美日韩午夜精品| 国产日产精品一区二区三区四区的观看方式 | 在线精品亚洲一区二区| 麻豆乱码国产一区二区三区| 玖玖玖国产精品| 亚洲激情影院| 99国产精品99久久久久久| 国产精品视频| 噜噜噜在线观看免费视频日韩| 久久久久国产精品www| 亚洲国产毛片完整版| 日韩视频免费| 国产真实乱子伦精品视频| 欧美粗暴jizz性欧美20| 欧美伦理91i| 欧美在线啊v| 女女同性女同一区二区三区91| 在线视频亚洲| 久久久精品2019中文字幕神马| 亚洲美女精品成人在线视频| 亚洲一区一卡| 亚洲精品看片| 午夜免费电影一区在线观看| 亚洲国产日韩欧美在线图片| 一区二区三区视频观看| 亚洲电影在线| 午夜精品美女久久久久av福利| 亚洲精品欧美激情| 欧美一级艳片视频免费观看| 亚洲精品久久久久久一区二区| 亚洲一区二区日本| 亚洲日本aⅴ片在线观看香蕉| 亚洲系列中文字幕| 亚洲美女av在线播放| 午夜一区不卡| 亚洲一区二区三区涩| 看欧美日韩国产| 欧美伊人久久久久久久久影院| 老司机免费视频一区二区三区| 午夜精品一区二区三区电影天堂 | 欧美在线视频观看免费网站| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美一级二级三级蜜桃| 欧美精品国产精品| 欧美成人精品一区| 国产一区二区三区在线观看免费 | 久久精品国产96久久久香蕉| 欧美日韩国产麻豆| 亚洲二区免费| 一区国产精品| 午夜精品久久久久影视 | 国产乱人伦精品一区二区| 久久国内精品视频| 欧美视频一区二区在线观看 | 久久婷婷综合激情| 欧美在现视频| 国产精品久久国产精麻豆99网站| 亚洲精华国产欧美| 亚洲毛片在线观看| 欧美精品综合| 亚洲精品在线免费| 亚洲网站视频| 欧美香蕉视频| 亚洲午夜久久久| 亚洲影视在线| 国产精品视频一区二区高潮| 亚洲视频高清| 久久爱www.| 黄色一区二区在线观看| 久久这里只有| 亚洲国产精品黑人久久久| 亚洲破处大片| 欧美日韩国产在线观看| 99精品欧美一区二区蜜桃免费| 中国成人亚色综合网站| 国产精品久久久久9999吃药| 亚洲综合国产精品| 麻豆精品国产91久久久久久| 亚洲国产天堂久久国产91| 欧美激情1区2区| 中文精品视频| 久久日韩精品| 亚洲欧洲日韩在线| 欧美日韩中文字幕日韩欧美| 中文日韩在线| 久久五月激情| 亚洲精品中文字幕在线| 欧美日精品一区视频| 亚洲欧美日韩一区二区| 免费不卡在线观看av| 亚洲理伦电影| 国产精品手机在线| 久热精品视频| 亚洲视频精选| 欧美激情成人在线| 亚洲男同1069视频| 在线看日韩av| 欧美午夜在线一二页| 久久久久**毛片大全| 亚洲精品视频一区| 久久国产一区二区| 99热免费精品在线观看| 国产日韩欧美亚洲一区| 毛片一区二区三区| 午夜精品久久久久久久男人的天堂 | 亚洲欧美国产一区二区三区| 永久免费视频成人| 欧美三级网页| 久久综合九色欧美综合狠狠| 国产精品99久久久久久宅男| 欧美成人久久| 欧美在线短视频| 久久亚洲私人国产精品va媚药| 亚洲欧美精品中文字幕在线| 极品尤物久久久av免费看| 欧美精品日日鲁夜夜添| 欧美自拍丝袜亚洲| 宅男精品视频| 亚洲激情在线| 久久久噜噜噜久久中文字免| 亚洲自拍电影| 一区二区三区四区五区精品| 亚洲电影在线看| 好吊视频一区二区三区四区| 国产精品日韩在线|