鬥地主演算法1判斷牌型

2021-08-18 08:06:44 字數 2942 閱讀 2121

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

static

bool

issingle(list card)

////// 是否是對子

//////

///public

static

bool

isdouble(list card)

else

}///

/// 是否是三張

//////

///public

static

bool

isthree(list card)

else

}///

/// 是否是三代一

//////

///public

static

bool

isthreeone(list card)

else

if (card[2] != card[3])//第四張是單張

else

}else

}///

/// 是否是三代二

//////

///public

static

bool

isthreetwo(list card)

else

if (card[3] == card[4])//後2張是對子

else

}else

}///

/// 是否是順子45678

//////

///public

static

bool

isshunzi(list card)

if (card[i] == 15 || card[i] == 16 || card[i] == 17)//順子不能是2和2王

return

false;

}return

true;

}else

}///

/// 是否是連對334455

//////

///public

static

bool

isliandui(list card)

return

true;

}else

}///

/// 是否是飛機333444

//////

///public

static

bool

isflay(list card)

return

true;

}else

}///

/// 是否是飛機帶單

//////

/////public bool isflayone(listcard)

/////

/// 是否是炸彈

//////

///public

static

bool

isboom(list card)

else

}else

if (card.count == 4)

else

}return

true;

}else

}///

/// 炸彈帶單張

//////

///public

static

bool

isboomone(list card)

else

if (card.count == 5)

else

}return

true;

}else

if (card[3] != card[4])

else

}return

true;

}else

return

false;

}else

return

false;

}///

/// 炸彈帶對子

//////

///public

static

bool

isboomtwo(list card)

else

if (card.count == 6)

else

return

false;

}///

/// 判讀牌的型別

//////

///public

static ddz_cardtypes getcardtype(list card)

else

if (isdouble(card))

else

if (isthree(card))

else

if (isthreeone(card))

else

if (isthreetwo(card))

else

if (isshunzi(card))

else

if (isliandui(card))

else

if (isflay(card))

else

if (isboom(card))

else

if (isboomone(card))

else

if (isboomtwo(card))

else

return type;

}}

————-還沒有寫完待完善,後面繼續更新

鬥地主含賴子的牌型判斷演算法

打出n張牌 可能含有賴子 需要判斷這n張牌能組成什麼牌型 對子 順子 飛機 整體思路 假設我們已經提前那種牌作為癩子。1 找出n張牌中的賴子,假設有m個賴子 2 計算出這剩餘n m張牌的牌值,存到和牌值一一對應的陣列,並記錄對應數量。3 計算剩餘牌能組成對應牌型所需要的賴子是否滿足需要。定義撲克陣列...

地主演算法之判斷牌型

地主演算法之判斷牌型 每個遊戲都有屬於自己的規則,當然地主也不例外,常鬥地主的朋友可能知道在鬥地主裡面一共有13種牌型,你所出的牌必須符合13種的一種才能夠出得了牌,這個就叫地主的規則。那麼我們下面可以通過乙個列舉結構來表示每一種的牌型,在這裡我們把錯誤的牌型也當成是一種牌型。enum card t...

鬥地主AI演算法 第六章 牌型判斷

本章實現了上一章提到的檢查當前是否只是一手牌函式ins surcardstype 檢查剩餘的牌是否只是一手牌 是 返回手牌型別資料 不是 返回錯誤型別 cgerror cardgroupdata ins surcardstype int arr 輸入很簡單,就是乙個狀態陣列。輸出是手牌型別結構 牌型...