ตัวอย่างบทความนี้อธิบายถึงวิธีการคำนวณมูลค่าหน้าของบัตร Texas Hold'em โดย 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,7,8,9,10, j, q, k, a",. แยก (",") [this.num];
this.color = "♠♥♦♦" [n / 13 | 0];
this.toString = function () {
ส่งคืนสิ่งนี้สี + 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];
} อื่นถ้า (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 (ฟังก์ชัน (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) {// Gourd
var a = arg.map (ฟังก์ชัน (p) {
กลับ P.CH;
}).เข้าร่วม(""),
เสื่อ;
if (mat = a.match (/(/w)/1 (/w)/2/2/)) {
ส่งคืน "x" + mat [2] + mat [1];
} อื่นถ้า (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 (ฟังก์ชั่น (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];
} อื่นถ้า (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 (ฟังก์ชัน (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 (ฟังก์ชัน (p) {
กลับ P.CH;
}).เข้าร่วม(""),
เสื่อ;
if (mat = a.match (/(/w*) (/w)/2 (/w)/3 (/w*)/)) {
return "t" + mat [3] + mat [2] + mat [1] + mat [4];
} อื่นถ้า (mat = a.match (/(/w)/1 (/w) (/w)/3/)) {
ส่งคืน "t" + mat [3] + mat [1] + mat [2];
-
-
var s = function (arg) {// a คู่
var a = arg.map (ฟังก์ชัน (p) {
กลับ P.CH;
}).เข้าร่วม(""),
เสื่อ;
if (mat = a.match (/(/w*) (/w)/2 (/w*)/)) {
return "s" + mat [2] + mat [1] + mat [3];
-
-
var r = function (arg) {// high card
return arg.map (ฟังก์ชั่น (p) {
กลับ P.CH;
}).เข้าร่วม("");
-
คะแนน var = function () {
var a = [] .map.call (อาร์กิวเมนต์, ฟังก์ชัน (p) {
คืนโป๊กเกอร์ใหม่ (P);
}). เรียงลำดับ (ฟังก์ชั่น (p1, p2) {
กลับ p1.num - p2.num;
-
console.log (a.join (","));
return z (a) || y (a) || x (a) || w (a) || V (A) || คุณ (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)); // การ์ดสูง
2. เอฟเฟกต์การดำเนินการแสดงในรูปด้านล่าง:
ฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม JavaScript ของทุกคน