癩子麻將胡牌判斷

2021-09-25 23:04:58 字數 1320 閱讀 8444

// 牌值

var cardvalue = [

1,2,3,4,5,6,7,8,9,

11,12,13,14,15,16,17,18,19,

21,22,23,24,25,26,27,28,29,

31,41,51,61,71,81,91

]// 定撲

function ispu(cards, laizinum)

// 順子判斷

var index = 1;

if (cards[0] < 30)

if(cards[0] > 30)

for (var i = 0; i < 3; i++)

// 順子長度

var shuncount = 0;

for (var j = 0; j < 3; j++)

}if (shuncount == 3 || shuncount + laizinum >= 3)

else

}if (ispu(pucards, pulaizi)) }}

}// 刻子判斷

var kezicount = 1;

var kezicard = cards[0];

if (cards[1] == kezicard)

if (cards[2] == kezicard)

if (kezicount == 3 || kezicount + laizinum >= 3)

else

}if (ispu(pucards, pulaizi))

}return false;

}// 定將

function isjiang(cards, laizinum)

// 找到對子、或是用一張癩子拼出的對子

if ((i + 1 < cards.length && cards[i] == cards[i + 1]) || laizinum > 0)

else

// 刪去對子判斷剩下的牌是否成撲

if (ispu(pucards, pulaizi)) }}

// 兩個癩子做將牌

if (laizinum >= 2 && ispu(cards, laizinum - 2))

}// 判斷胡牌(東南西北 中發白成順)

function islaizihu(cards, laizinum)

// 排序

cards.sort(function(a, b) )

var ishu = isjiang(cards, laizinum)

if (ishu)

return false;

}

麻將胡牌演算法,帶癩子

貌似去年去面試一家公司,問了麻將的演算法。雖然之前做過廣東麻將,但是胡牌演算法在服務端,就沒有在意。現在在網上搜了一些演算法試了試 麻將普通的胡牌就是刻子 順子 將。癩子可以充當任意一張牌。網上蒐羅的演算法,先取將牌,然後遞迴判斷剩下的牌是否能組成刻子或順子。public canhulaizi ca...

棋牌麻將 無癩子胡牌演算法

本文涉及的所有名詞均在博文中有說明 去除雜念 由於字牌中只只允許出現對子和刻子,所以單獨處理字牌.返璞歸真 萬 筒 條牌等序數牌處理除了花色不同其他規則一致,所以忽略序數牌花色進行處理.分而治之 序數牌中存在關係的牌必須是連續的,不連續的牌之間不會存在關係,所以對連續牌進行分片.各司其職 單一分片能...

麻將胡牌判決

胡牌有以下幾種情況 1 乙個對子 4組 3個相同的牌或者順子。只有m s p是可以構成順子的。東西南北這樣的牌沒有順子。2 7個不同的對子。3 1m,9m,1p,9p,1s,9s,1c,2c,3c,4c,5c,6c,7c.這13種牌每種都有,而且僅有這13種牌。肯定是有一種2張。其他的1張。首先是列...