この記事の例では、JSによるテキサスHold'emカードの額面を計算する方法について説明します。参照のためにそれを共有してください。詳細は次のとおりです。
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(){
this.color + this.show;
};
};
var z = function(arg){//フラッシュ
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];
}それ以外{
戻る;
}
};
「z」 + t.chを返します。
};
var y = function(arg){// 4項目
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){// gourd
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){// synonyms
var a = arg、
t = a [0];
for(var i = 1; i <a.length; i ++){
if(a [i] .color === t.color){
t = a [i];
}それ以外{
戻る;
}
};
return "w" + arg.map(function(p){
p.chを返します。
})。参加する("");
};
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];
}それ以外{
戻る;
}
};
"v" + t.chを返します。
};
var u = function(arg){// 3つの項目
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){// 2ペア
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){//ハイカード
return arg.map(function(p){
p.chを返します。
})。参加する("");
};
var score = function(){
var a = [] .map.call(arguments、function(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)); // 4つのアイテム
console.log(スコア(36、49、23、22、48)); // Gourd
console.log(スコア(50、40、47、43、48)); //同じ花
console.log(スコア(50、36、47、46、48)); // Shunzi
console.log(スコア(36、49、25、22、48)); // 2つのペア
console.log(スコア(36、49、20、27、47)); //ペア
console.log(スコア(36、11、20、27、47)); //ハイカード
2。操作効果を下の図に示します。
この記事がみんなのJavaScriptプログラミングに役立つことを願っています。