大家寫過遊戲都會發現,每一種遊戲牌的組成型別不一樣的,比如鬥地主判斷牌型,和德州判斷牌型就不一樣,最近寫德州撲克遊戲發現其實所有判斷牌型的演算法都是一樣的。
挑出牌出4張,3張,2張,1張出現的次數,然後各自組合看能出什麼樣的牌型,最後就能確定下來具體的牌型。下面是具體的**實現。。。。
一.判斷牌型
定義乙個結構來表示每張相同牌的資訊。
//分析結構
structtaganalyseresult
;
當我們需要判斷牌型的時候,先分析牌把對應的資料存放到上面的結構體。然後根據不同牌型的規則來判斷即可。主要通過下面2個函式.話不多說直接上源**:
1.
//分析撲克(引數
:1將要出牌的資料,出牌的張數
,out
存放分析的結構體)
void cgamelogic::analysebcarddata(constbyte cbcarddata, byte cbcardcount, taganalyseresult & analyseresult)
//三牌判斷
if(analyseresult.cbthreecount>0)
casect_three_line_take_one:
casect_three_line_take_two:
casect_four_line_take_one:
casect_four_line_take_two:
}returnfalse;
}
棋牌遊戲判斷牌型演算法 適合所有的棋牌遊戲
大家寫過遊戲都會發現,每一種遊戲牌的組成型別不一樣的,比如鬥地主判斷牌型,和德州判斷牌型就不一樣,最近寫德州撲克遊戲發現其實所有判斷牌型的演算法都是一樣的。挑出牌出4張,3張,2張,1張出現的次數,然後各自組合看能出什麼樣的牌型,最後就能確定下來具體的牌型。下面是具體的 實現。一 判斷牌型 定義乙個...
地主演算法之判斷牌型
地主演算法之判斷牌型 每個遊戲都有屬於自己的規則,當然地主也不例外,常鬥地主的朋友可能知道在鬥地主裡面一共有13種牌型,你所出的牌必須符合13種的一種才能夠出得了牌,這個就叫地主的規則。那麼我們下面可以通過乙個列舉結構來表示每一種的牌型,在這裡我們把錯誤的牌型也當成是一種牌型。enum card t...
鬥地主演算法1判斷牌型
using unityengine using system.collections.generic 牌型 3 4 5 6 7 8 9 10 11 j 12 q 13 k 14 a 15 2 16 小王 17 大王 public class ddz cardtype 是否是單張 public sta...