В этой статье примеры описываются, как рассчитать стоимость лица Texas Hold'em Cards от JS. Поделитесь этим для вашей ссылки. Детали следующие:
1. Код выглядит следующим образом:
Скопируйте код следующим образом: var poker = function (n) {
this.num = (n % 13) + 2;
this.ch = this.num> 9? ("abcdef" [this.num-10]): this.num;
this.show = "0,1,2,3,4,5,6,7,8,9,10, j, Q, k, a",. Split (",") [this.num];
this.color = "♠ ♥ ♣ ♦" [n / 13 | 0];
this.ToString = function () {
вернуть это.color + this.show;
};
};
var z = function (arg) {// flush
var a = arg,
t = a [0];
для (var i = 1; i <a.length; i ++) {
if (a [i] .color === t.color && a [i] .num === t.num + 1) {
t = a [i];
} else if (i === a.length-1 && t.num === 5 && a [i] .num === 14 && a [i] .color === t.color) {
t = a [0];
}еще{
возвращаться;
}
};
вернуть "z" + t.ch;
};
var y = function (arg) {// четыре элемента
var a = arg.map (function (p) {
вернуть P.CH;
}).присоединиться(""),
mat = a.match (/(/w*) (/w)/2/2/2 (/w*)/);
if (mat) {
вернуть "y"+mat [2]+mat [1]+mat [3];
}
};
var x = function (arg) {// тыква
var a = arg.map (function (p) {
вернуть P.CH;
}).присоединиться(""),
мат;
if (mat = a.match (/(/w)/1 (/w)/2/2/)) {
вернуть "x" + mat [2] + mat [1];
} else if (mat = a.match (/(/w)/1/1 (/w)/2/)) {
вернуть "x" + mat [1] + mat [2];
}
};
var w = function (arg) {// синонимы
var a = arg,
t = a [0];
для (var i = 1; i <a.length; i ++) {
if (a [i] .color === t.color) {
t = a [i];
}еще{
возвращаться;
}
};
вернуть "w" + arg.map (function (p) {
вернуть P.CH;
}).присоединиться("");
};
var v = function (arg) {// shizi
var a = arg,
t = a [0];
для (var i = 1; i <a.length; i ++) {
if (a [i] .num === t.num + 1) {
t = a [i];
} else if (i === a.length-1 && t.num === 5 && a [i] .num === 14) {
t = a [0];
}еще{
возвращаться;
}
};
вернуть "V" + t.ch;
};
var u = function (arg) {// три элемента
var a = arg.map (function (p) {
вернуть P.CH;
}).присоединиться(""),
мат;
if (mat = a.match (/(/w*) (/w)/2/2 (/w*)/)) {
вернуть "u" + mat [2] + mat [1] + mat [3];
}
};
var t = function (arg) {// две пары
var a = arg.map (function (p) {
вернуть P.CH;
}).присоединиться(""),
мат;
if (mat = a.match (/(/w*) (/w)/2 (/w)/3 (/w*)/)) {
вернуть "t" + mat [3] + mat [2] + mat [1] + mat [4];
} else if (mat = a.match (/(/w)/1 (/w) (/w)/3/)) {
вернуть "t" + mat [3] + mat [1] + mat [2];
}
};
var s = function (arg) {// пара
var a = arg.map (function (p) {
вернуть P.CH;
}).присоединиться(""),
мат;
if (mat = a.match (/(/w*) (/w)/2 (/w*)/)) {
вернуть "S" + mat [2] + mat [1] + mat [3];
}
};
var r = function (arg) {// High Card
вернуть arg.map (function (p) {
вернуть P.CH;
}).присоединиться("");
};
var bass = function () {
var a = [] .map.call (аргументы, функция (p) {
вернуть новый покер (P);
}). Sort (function (p1, p2) {
возврат p1.num - p2.num;
});
console.log (a.join (","));
Вернуть z (a) || y (a) || x (a) || W (A) || V (A) || u (a) || t (a) || S (A) || r (a);
};
Console.log (оценка (50, 49, 47, 46, 48)); // Румянец
Console.log (оценка (36, 49, 23, 10, 48)); // четыре пункта
Console.log (оценка (36, 49, 23, 22, 48)); // тыква
Console.log (оценка (50, 40, 47, 43, 48)); // тот же цветок
Console.log (оценка (50, 36, 47, 46, 48)); // Shunzi
Console.log (оценка (36, 49, 25, 22, 48)); // две пары
Console.log (оценка (36, 49, 20, 27, 47)); // пара
Console.log (оценка (36, 11, 20, 27, 47)); // High Card
2. Эффект работы показан на рисунке ниже:
Я надеюсь, что эта статья будет полезна для каждого программирования JavaScript.