棋牌源碼開發-牛牛算法思路
1、牌型大小 本牌型依次大小為: K、Q、J、10、9、8、7、6、5、4、3、2 、A
2、出牌順序 每位玩家將牌型編排好之後可以出牌,莊家是最後一個亮牌的。
3、牌型,特殊牌型 J、Q、K都是當10點,然後A是當1點,其他的牌型當自身的點數。
4、牌型組合 牌局開始每個人手中都有五張牌,然後玩家需要將手中任意三張牌湊成10點或20點或30點都可以,這樣是被稱之為牛。接下來在將其余的兩張的點數相加得出幾點。去掉十位數,只留個位數來進行比較,如果接下來兩張的相加點數也正好是整數的話,那就是最大的牌型:“牛牛”。
5、牌型大小比較 當莊家與閑家同時出現相同點數時,系統自動將兩家手中牌的最大那一張進行比較,誰大就由誰獲得勝利。如果出現牌也相同大的話,就按花色來進行比較,花色的比較與梭哈的花色比較類同。(以下代碼僅供參考,不足之處歡迎點評QQ2189563389 棋牌源碼開發 www.yasewl.com)
[javascript] view plain copy
function getRandom() {
return parseInt(2 + (9 - 2 + 1) * Math.random());
}
function getCards() {
var arr = [];
var count = 5;
while (count--) {
arr.push(getRandom());
}
return arr;
}
function cal(cards) {
console.log(cards);
var s = 0;
var
for (var i = 0; i < cards.length; i++) {
var ci = cards[i];
s += ci;
dict[ci] = dict[ci] === undefined ? 1 : dict[ci] + 1;
};
var point = s % 10;
var exists = false;
for (var i in dict) {
var other = (10 + point - i) % 10;
if (dict[other]) {
if ((other == i && dict[other] >= 2) || (other!=i&&dict[other] >= 1)) {
exists = true;
break;
}
}
}
return exists ? point : -1;
}
console.log(cal(getCards()));
// console.log(cal([6, 6, 9, 3, 9]));
本文出自 “棋牌源碼搭建教程” 博客,請務必保留此出處http://13114207.blog.51cto.com/13104207/1945232
棋牌源碼開發-牛牛算法思路