鬥地主演算法需求分析

2021-08-30 15:16:20 字數 641 閱讀 4837

資料定義(參考上一章)清晰之後,我們要對整體的鬥地主邏輯做乙個需求分析。 以下基本上就是鬥地主演算法的所有內容。

牌的排序

排序可以讓演算法變得更簡單。將來不做具體描述,比較簡單。

必須重點說明的是,以下所有演算法給定的牌型都是經過排序的,也就是從大到小。

牌的統計

所有的單牌,大小王屬於單牌。

所有的對子

所有的三條

所有的炸彈

這裡沒有交叉,也就是說對子不能拆到單牌裡。

牌型分析

單牌對子

三條三帶一

三呆雙順子

連隊飛機

飛機帶單張

飛機帶對子

四條帶單張

四條帶對子

炸彈王炸

牌的查詢

所有的單牌,根據具體情況判斷是否拆解對子,三條,炸彈。

所有的對子,根據具體情況判斷是否拆解三條,炸彈

所有的三條,根據具體情況判斷是否拆解炸彈

所有的炸彈

所有的順子

所有的飛機

所有的連隊

牌的組合

也就是從五張單牌裡選兩張的所有組合

牌的提示

根據給出的牌,篩選出可以出的所有出牌列表

鬥地主出牌演算法

根據鬥地主出牌規則.對玩家出的牌進行檢驗.判斷是否符合出牌規則.關於鬥地主的出牌規則網上有很多 思路 將玩家的牌按公升序排序.然後將牌進行拆分,分存在4個陣列中.拆分規則如下 假設有牌 333 444 555 789 則拆分後陣列中的資料如下 arr 0 345789 arr 1 345 arr 2...

鬥地主AI演算法實現

鬥地主ai演算法實現 一 拆牌 by wojiushi3344 棋牌遊戲開發專欄 首先我們來看一下ai的定義 人工智慧 artificial intelligence 簡稱ai。它是研究 開發用於模擬 延伸和擴充套件人的智慧型的理論 方法 技術及應用系統的一門新的技術科學。人工智慧研究如何用計算機去...

鬥地主中跟牌邏輯分析

qlistmethod playbeathand hand hand 壓雙排 else if hand.gethandtype hand pair 如果壓雙牌,盡量從雙牌中挑 player nextplayer m player getnextplayer 從手牌中查詢相同牌型 qlist beat...