تصف أمثلة هذه المقالة كيفية حساب القيمة الاسمية لبطاقات 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،9،10 ، j ، q ، k ، a" ،. split ("،") [this.num] ؛
this.color = "♠ ♥ ♣ ♦" [n / 13 | 0] ؛
this.toString = function () {
إرجاع this.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] ؛
} آخر إذا (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*)/) ؛
إذا (حصيرة) {
إرجاع "y"+mat [2]+mat [1]+mat [3] ؛
}
} ؛
var x = function (arg) {// gourd
var a = arg.map (function (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) {// synonyms
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] ؛
} آخر إذا (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] ؛
} آخر إذا (mat = a.match (/(/w)/1 (/w) (/w)/3/)) {
إرجاع "t" + mat [3] + mat [1] + mat [2] ؛
}
} ؛
var s = function (arg) {// a pair
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 (وظيفة (ع) {
العودة P.CH ؛
}).ينضم("")؛
} ؛
VAR SCORE = function () {
var a = [] .map.call (وسيطات ، وظيفة (p) {
إرجاع لعبة البوكر الجديدة (P) ؛
}). الفرز (وظيفة (p1 ، p2) {
إرجاع p1.num - p2.num ؛
}) ؛
console.log (A.Join ("،")) ؛
العودة z (a) || y (a) || x (a) || ث (أ) || الخامس (أ) || ش (أ) || T (أ) || S (أ) || ص (أ) ؛
} ؛
console.log (Score (50 ، 49 ، 47 ، 46 ، 48)) ؛ // تدفق
console.log (Score (36 ، 49 ، 23 ، 10 ، 48)) ؛ // أربعة عناصر
console.log (SCORE (36 ، 49 ، 23 ، 22 ، 48)) ؛ // قرع
console.log (Score (50 ، 40 ، 47 ، 43 ، 48)) ؛ // نفس الزهرة
console.log (Score (50 ، 36 ، 47 ، 46 ، 48)) ؛ // شونزي
console.log (Score (36 ، 49 ، 25 ، 22 ، 48)) ؛ // اثنين من أزواج
console.log (SCORE (36 ، 49 ، 20 ، 27 ، 47)) ؛ // زوج
console.log (SCORE (36 ، 11 ، 20 ، 27 ، 47)) ؛ // بطاقة عالية
2. يظهر تأثير التشغيل في الشكل أدناه:
آمل أن تكون هذه المقالة مفيدة لبرمجة JavaScript للجميع.