麻將演算法(四)吃牌

2021-08-09 17:21:45 字數 507 閱讀 1497

吃牌分為三種:

左吃:  左吃牌牌值一定是大於0小於6的

中吃:  中吃牌牌值一定是大於1小於7的

右吃:  右吃牌牌值一定是大於2小於8的

因此,如果傳進來的是牌值,需要將其轉化為索引,是索引的話就直接進行對9取餘的操作,進入篩選,如果是左吃的話,傳進來的牌一定不等於這個連牌中的第乙個值,同理,中吃和右吃不等於第二

和的三個位置,切這三個位置中的數量一定不為零。執行以上操作。就會得到吃牌的型別:

int cbexcursion = ;

int cbitemkind = ;

//吃牌判斷

int cbeatkind = 0, cbfirstindex = 0;

int cbcurrentindex = switchtocardindex(cbcurrentcard);   ///這裡傳進來的是牌值

for (int i = 0; i < cbitemkind.length; i++)

}return cbeatkind;

麻將胡牌演算法

majiang algorithm是帶多張鬼牌的通用胡牌演算法,採用查表方式,簡單高效。在生成表的階段,時間是不值錢的,所以生成方法我們可以任意窮舉。首先分為普通 風 箭三張表。窮舉出所有的key,比如普通表,就是000000000 444420000,因為每一種牌最大4張,且總和不超過14張牌。對...

麻將胡牌演算法 C

這裡只介紹普通的麻將胡牌演算法,也就是7個對子或者 1個對子 3 n n 三個順子或者三個一樣的 其中字牌 東南西北中發白 不能算順子。首先對於每張牌 它有牌的的數字 1 9,牌的種類 萬條筒以及字 所以先封裝乙個牌的包裝類。如果要和伺服器互動的話就應該給這個類序列化 即加上system.seria...

麻將無賴子胡牌演算法

include typedef unsigned char uchar typedef unsigned short ushort define max count 14 define wik null 0 define wik chi hu 0x40 uchar analysedeletepair...