版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
太陽神三國殺AI系統(tǒng)設(shè)計分析第一頁,共127頁。版本信息神殺版本:太陽神三國殺V2–終結(jié)版(版本號:)神殺AI版本:QSanguoshaAI20141006(V1.32Alpha)Lua版本:Lua5.2第二頁,共127頁。什么是AI?人工智能(ArtificialIntelligence),簡稱AI。它是計算機科學的一個分支學科。它是研究、開發(fā)用于模擬、延伸和擴展人的智能的理論、方法、技術(shù)及應用系統(tǒng)的一門新的技術(shù)科學。它企圖了解智能的實質(zhì),并生產(chǎn)出一種新的能以人類智能相似的方式做出反應的智能機器。就其本質(zhì)而言,它是對人的意識、思維的信息過程的模擬。第三頁,共127頁。那么,什么又是太陽神三國殺的AI?游戲中出現(xiàn)的“電腦玩家”?No!它是幫助玩家(含“電腦玩家”)進行游戲的后臺邏輯。主要包括“選將AI”、“托管AI”和“高級AI”三類。有了它,“電腦玩家”才能夠表現(xiàn)得像個人類……核心任務:模擬人類玩家的思維過程,并最終做出決策!第四頁,共127頁。目錄選將AI情況1:KOF模式選將情況2:3v3對戰(zhàn)模式選將情況3:身份局選將情況4:雙將模式選擇副將托管AI高級AI場景1:出牌階段主動使用牌場景2:響應請求場景3:棄牌階段棄牌場景4:身份判斷場景5:分析局勢場景6:聊天及其它第五頁,共127頁。選將AI哪里有需要,AI就到哪里去!于是游戲的第一個問題出現(xiàn)了——選擇武將。面對若干備選武將,要選擇使用哪位武將參與游戲呢?思路:給武將評分,誰分高誰上!第六頁,共127頁。情況1:KOF模式(02_1v1)選將加載《武將1v1評分表》(游戲目錄/etc/1v1-priority.txt)讀取各備選武將的評分,并排序選取評分最高的武將第七頁,共127頁。選將舉例選將框中有下列武將:新標準版·黃月英新標準版·周瑜新標準版·司馬懿新標準版·馬超新標準版·大喬標準版·甄姬以及四個暗將AI會選擇哪個武將呢?第八頁,共127頁。選將舉例(解)查表可知——新標準版·黃月英:65分新標準版·周瑜:82分新標準版·司馬懿:69分新標準版·馬超:70分新標準版·大喬:14分標準版·甄姬:93分而暗將的評分被固定為50分所以AI向電腦玩家推薦的選將是——甄姬,其次周瑜。第九頁,共127頁。情況2:3v3對戰(zhàn)模式(06_3v3)選將加載《武將3v3評分表》(游戲目錄/etc/3v3-priority.txt)讀取各備選武將的評分,并排序選取評分最高的武將其實和KOF模式的思路是相似的……第十頁,共127頁。情況3:身份局選將根據(jù)角色身份采用不同的策略進行選將。主公隨機選將。忠臣、內(nèi)奸、反賊……依然是先分別評分,然后最高分入選。與前兩種情況不同的是,身份局選將需要考慮主公因素。所以評分包括兩個部分:基礎(chǔ)分,匹配分。評分公式:最終評分=基礎(chǔ)分×匹配分第十一頁,共127頁。基礎(chǔ)分初始值:5分。忠臣:
勢力為“神”,或者與主公勢力相同,基礎(chǔ)分×1.04反賊:
勢力為“群”,且主公有技能“血裔”(火·袁紹),基礎(chǔ)分×0.8
勢力為“吳”,且主公有技能“歸命”(SP·孫皓),基礎(chǔ)分×0.5內(nèi)奸或反賊:
勢力為“蜀”,且主公有技能“誓仇”(☆SP·劉備),基礎(chǔ)分×0.1所以經(jīng)常見到主公選曹操時,全場一片魏藍色;而選劉備時,一堆蜀將。第十二頁,共127頁。匹配分加載《忠臣評分表》(游戲目錄/etc/loyalist.txt)、《反賊評分表》(游戲目錄/etc/rebel.txt)和《內(nèi)奸評分表》(游戲目錄/etc/renegade.txt)根據(jù)角色身份,從對應的評分表中讀取備選武將的:①通用適應度(不關(guān)心主公是誰時的適應度,默認為0)②主公適應度(在特定武將做主公時的適應度,默認為0)于是,匹配分=1.1^通用適應度×1.1^主公適應度評分公式:最終評分=基礎(chǔ)分×1.1^通用適應度×1.1^主公適應度第十三頁,共127頁。選將舉例火·典韋風·夏侯淵標準版·孫權(quán)風·張角神·趙云主公:林·董卓角色身份:忠臣備選武將:如圖所示第十四頁,共127頁。忠臣評分表(節(jié)選)通用適應度SP·曹昂:0.3SP·袁術(shù):0.3新標準版·郭嘉:0.2標準版·郭嘉:0.2SP·華雄:-1林·董卓主公適應度神·呂布:1.1火·袁紹:1新風·張角:1風·張角:1新標準版·呂布:1標準版·呂布:1風·小喬:0.8火·顏良文丑:0.7新風·周泰:-2風·周泰:-3第十五頁,共127頁。選將舉例(火·典韋)基礎(chǔ)分:5分查表知,典韋沒有忠臣身份的通用適用度和董卓主公時的適應度所以典韋的評分為:5×1.1^0×1.1^0=5分第十六頁,共127頁。選將舉例(風·夏侯淵)基礎(chǔ)分:5分查表知,夏侯淵沒有忠臣身份的通用適用度和董卓主公時的適應度所以夏侯淵的評分為:5×1.1^0×1.1^0=5分第十七頁,共127頁。選將舉例(標準版·孫權(quán))基礎(chǔ)分:5分查表知,孫權(quán)沒有忠臣身份的通用適用度和董卓主公時的適應度所以孫權(quán)的評分為:5×1.1^0×1.1^0=5分第十八頁,共127頁。選將舉例(風·張角)基礎(chǔ)分:5×1.04=5.2分查表知,張角沒有忠臣身份的通用適用度,但董卓主公時的適應度為1所以張角的評分為:5.2×1.1^0×1.1^1=5.72分第十九頁,共127頁。選將舉例(神·趙云)基礎(chǔ)分:5×1.04=5.2分查表知,趙云沒有忠臣身份的通用適用度和董卓主公時的適應度所以趙云的評分為:5.2×1.1^0×1.1^0=5.2分第二十頁,共127頁。選將舉例(解)火·典韋:5分風·夏侯淵:5分標準版·孫權(quán):5分風·張角:5.72分神·趙云:5.2分經(jīng)過計算,各武將的評分為:所以AI最終會選擇張角做董卓的忠臣。第二十一頁,共127頁。情況4:雙將模式選擇副將加載《雙將評分表》(游戲目錄/etc/double-generals.txt)對于每個備選武將,讀取已選主將與其進行配對時的評分(默認為0分)若沒有評分,再讀取其與已選主將進行配對時的評分(默認為50分)將所有備選武將的最終評分進行排序選擇評分最高的備選武將做為副將第二十二頁,共127頁。選將舉例主將:林·魯肅備選副將:
標準版·張遼
標準版·甘寧
標準版·孫尚香
新標準版·華佗
標準版·劉備應該選誰作為魯肅的副將呢?第二十三頁,共127頁。雙將評分表(節(jié)選)新標準版·劉備+林·魯肅:75分標準版·孫尚香+林·魯肅:54分林·魯肅+新一將成名·凌統(tǒng):52分林·魯肅+SP·袁術(shù):54分林·魯肅+標準版·張遼:20分林·魯肅+標準版·劉備:75分林·魯肅+一將成名·凌統(tǒng):53分第二十四頁,共127頁。選將舉例(標準版·張遼)查表可知:林·魯肅+標準版·張遼:評分為20分。這個20分就是張遼的最終評分了。第二十五頁,共127頁。選將舉例(標準版·甘寧)查表可知:林·魯肅+標準版·甘寧:沒有評分(取默認值0分)再查:標準版·甘寧+林·魯肅:還是沒有評分(取默認值50分)所以甘寧的最終評分是50分。第二十六頁,共127頁。選將舉例(標準版·孫尚香)查表可知:林·魯肅+標準版·孫尚香:沒有評分(取默認值0分)。再查:標準版·孫尚香+林·魯肅:評分為54分。于是孫尚香的最終評分被修改為54分。第二十七頁,共127頁。選將舉例(新標準版·華佗)查表可知:林·魯肅+新標準版·華佗:沒有評分(取默認值0分)。再查:新標準版·華佗+林·魯肅:還是沒有評分(取默認值50分)。于是華佗的最終評分為50分。第二十八頁,共127頁。選將舉例(標準版·劉備)查表可知:林·魯肅+標準版·劉備:評分為75分。這樣劉備的最終評分即為75分。第二十九頁,共127頁。選將舉例(解)所有備選武將的評分為:
標準版·張遼:20分
標準版·甘寧:50分
標準版·孫尚香:54分
新標準版·華佗:50分
標準版·劉備:75分獲得最高分的是劉備,評分為75分所以AI最后將選擇標準版·劉備作為林·魯肅的副將第三十頁,共127頁。托管AI如果你點擊了“托管”,那么接下來幫你游戲的,就是托管AI托管AI為游戲中那些需要作決定的場合制定了最簡單的策略以使游戲能夠繼續(xù)正常進行比如開五谷豐登時讓玩家從中隨機選牌等然而這并不是重點講托管AI主要是為了引出后文的高級AI沒錯,托管AI其實只是一個代碼中的概念其工作現(xiàn)在已經(jīng)完全被高級AI替代在實現(xiàn)上,高級AI繼承自托管AI,是托管AI的子類第三十一頁,共127頁。高級AI于是重點來了……對于電腦玩家,要想跟上人的節(jié)奏,它們就必須依靠高級AI。怎樣出牌?怎樣響應?怎樣留牌?怎樣判斷其他角色身份?怎樣分析局勢?怎樣賣萌……第三十二頁,共127頁。場景1:出牌階段主動使用牌確定所有可能將使用的卡牌(包括:真·卡牌、視為·卡牌)嘗試使用卡牌,以此選出所有可以使用的卡牌分別計算各選出卡牌的使用優(yōu)先級排序,確定優(yōu)先級最高的卡牌,此即將要使用的卡牌確定卡牌使用方式(包括:用哪些牌?對誰使用?)其實和人類玩家思考的過程是類似的……下面給出一個例子具體解釋一下。第三十三頁,共127頁。出牌舉例龐統(tǒng)忠臣,第一輪出牌階段準備出牌,目前場上局勢如下:1號位:火·袁紹(主公,2體力0牌)2號位:林·董卓(6體力4牌)3號位:林·祝融(反賊,2體力1牌,八卦陣,大宛)4號位:風·夏侯淵(反賊,2體力1牌,貫石斧)5號位:火·龐統(tǒng)(1體力5牌,未涅槃)【主視角角色,忠臣】6號位:風·黃忠(3體力2牌)7號位:新標準版·郭嘉(1體力9牌)8號位:標準版·曹操(3體力4牌)手牌為:【絕影】(?5)、【朱雀羽扇】(?A)、【雷殺】(?8)、 【決斗】(?A)、【閃】(?Q)現(xiàn)在龐統(tǒng)該如何出牌呢?第三十四頁,共127頁。出牌舉例局勢如圖,現(xiàn)在龐統(tǒng)該如何行動?第三十五頁,共127頁。確定所有可能將使用的卡牌①【絕影】(?5)②【朱雀羽扇】(?A)③【雷殺】(?8)④【決斗】(?A)⑤【閃】(?3)⑥〖鐵索連環(huán)〗(?A)——來自技能“連環(huán)”,由④構(gòu)成在AI看來龐統(tǒng)共有6張卡牌!第三十六頁,共127頁。嘗試使用,選出所有可用卡牌【絕影】(?5)【朱雀羽扇】(?A)【雷殺】(?8)【決斗】(?A)〖鐵索連環(huán)〗(?A)——來自技能“連環(huán)”不能主動使用閃!所以現(xiàn)在龐統(tǒng)共有5張卡牌可用!第三十七頁,共127頁。計算卡牌的使用優(yōu)先級卡牌的使用優(yōu)先級包括:預設(shè)的“使用優(yōu)先級”,以及游戲中實時確定的“動態(tài)使用優(yōu)先級”兩類?!笆褂脙?yōu)先級”只與卡牌種類有關(guān)(記錄在sgs.ai_use_priority表中)?!皠討B(tài)使用優(yōu)先級”與花色、點數(shù)、角色技能等信息有關(guān)。一般來說,“使用優(yōu)先級”是基準,“動態(tài)使用優(yōu)先級”根據(jù)實際情況,在其基礎(chǔ)上上下浮動。最終優(yōu)先級以“動態(tài)使用優(yōu)先級”為準。第三十八頁,共127頁。獲取預設(shè)的“使用優(yōu)先級”絕影(防御馬):2.75朱雀羽扇(武器):2.655雷殺:2.5決斗:2.9鐵索連環(huán):9.1(數(shù)據(jù)來自:游戲目錄/lua/ai/standard_cards-ai.lua和
游戲目錄/lua/ai/maneuvering-ai.lua)第三十九頁,共127頁。計算“動態(tài)使用優(yōu)先級”【絕影】(?5):2.75―0.0032=2.7468【朱雀羽扇】(?A):2.655+0.7992=3.4542【雷殺】(?8):2.5+0.4995=2.9995【決斗】(?A):2.9+0.0002=2.9002〖鐵索連環(huán)〗(?A):9.1+0.0002=9.1002(參考:游戲目錄/lua/ai/smart-ai.lua中的SmartAI:getDynamicUsePriority函數(shù))第四十頁,共127頁。按優(yōu)先級排序〖鐵索連環(huán)〗(?A):9.1002【朱雀羽扇】(?A):3.4542【雷殺】(?8):2.9995【決斗】(?A):2.9002【絕影】(?5):2.7468最終選擇使用〖鐵索連環(huán)〗(?A)第四十一頁,共127頁。確定使用方式首先排除“無言”、“忍戒”、“敵人數(shù)過少”、“無謀”等特殊情形然后排除“啖酪”(SP·楊修)或“皇恩”(貼紙·劉協(xié))的干擾接著對所有角色進行分組:組F1:被橫置的、可生效的、害怕受傷的、帶閃電的友方角色(空)組F2:被橫置的、可生效的、害怕受傷的、不帶閃電的友方角色(空)組OF:不屬于F1和F2的其他友方角色(袁紹、龐統(tǒng))組E:未被橫置的、可生效的、不希望扣減體力的、明確的敵方角色
(夏侯淵、祝融)并判斷是否需要連環(huán)自己(不需要)第四十二頁,共127頁。確定使用方式(續(xù))分組后,優(yōu)先考慮為組F1中的友方角色解鎖(不需要)然后考慮組E中的敵方角色,發(fā)現(xiàn)其數(shù)目不少于2個因此依次將前2個敵方角色添加為使用目標即決定使用目標為:夏侯淵、祝融最終結(jié)果:龐統(tǒng)發(fā)動了技能“連環(huán)”將【決斗】(?A)當作一張〖鐵索連環(huán)〗(?A)對夏侯淵和祝融使用。第四十三頁,共127頁。神殺技能分類觸發(fā)技:
在特定時機發(fā)動的技能。
描述通常會具有類似“XX時機,你可以做XX”的結(jié)構(gòu)。視為技:
將一些牌視為另一些牌的技能。
描述通常會具有類似“你可以將XX牌當做XX牌使用”的結(jié)構(gòu)。特殊技
包括:禁止技、距離修正技、手牌上限技、目標增強技、攻擊范圍技、技能失效技等。游戲規(guī)則本質(zhì)上也屬于觸發(fā)技哦!第四十四頁,共127頁。關(guān)鍵概念:技能卡為了便于AI思考,引入“技能卡”的概念?!凹寄芸ā笔且环N虛構(gòu)的卡牌,用來表現(xiàn)特定技能的效果。制衡:
階段技,你可以棄置至少一張牌。若如此做,你摸等量的牌。制衡:(同義描述)
階段技,你可以將X張牌當做“制衡技能卡”使用(X至少為1)。制衡技能卡:
你摸X張牌。第四十五頁,共127頁。關(guān)鍵概念:技能卡意義:出牌階段的“主動發(fā)動技能”和“使用卡牌”自此在形式上得到了統(tǒng)一,簡化了AI的思考過程。在出牌階段空閑時間點主動發(fā)動的技能都是視為技!只不過有些是視為了卡牌,有些是視為了技能卡而已?!耙暈榧迹寄芸ā笔菍崿F(xiàn)許多技能效果的經(jīng)典搭配。衍生概念:
子卡——構(gòu)成技能卡的那些真正的卡牌,稱作該技能卡的子卡。第四十六頁,共127頁。出牌舉例(二)殘局階段,目前場上形勢如下:主公:標準版·曹操(3體力3牌,1號位)忠臣:標準版·貂蟬(1體力4牌,古錠刀、驊騮,2號位)【當前回合角色】
新標準版·郭嘉(1體力2牌,3號位)
新標準版·夏侯惇(1體力0牌,5號位)反賊:新標準版·劉備(1體力1牌,橫置,4號位)
標準版·司馬懿(1體力2牌,青釭劍,橫置,6號位)
標準版·華佗(1體力0牌,白銀獅子,橫置,7號位)內(nèi)奸不明已知貂蟬的手牌為:【閃】(?4)、【順手牽羊】(?4)、 【順手牽羊】(?3)、【兵糧寸斷】(?10)現(xiàn)在是貂蟬的出牌階段,貂蟬應當怎樣出牌呢?第四十七頁,共127頁。出牌舉例現(xiàn)在貂蟬該如何行動?第四十八頁,共127頁。思路是一樣的仍然要先確定有哪些可使用的卡牌然后對其按使用優(yōu)先級進行排序最后選出最高優(yōu)先級的卡牌,確定其具體的使用方式只是在確定可使用卡牌的時候這次還要把技能卡考慮進去:貂蟬擁有技能“離間”也就意味著還有一張卡牌——“離間技能卡”第四十九頁,共127頁。確定所有將可能使用的卡牌①【閃】(?4)②【順手牽羊】(?4)③【順手牽羊】(?3)④【兵糧寸斷】(?10)⑤“離間技能卡”(無花色,點數(shù)為0)——來自技能“離間”第五十頁,共127頁。嘗試使用,確定所有可用卡牌“離間技能卡”(無花色,點數(shù)0)第五十一頁,共127頁。例行公事……獲取預設(shè)的使用優(yōu)先級“離間技能卡”:4計算“動態(tài)使用優(yōu)先級”“離間技能卡”(無花色,點數(shù)0):4(不變)按優(yōu)先級進行排序排序結(jié)果:“離間技能卡”(無花色,點數(shù)0)最后決定使用的卡牌就是:“離間技能卡”(無花色,點數(shù)0)第五十二頁,共127頁。確定技能卡構(gòu)成采用手牌數(shù)大于體力時的策略首先將所有手牌按卡牌的保留價值從小到大進行排序然后找出第一個不為【桃】的:基本牌或裝備牌或【五谷豐登】結(jié)果為:【閃】(?4)——此即為“離間技能卡”的子卡所以貂蟬將用這張【閃】發(fā)動技能“離間”具體過程可參考:游戲目錄/lua/ai/nostalgia-ai.lua中的noslijian_skill.getTurnUseCard函數(shù)該函數(shù)最終調(diào)用了:游戲目錄/lua/ai/standard-ai.lua中的SmartAI:getLijianCard函數(shù)第五十三頁,共127頁。確定技能卡的使用目標首先排除特殊情況,如:
離間主公殺忠臣、收友方反賊、幫孫策主公覺醒、利用神關(guān)羽等然后將所有敵方男性角色按防御力從小到大排序排序結(jié)果:華佗、劉備、司馬懿發(fā)現(xiàn)第一目標華佗的體力為1并且沒有【殺】考慮離間主公收反賊華佗檢查主公可以使用【決斗】并且【決斗】對華佗有效因此決定使用目標為:華佗、曹操具體過程可參考:nostalgia-ai.lua中的sgs.ai_skill_use_func.NosLijianCard函數(shù)該函數(shù)最終調(diào)用了:standard-ai.lua中的SmartAI:findLijianTarget函數(shù)第五十四頁,共127頁。最終結(jié)果因此,貂蟬會將【閃】(?4)當做“離間技能卡”使用,目標是華佗和曹操表現(xiàn)在游戲界面上,就是貂蟬棄置了【閃】(?4),對華佗和曹操發(fā)動了技能“離間”第五十五頁,共127頁。場景2:響應請求根據(jù)請求類型找到對應的處理方案登記表根據(jù)請求原因在登記表中找到處理該請求的處理方案采用該方案處理請求,得出處理結(jié)果并進行響應第五十六頁,共127頁。請求類型及相應的處理方案登記表詢問技能發(fā)動:sgs.ai_skill_invoke表詢問卡牌使用:sgs.ai_skill_use表詢問卡牌響應:sgs.ai_skill_cardask表詢問卡牌分配:sgs.ai_skill_askforyiji表詢問棄牌或卡牌交換:sgs.ai_skill_discard表詢問卡牌展示:sgs.ai_cardshow表詢問拼點:sgs.ai_skill_pindian表第五十七頁,共127頁。請求類型及相應的處理方案登記表(續(xù))詢問選擇:sgs.ai_skill_choice表詢問花色選擇:sgs.ai_skill_suit表詢問角色選擇:sgs.ai_skill_playerchosen表詢問卡牌選擇:sgs.ai_skill_cardchosen表詢問五谷豐登選牌:sgs.ai_skill_askforag表詢問觀星(集中處理,無對應登記表)詢問無懈可擊(集中處理,無對應登記表)詢問瀕死求桃(集中處理,無對應登記表)第五十八頁,共127頁。響應舉例已知目前正在進行【萬箭齊發(fā)】的結(jié)算,當前場上形勢如下:主公:標準版·孫權(quán)(5體力1手牌,1號位)忠臣:標準版·孫尚香(1體力0手牌,青釭劍,2號位)
火·龐統(tǒng)(1體力2手牌,未涅槃,4號位)
新標準版·華佗(3體力3手牌,爪黃飛電,8號位)【當前回合角色】反賊:標準版·馬超(2體力3手牌,方天畫戟,3號位)
標準版·張遼(4體力2手牌,八卦陣,5號位)
林·曹丕(2體力3手牌,6號位)【當前決策角色】
新風·周泰(4體力3手牌,未不屈,7號位)內(nèi)奸不明此時曹丕因受到1點傷害正在被詢問選擇“放逐”的目標,應如何進行響應?第五十九頁,共127頁。響應舉例現(xiàn)在曹丕該如何作出響應?第六十頁,共127頁。響應處理過程這是一個“詢問角色選擇”類型的請求對應的處理方案登記表為sgs.ai_skill_playerchosen表請求的原因是“放逐”(代碼中表示為“fangzhu”)確定處理方案為sgs.ai_skill_playerchosen.fangzhu(是一個回調(diào)函數(shù))請求的信息為:(1)當前決策角色:曹丕(2)可選目標角色:孫權(quán)、孫尚香、馬超、龐統(tǒng)、張遼、周泰、華佗采用該處理方案處理請求,得出處理結(jié)果第六十一頁,共127頁。處理方案的具體決策過程更新角色身份和局勢信息,得知此時的——隊友:馬超、張遼、周泰敵人:孫權(quán)、孫尚香、龐統(tǒng)、華佗局勢:反賊優(yōu)勢(局勢評分:-13.100241)對所有隊友按手牌數(shù)從少到多進行排序排序結(jié)果:張遼(2)、馬超(3)、周泰(3)依次分析每名隊友,看是否有需要翻面的隊友(結(jié)果:沒有)根據(jù)摸牌數(shù)是否不少于3張采取不同的策略此時摸牌數(shù)為1,所以將采取少于3張時的策略第六十二頁,共127頁。處理方案的具體決策過程(續(xù))采用摸牌數(shù)少于3張時的策略:對所有敵人按防御力從小到大進行排序排序結(jié)果:孫尚香、龐統(tǒng)、華佗、孫權(quán)依次分析每個敵人,看是否有不希望被翻面且擁有技能“漫卷”的敵人結(jié)果:沒有依次分析每個敵人,看是否有不希望被翻面且擁有首要技能的敵人結(jié)果:孫尚香(擁有技能“結(jié)姻”)于是產(chǎn)生處理結(jié)果:選擇孫尚香,并以此作出響應第六十三頁,共127頁。首要技能(sgs.priority_skill)名單締盟好施青囊集智固政奇襲結(jié)姻國色斷糧舉薦反間離間漫卷突襲巧變庸肆制衡洛神仁德明策完殺同心極略安恤奇策銀鈴傾城后援昭心雙刃詐降陷嗣峻刑筆伐燕語甚賢天隕第六十四頁,共127頁。技能按效果分類需要失去裝備的技能(sgs.lose_equip_skill):梟姬、旋風等需要空城的技能(sgs.need_kongcheng):連營、空城等需要受傷的技能(sgs.masochism_skill):歸心、遺計等可以從判定中受益的技能(sgs.wizard_skill):鬼才、天妒等可以改判的技能(sgs.wizard_harm_skill):鬼才、鬼道等首要技能(sgs.priority_skill):締盟、青囊等可以救人的技能(sgs.save_skill):急救、補益等需要回避的技能(sgs.exclusive_skill):揮淚、斷腸等第六十五頁,共127頁。技能按效果分類(續(xù))需要卡牌的主動技能(sgs.Active_cardneed_skill):咆哮、天義等需要卡牌的被動技能(sgs.notActive_cardneed_skill):看破、鬼才等能從他人處獲得桃的技能(sgs.drawpeach_skill):突襲、巧變回復技能(sgs.recover_skill):仁德、狂骨等可以使用白銀獅子的技能(sgs.use_lion_skill):斷糧、奇襲等需要裝備牌的技能(sgs.need_equip_skill):神速、明策等直接造成傷害的技能(sgs.straight_damage_skill):強襲、旋風等可以多次使用殺的技能(sgs.double_slash_skill):咆哮、父魂等依靠體力上限的技能(sgs.need_maxhp_skill):再起、英魂等負面技能(sgs.bad_skills):崩壞、無謀等第六十六頁,共127頁。場景3:棄牌階段棄牌其實只是場景2“響應請求”在特定場合下的具體應用而已對應的處理方案為sgs.ai_skill_discard.gamerule函數(shù)首先對所有手牌按卡牌的保留價值由小到大進行排序然后依次分析每張手牌,判斷其是否可以棄置選取前N張可以被棄置的手牌進行棄置這里N為需要棄置牌的數(shù)目如果當前角色有技能“琴音”,則N為本次至少應棄置牌的數(shù)目第六十七頁,共127頁。卡牌的保留價值卡牌的保留價值包括預設(shè)的“卡牌保留值”、“技能保留值”、“花色保留值”、“點數(shù)保留值”和游戲中實時確定的“動態(tài)保留值”五類“卡牌保留值”只與卡牌類型有關(guān)(記錄在sgs.ai_keep_value表中)“技能保留值”與當前角色技能和卡牌類型有關(guān)
(記錄在sgs.技能名_keep_value表中)“花色保留值”與當前角色技能和卡牌花色有關(guān)
(記錄在sgs.技能名_suit_value表中)“點數(shù)保留值”與當前角色技能和卡牌點數(shù)有關(guān)
(記錄在sgs.技能名_number_value表中)“動態(tài)保留值”是綜合了上述因素并結(jié)合角色自身情況得出的卡牌保留價值第六十八頁,共127頁。棄牌舉例已知場上局勢如下(未提到的角色均已陣亡):主公:新標準版·曹操(2體力2牌,古錠刀、仁王盾、紫骍,1號位)忠臣:標準版·甄姬(2體力4牌,諸葛連弩、八卦陣、的盧,5號位)內(nèi)奸:火·太史慈(1體力0牌,4號位)反賊:標準版·馬超(2體力1牌,青龍偃月刀、白銀獅子,7號位)標準版·大喬(1體力0牌,8號位)當前為甄姬的棄牌階段,四張手牌為:【桃】(?2)、【酒】(?3)、【酒】(?9)、【酒】(?9)甄姬應選擇哪兩張牌進行棄牌?第六十九頁,共127頁。棄牌舉例現(xiàn)在甄姬應如何棄牌?第七十頁,共127頁。獲取預設(shè)的“卡牌保留值”桃:7(數(shù)據(jù)來自:游戲目錄/lua/ai/standard_cards-ai.lua)酒:4.1(數(shù)據(jù)來自:游戲目錄/lua/ai/maneuvering-ai.lua)閃:5.2(數(shù)據(jù)來自:游戲目錄/lua/ai/standard_cards-ai.lua)第七十一頁,共127頁。獲取預設(shè)的其它保留值甄姬擁有技能“洛神”(代碼“l(fā)uoshen”)和“傾國”(代碼“qingguo”)從表sgs.qingguo_suit_value中可以得到與“傾國”相關(guān)的花色保留值:黑桃:4.1草花:4.2(數(shù)據(jù)來自:游戲目錄/lua/ai/standard-ai.lua)沒有與這些技能有關(guān)的“技能保留值”或“點數(shù)保留值”第七十二頁,共127頁。計算“動態(tài)保留值”首先初步計算出每張卡牌的動態(tài)保留值:【桃】(?2):7【酒】(?3):max(4.1,5.2)+4.1=9.3【酒】(?9):max(4.1,5.2)+4.2=9.4【酒】(?9):4.1然后根據(jù)卡牌花色、同類卡牌數(shù)目等信息進行調(diào)整第七十三頁,共127頁。計算“動態(tài)保留值”(續(xù))然后根據(jù)卡牌花色、點數(shù)、同類卡牌數(shù)目等信息進行調(diào)整:【桃】(?2):7+0.001+0.002=7.003【酒】(?3):9.3+0.004+0.003=9.307【酒】(?9):9.4+0.003+0.009―1.2=8.212【酒】(?9):4.1+0.001+0.009―1.2―1.3=2.910最終AI將建議玩家棄掉兩張紅色牌,留下兩張黑色的【酒】。第七十四頁,共127頁。場景4:身份判斷根據(jù)角色行為推斷其對其他角色的敵意程度由此判斷其當前行為跳何種身份統(tǒng)計其跳各種身份的次數(shù)根據(jù)統(tǒng)計結(jié)果及各身份剩余人數(shù)等信息推測其真實身份注意:所有AI共享使用同一套身份判斷有關(guān)的數(shù)據(jù)唯一執(zhí)行身份判斷的AI稱為“記錄者”(sgs.recorder)第七十五頁,共127頁。身份的種類游戲中的身份:主公(lord)忠臣(loyalist)內(nèi)奸(renegade)反賊(rebel)AI視角的身份:主忠(loyalist)內(nèi)奸(renegade)反賊(rebel)待定(neutral)第七十六頁,共127頁。仇恨值(intention)用于表示一名角色對另一名角色敵意程度的量值為正數(shù)表示敵視(攻擊行為),為負數(shù)表示友好(示好行為)每當一名角色做出一次決策而導致游戲中的某個事件發(fā)生AI會記錄此事件的相關(guān)信息
并分析該角色在此事件中表現(xiàn)出來的對相關(guān)角色的動機傾向然后以此更新該角色對相關(guān)目標角色的仇恨值此功能由SmartAI:filterEvent函數(shù)組織完成(游戲目錄/lua/ai/smart-ai.lua)第七十七頁,共127頁。filterEvent函數(shù)功能:用于記錄和分析當前發(fā)生的事件的相關(guān)信息參數(shù):事件名(event)、當前視角角色(player)、信息數(shù)據(jù)(data)這里我們重點關(guān)注兩個事件:做出決定(sgs.ChoiceMade)卡牌確認目標后(sgs.TargetConfirmed)第七十八頁,共127頁。做出決定(sgs.ChoiceMade)是一個具有超前性的時機AI根據(jù)決定的具體類型調(diào)用對應的分析函數(shù)進行分析所有分析函數(shù)事先被寫進sgs.ai_choicemade_filter表中其中“決定的具體類型”包括:使用卡牌(cardUsed)卡牌響應(cardResponded)發(fā)動技能(skillInvoke)做出選擇(skillChoice)使用無懈可擊(Nullification)選擇角色(playerChosen)選擇卡牌(cardChosen)分配卡牌(Yiji)觀看卡牌(viewCards)拼點(pindian)第七十九頁,共127頁。仇恨值在“做出決定”中的體現(xiàn)在smart-ai.lua中集中處理的、與仇恨值密切相關(guān)的決定類型有選擇角色(playerChosen)使用無懈可擊(Nullification)分配卡牌(Yiji)其余類型與上述三種類型的處理方式類似分布在各個擴展包的AI文件中第八十頁,共127頁。與“做出決定”有關(guān)的兩類仇恨值角色選擇仇恨值:表示一名角色進行角色選擇時對目標角色的敵意程度記錄在sgs.ai_playerchosen_intention表中卡牌分配仇恨值:表示一名角色進行卡牌分配時對目標角色的敵意程度記錄在sgs.ai_Yiji_intention表中仇恨值還有一類——卡牌使用仇恨值,后面再談第八十一頁,共127頁。決定使用無懈可擊的仇恨值與被無懈可擊的錦囊牌所具有的仇恨值有關(guān)無懈可擊層級:當前場上已經(jīng)連續(xù)使用無懈可擊的次數(shù)如果被無懈可擊的錦囊牌不為【無懈可擊】:層級:重置為1仇恨值:該錦囊牌的卡牌使用仇恨值的相反數(shù)如果被無懈可擊的錦囊牌為【無懈可擊】:層級:增加1仇恨值:變?yōu)榍耙怀鸷拗档南喾磾?shù)第八十二頁,共127頁。卡牌確認目標后(sgs.TargetConfirmed)在卡牌即將生效之前,指定完目標之后的一個時機對應“卡牌使用仇恨值”分別更新卡牌使用者對每一個目標角色的敵意程度第八十三頁,共127頁。卡牌使用仇恨值表示一名角色對目標角色使用某類卡牌時體現(xiàn)出的敵意程度記錄在sgs.ai_card_intention表中角色選擇仇恨值、卡牌分配仇恨值和卡牌使用仇恨值雖然名為“值”但是都可以寫成函數(shù)形式,從而分情況表現(xiàn)不同的敵意程度第八十四頁,共127頁。敵意程度與跳身份之間的關(guān)系每名角色都有“偏忠”、“偏反”和“偏內(nèi)”三個計量對主忠角色表示敵意(仇恨值為正),“偏忠”計量下降對主忠角色表示友好(仇恨值為負),“偏忠”計量上升對反賊角色表示敵意(仇恨值為正),“偏反”計量下降對反賊角色表示友好(仇恨值為負),“偏反”計量上升如果場上存在內(nèi)奸,根據(jù)實際情況更新“偏內(nèi)”計量根據(jù)三個計量的值確定角色所跳的身份第八十五頁,共127頁。更新“偏內(nèi)”計量、判定內(nèi)奸的原則主忠內(nèi)局面,沒人跳過內(nèi)奸,忠臣之間相互攻擊:不更新原跳忠臣或內(nèi)奸,攻擊主忠:“偏內(nèi)”計量上升原跳反賊,示好主忠:“偏內(nèi)”計量上升原跳忠臣或內(nèi)奸,示好反賊:“偏內(nèi)”計量上升原跳反賊,攻擊反賊:“偏內(nèi)”計量上升第八十六頁,共127頁。特殊的跳身份行為游戲第一輪,若所有角色未跳過身份,對其他非主公角色使用火攻、殺、決斗或發(fā)動技能“銀鈴”,且不會對目標角色造成收益的,視為對主公表示友好,“偏忠”計量上升游戲前三輪,若未跳過身份,在棄牌階段棄牌時,被發(fā)現(xiàn)棄殺,而本可以殺主公:“偏忠”計量上升或者本可以殺其他已跳身份的角色:更新仇恨,進而影響計量被發(fā)現(xiàn)棄樂不思蜀、兵糧寸斷——思路類似第八十七頁,共127頁。身份判斷舉例當前局勢如下:主公:風·張角(4體力4牌,白銀獅子,1號位)【主視角角色】忠臣:神·趙云(2體力3牌,紫骍,2號位)【當前回合角色】
標準版·孫權(quán)(4體力3牌,方天畫戟、仁王盾,5號位)
新標準版·呂蒙(4體力2牌,朱雀羽扇、赤兔,8號位)反賊:風·夏侯淵(3體力2牌,3號位)
新風·于吉(1體力0牌,4號位)
新標準版·郭嘉(3體力2牌,6號位)
標準版·甄姬(3體力3牌,7號位)內(nèi)奸不明此時趙云用紫骍發(fā)動“龍魂”對張角使用了【殺】,這說明什么?第八十八頁,共127頁。身份判斷舉例原跳忠臣的趙云忽然開始殺主公?他是在跳內(nèi)奸么?第八十九頁,共127頁。分析過程首先排除流離、借刀殺人等特殊情況然后,由于殺的目標角色(張角)有技能“雷擊”并且從使用者(趙云)的角度,張角手牌中有【閃】同時此【殺】不能造成2點以上的大傷害以及場上存在明確的反賊角色(夏侯淵等)而且趙云沒有技能“烈弓”,而張角需要發(fā)動技能“雷擊”所以認為這是在與張角做配合,是對主公張角示好的行為結(jié)果:趙云的“偏忠”計量上升,在當前局面下不會被認為是內(nèi)奸第九十頁,共127頁。事后驗證趙云的身份是忠臣,判斷正確其他角色的身份如下:3號位:風·夏侯淵——反賊4號位:新風·于吉——反賊5號位:標準版·孫權(quán)——內(nèi)奸6號位:新標準版·郭嘉——反賊7號位:標準版·甄姬——反賊8號位:新標準版·呂蒙——忠臣第九十一頁,共127頁。身份判斷舉例(二)游戲第一輪,還沒有角色跳過身份,目前場上形勢如下:1號位:標準版·劉備(主公,5體力5牌)2號位:火·諸葛亮(3體力3牌,爪黃飛電,赤兔)3號位:標準版·孫權(quán)(4體力6牌,朱雀羽扇)【當前回合角色】4號位:標準版·甘寧(4體力4牌)5號位:新標準版·司馬懿(3體力4牌)6號位:風·周泰(4體力4牌)7號位:標準版·貂蟬(3體力4牌)【主視角角色,反賊】8號位:神·司馬懿(4體力4牌)此時孫權(quán)在其棄牌階段棄牌時棄置了兩張【殺】,這意味著什么?第九十二頁,共127頁。身份判斷舉例如何評價孫權(quán)的這一行為?第九十三頁,共127頁。分析過程孫權(quán)棄置了【殺】而孫權(quán)裝備有【朱雀羽扇】是可以殺到劉備主公的而且劉備也沒有影響其他角色使用【殺】的技能但孫權(quán)還是把【殺】棄掉了所以認為這是對劉備主公表示友好的行為結(jié)果:孫權(quán)的“偏忠”計量上升,在當前局面下被視為忠臣第九十四頁,共127頁。事后驗證孫權(quán)的身份是內(nèi)奸,在第一輪可以認為偏忠,判斷正確其他角色身份為:2號位:火·諸葛亮——忠臣4號位:標準版·甘寧——反賊5號位:新標準版·司馬懿——反賊6號位:風·周泰——反賊8號位:神·司馬懿——忠臣第九十五頁,共127頁。場景5:分析局勢首先統(tǒng)計場上忠臣和反賊的人數(shù)如果沒有反賊、有忠臣存活:主忠優(yōu)勢(評分:99分)如果沒有忠臣、有反賊存活:反賊優(yōu)勢(評分:―99分)然后根據(jù)所有存活角色的體力、防御力,
以及主公狀態(tài)等情況為局勢進行評分最后根據(jù)評分得出當前局勢評分越高,局勢越傾向于主忠方;越低,越傾向于反賊方第九十六頁,共127頁。兩個評分公式局勢評分公式:
局勢評分=主忠評分和―反賊評分和+(主忠人數(shù)―反賊人數(shù))×3角色評分公式:
角色評分=體力+max(防御力―體力×2,0)×0.5第九十七頁,共127頁。局勢分類主忠優(yōu)勢(loyalist)主忠稍優(yōu)(loyalish)反賊優(yōu)勢(rebel)反賊稍優(yōu)(rebelish)局勢平衡(neutral)局勢糾結(jié)(dilemma)第九十八頁,共127頁。局勢評分與局勢分類的關(guān)系評分區(qū)間主公健康主公危險評分≥4主忠優(yōu)勢局勢糾結(jié)2≤評分<4主忠稍優(yōu)局勢糾結(jié)―2<評分<2局勢平衡反賊稍優(yōu)―4<評分≤―2反賊稍優(yōu)反賊優(yōu)勢評分≤―4反賊優(yōu)勢第九十九頁,共127頁。角色防御力與角色的體力、手牌數(shù)、技能、裝備、座次等信息有關(guān)用于評估一名角色的生存能力主要指對【殺】的防御能力首先計算基本防御力,其值為:體力×2+手牌數(shù)然后根據(jù)角色的裝備情況和擁有的技能等信息在基本防御力的基礎(chǔ)上進行適當?shù)恼{(diào)整得出最終的角色防御力(參考:游戲目錄/lua/ai/smart-ai.lua中的sgs.getDefense函數(shù))第一百頁,共127頁。局勢分析舉例現(xiàn)在是標準版·甄姬的出牌階段,目前場上形勢如下:主公:標準版·孫權(quán)(5體力0牌,方天畫戟、八卦陣、的盧,1號位)忠臣:標準版·孫尚香(1體力1牌,2號位)
新標準版·馬超(2體力2牌,大宛,3號位)反賊:新標準版·貂蟬(2體力3牌,古錠刀、紫骍,樂不思蜀,6號位)
風·夏侯淵(1體力0牌,7號位)
風·周泰(4體力4牌,8號位)內(nèi)奸:標準版·甄姬(3體力3牌,雌雄雙股劍,5號位)【主視角角色】另有反賊:標準版·周瑜(4號位)已陣亡那么作為內(nèi)奸,甄姬應該如何評價場上局勢?第一百零一頁,共127頁。局勢分析舉例現(xiàn)在局勢如何?第一百零二頁,共127頁。初步判斷目前忠臣有孫尚香、馬超,共2名角色反賊有貂蟬、夏侯淵、周泰,共3名角色主公孫權(quán)非常健康,沒有危險當前角色甄姬的是5號位,但因4號位周瑜已陣亡,故座次為4同理,之后的貂蟬、夏侯淵、周泰的座次依次為5、6、7第一百零三頁,共127頁。計算各角色防御力(孫權(quán))基本防御力:5(體力)×2+0(手牌數(shù))=10裝備了防具【八卦陣】:防御力+2=12裝備了防御馬【的盧】:防御力+1=13身份是主公:防御力―0.4=12.6座次加成:防御力+{7(人數(shù))―[1(座次)―4(當前座次)]%7(人數(shù))}/4=13.35技能加成:防御力+2(技能數(shù))/4=13.85因此,孫權(quán)的防御力是13.85。第一百零四頁,共127頁。計算各角色防御力(孫尚香)基本防御力:1(體力)×2+1(手牌數(shù))=3擁有技能“結(jié)姻”:防御力+2.3=5.3體力不足2:防御力―0.4=4.9座次加成:防御力+{7(人數(shù))―[2(座次)―4(當前座次)]%7(人數(shù))}/4=5.4技能加成:防御力+2(技能數(shù))/4=5.9因此,孫尚香的防御力是5.9。第一百零五頁,共127頁。計算各角色防御力(馬超)基本防御力:2(體力)×2+2(手牌數(shù))=6體力不足2:防御力―0.4=5.6座次加成:防御力+{7(人數(shù))―[3(座次)―4(當前座次)]%7(人數(shù))}/4=5.85技能加成:防御力+2(技能數(shù))/4=6.35因此,馬超的防御力是6.35。第一百零六頁,共127頁。計算各角色防御力(貂蟬)基本防御力:2(體力)×2+3(手牌數(shù))=7體力不足2:防御力―0.4=6.6判定區(qū)有【樂不思蜀】:防御力―0.5=6.1擁有技能“離間”:防御力+2.2=8.3座次加成:防御力+{7(人數(shù))―[5(座次)―4(當前座次)]%7(人數(shù))}/4=9.8技能加成:防御力+2(技能數(shù))/4=10.3因此,貂蟬的防御力是10.3。第一百零七頁,共127頁。計算各角色防御力(夏侯淵)基本防御力:1(體力)×2+0(手牌數(shù))=2體力不足2:防御力―0.4=1.6座次加成:防御力+{7(人數(shù))―[6(座次)―4(當前座次)]%7(人數(shù))}/4=2.25技能加成:防御力+1(技能數(shù))/4=2.5因此,夏侯淵的防御力是2.5。第一百零八頁,共127頁。計算各角色防御力(周泰)基本防御力:4(體力)×2+4(手牌數(shù))=12座次加成:防御力+{7(人數(shù))―[7(座次)―4(當前座次)]%7(人數(shù))}/4=13技能加成:防御力+1(技能數(shù))/4=13.25因此,周泰的防御力是13.25。第一百零九頁,共127頁。計算主忠評分和根據(jù)公式:角色評分=體力+max(防御力―體力×2,0)×0.5可得主忠方各角色的評分為:孫權(quán):5+max(13.85―5×2,0)×0.5=6.925孫尚香:1+max(5.9―1×2,0)×0.5=2.95馬超:2+max(6.35―2×2,0)×0.5=3.175于是,主忠評分和為: 6.925+2.95+3.175=13.05第一百一十頁,共127頁。計算反賊評分和各反賊角色的評分為:貂蟬:2+max(10.3―2×2,0)×0.5=5.15夏侯淵:1+max(2.5―1×2,0)×0.5=1.25周泰:4+max(13.25―4×2,0)×0.5=6.625所以,反賊評分和為: 5.15+1.25+6.625=13.025第一百一十一頁,共127頁。局勢評分根據(jù)公式:局勢評分=主忠評分和―反賊評分和+(主忠人數(shù)―反賊人數(shù))×3可得當前局勢評分為: 13.05―13.025+(3―3)×3=0.025由于評分在(―2,2)范圍內(nèi),而且主公健康所以當前局勢為——局勢平衡第一百一十二頁,共127頁。場景6:聊天及其它每當一名玩家出現(xiàn)某個行為時在場電腦玩家就會有幾率地進行聊天也就是說,和身份判斷一樣聊天也是對當前發(fā)生的特定事件進行分析和處理的結(jié)果所以依然需要借助filterEven
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025湖北隨州市隨縣事業(yè)單位專項招聘隨軍家屬1人備考題庫及參考答案詳解
- 2025河北張家口市康保縣二人臺藝術(shù)團第二次招聘專業(yè)演職人員5人備考題庫及答案詳解1套
- 2025福建廈門市集美區(qū)寧寶幼兒園非在編廚房人員招聘1人備考題庫及完整答案詳解
- 2026廣東清遠市佛岡縣石角鎮(zhèn)招聘新城社區(qū)專職網(wǎng)格員1人備考題庫及答案詳解參考
- 2026中鐵四局集團有限公司招聘備考題庫及參考答案詳解1套
- 2026廣西北海市第三人民醫(yī)院招聘備考題庫及完整答案詳解一套
- 2026天津市口腔醫(yī)院專業(yè)技術(shù)崗位工作人員(人事代理制)招聘27人備考題庫及答案詳解(新)
- 2025年12月廣東廣州市天河區(qū)盈溪幼兒園招聘編外教輔人員1人備考題庫及1套參考答案詳解
- 2026四川成都新材料招聘秘書處工作人員的備考題庫及參考答案詳解1套
- 保險理賠流程與規(guī)范操作指南(標準版)
- 車輛叉車日常檢查記錄表
- 廣東高校畢業(yè)生“三支一扶”計劃招募考試真題2024
- 膠帶機硫化工藝.課件
- 種雞免疫工作總結(jié)
- 河南省商丘市柘城縣2024-2025學年八年級上學期期末數(shù)學試題(含答案)
- 河南省信陽市2024-2025學年高二上學期1月期末英語試題(含答案無聽力原文及音頻)
- 給女朋友申請書
- 八下《桃花源記》《小石潭記》全文背誦(原文+譯文)
- 【8地RJ期末】安徽省蕪湖市2024-2025學年八年級上學期期末考試地理試卷+
- 智能法理學習通超星期末考試答案章節(jié)答案2024年
- 長護險護理培訓課件
評論
0/150
提交評論