Contoh artikel ini menjelaskan cara menghitung nilai nominal kartu Texas Hold'em oleh JS. Bagikan untuk referensi Anda. Dengan rincian sebagai berikut:
1. Kode ini adalah sebagai berikut:
Salin kode sebagai berikut: 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 () {
kembalikan this.color + this.show;
};
};
var z = fungsi (arg) {// flush
var a = arg,
t = a [0];
untuk (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];
}kalau tidak{
kembali;
}
};
mengembalikan "z" + t.ch;
};
var y = fungsi (arg) {// empat item
var a = arg.map (function (p) {
mengembalikan P.ch;
}).bergabung(""),
mat = a.match (/(/w*) (/w)/2/2/2 (/w*)/);
if (mat) {
return "y"+mat [2]+mat [1]+mat [3];
}
};
var x = fungsi (arg) {// labu
var a = arg.map (function (p) {
mengembalikan P.ch;
}).bergabung(""),
tikar;
if (mat = a.match (/(/w)/1 (/w)/2/2/)) {
return "x" + mat [2] + mat [1];
} lain jika (mat = a.match (/(/w)/1/1 (/w)/2/)) {
return "x" + mat [1] + mat [2];
}
};
var w = function (arg) {// sinonim
var a = arg,
t = a [0];
untuk (var i = 1; i <a.length; i ++) {
if (a [i] .color === t.color) {
t = a [i];
}kalau tidak{
kembali;
}
};
return "w" + arg.map (function (p) {
mengembalikan P.ch;
}).bergabung("");
};
var v = function (arg) {// shizi
var a = arg,
t = a [0];
untuk (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];
}kalau tidak{
kembali;
}
};
mengembalikan "V" + t.ch;
};
var u = function (arg) {// tiga item
var a = arg.map (function (p) {
mengembalikan P.ch;
}).bergabung(""),
tikar;
if (mat = a.match (/(/w*) (/w)/2/2 (/w*)/)) {
return "u" + mat [2] + mat [1] + mat [3];
}
};
var t = function (arg) {// dua pasangan
var a = arg.map (function (p) {
mengembalikan P.ch;
}).bergabung(""),
tikar;
if (mat = a.match (/(/w*) (/w)/2 (/w)/3 (/w*)/)) {
return "t" + mat [3] + mat [2] + mat [1] + mat [4];
} lain jika (mat = a.match (/(/w)/1 (/w) (/w)/3/)) {
return "t" + mat [3] + mat [1] + mat [2];
}
};
var s = fungsi (arg) {// pasangan
var a = arg.map (function (p) {
mengembalikan P.ch;
}).bergabung(""),
tikar;
if (mat = a.match (/(/w*) (/w)/2 (/w*)/)) {
return "s" + mat [2] + mat [1] + mat [3];
}
};
var r = fungsi (arg) {// kartu tinggi
return arg.map (function (p) {
mengembalikan P.ch;
}).bergabung("");
};
var skor = function () {
var a = [] .map.call (argumen, fungsi (p) {
Return New Poker (P);
}). sort (function (p1, p2) {
return p1.num - p2.num;
});
console.log (a.join (","));
return z (a) || y (a) || x (a) || w (a) || V (a) || u (a) || t (a) || s (a) || r (a);
};
Console.log (skor (50, 49, 47, 46, 48)); // flush
Console.log (skor (36, 49, 23, 10, 48)); // Empat item
Console.log (skor (36, 49, 23, 22, 48)); // labu
console.log (skor (50, 40, 47, 43, 48)); // Bunga yang sama
console.log (skor (50, 36, 47, 46, 48)); // shunzi
console.log (skor (36, 49, 25, 22, 48)); // Dua pasang
Console.log (skor (36, 49, 20, 27, 47)); // sepasang
Console.log (skor (36, 11, 20, 27, 47)); // kartu tinggi
2. Efek operasi ditunjukkan pada gambar di bawah ini:
Saya harap artikel ini akan membantu pemrograman JavaScript semua orang.