吃牌分為三種:
左吃: 左吃牌牌值一定是大於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...