Os exemplos deste artigo descrevem como calcular o valor nominal dos cartões do Texas Hold'em por JS. Compartilhe para sua referência. Os detalhes são os seguintes:
1. O código é o seguinte:
Copie o código da seguinte forma: 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 () {
retornar this.color + this.show;
};
};
var z = function (arg) {// flush
var a = arg,
t = a [0];
for (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];
}outro{
retornar;
}
};
retornar "z" + t.ch;
};
var y = function (arg) {// quatro itens
var a = arg.map (função (p) {
retornar p.ch;
}).juntar(""),
mat = a.match (/(/w*) (/w)/2/2/2 (/w*)/);
if (mat) {
retornar "y"+mat [2]+mat [1]+mat [3];
}
};
var x = function (arg) {// cabaça
var a = arg.map (função (p) {
retornar p.ch;
}).juntar(""),
esteira;
if (mat = a.match (/(/w)/1 (/w)/2/2/)) {
retornar "x" + mat [2] + mat [1];
} else if (mat = a.match (/(/w)/1/1 (/w)/2/)) {
retornar "x" + mat [1] + mat [2];
}
};
var w = function (arg) {// sinônimos
var a = arg,
t = a [0];
for (var i = 1; i <A.Length; i ++) {
if (a [i] .color === t.color) {
t = a [i];
}outro{
retornar;
}
};
Retorne "W" + Arg.map (função (p) {
retornar p.ch;
}).juntar("");
};
var V = function (arg) {// shizi
var a = arg,
t = a [0];
for (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];
}outro{
retornar;
}
};
retornar "v" + t.ch;
};
var u = function (arg) {// três itens
var a = arg.map (função (p) {
retornar p.ch;
}).juntar(""),
esteira;
if (mat = a.match (/(/w*) (/w)/2/2 (/w*)/)) {
retornar "u" + mat [2] + mat [1] + mat [3];
}
};
var t = function (arg) {// dois pares
var a = arg.map (função (p) {
retornar p.ch;
}).juntar(""),
esteira;
if (mat = a.match (/(/w*) (/w)/2 (/w)/3 (/w*)/)) {
Retornar "T" + Mat [3] + Mat [2] + MAT [1] + MAT [4];
} else if (mat = a.match (/(/w)/1 (/w) (/w)/3/)) {
retornar "T" + Mat [3] + Mat [1] + Mat [2];
}
};
var s = function (arg) {// um par
var a = arg.map (função (p) {
retornar p.ch;
}).juntar(""),
esteira;
if (mat = a.match (/(/w*) (/w)/2 (/w*)/)) {
retornar "S" + Mat [2] + Mat [1] + Mat [3];
}
};
var r = function (arg) {// High Card
Retorne arg.map (função (p) {
retornar p.ch;
}).juntar("");
};
var score = function () {
var a = [] .map.call (argumentos, função (p) {
devolver novo poker (P);
}). Sort (função (p1, p2) {
retornar P1.num - p2.num;
});
console.log (A.Join (","));
retornar z (a) || y (a) || x (a) || W (a) || v (a) || u (a) || t (a) || s (a) || r (a);
};
console.log (pontuação (50, 49, 47, 46, 48)); // Flush
console.log (pontuação (36, 49, 23, 10, 48)); // quatro itens
console.log (pontuação (36, 49, 23, 22, 48)); // cabaça
console.log (pontuação (50, 40, 47, 43, 48)); // A mesma flor
console.log (pontuação (50, 36, 47, 46, 48)); // Shunzi
console.log (pontuação (36, 49, 25, 22, 48)); // dois pares
console.log (pontuação (36, 49, 20, 27, 47)); // um par
console.log (pontuação (36, 11, 20, 27, 47)); // Cartão alto
2. O efeito de operação é mostrado na figura abaixo:
Espero que este artigo seja útil para a programação JavaScript de todos.