texas-poker-core 1.4.33 → 1.4.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/dist/Deck/handCompare.js +13 -5
- package/dist/Deck/handEvaluation.js +1 -1
- package/package.json +1 -1
- package/types/Deck/handCompare.d.ts +1 -1
package/README.md
CHANGED
|
@@ -732,4 +732,8 @@ reject modulo bias
|
|
|
732
732
|
增加 RunoutHandsRevealed 跑马亮底牌事件;无人须贴入座大盲时不发 PostedJoiningBigBlinds 空事件
|
|
733
733
|
|
|
734
734
|
## 1.4.33
|
|
735
|
-
|
|
735
|
+
|
|
736
|
+
fix: ensure types are included in npm package
|
|
737
|
+
|
|
738
|
+
## 1.4.34
|
|
739
|
+
fix(deck): encode four-of-a-kind kicker in rank signature
|
package/dist/Deck/handCompare.js
CHANGED
|
@@ -56,7 +56,7 @@ function straightRanksFromMax(max) {
|
|
|
56
56
|
/**
|
|
57
57
|
* 将 `RankSignature` 展开为五张牌的点数(`Rank`),与 `getFiveCardsRankSignature` 编码对称。
|
|
58
58
|
* 顺子 wheel(`u5`/`y5`)为 5→A 展示顺序,A 在末位;Broadway 仍为 A→T。
|
|
59
|
-
* `x
|
|
59
|
+
* `x`(四条)签名为「四条点数+踢脚」,如 `x2+14`;旧格式 `x2`(无踢脚)仍可读,第五位为 `null`。
|
|
60
60
|
*/
|
|
61
61
|
function rankSignatureToRanks(rankSignature) {
|
|
62
62
|
var category = rankSignature[0];
|
|
@@ -127,11 +127,18 @@ function rankSignatureToRanks(rankSignature) {
|
|
|
127
127
|
}
|
|
128
128
|
case 'x':
|
|
129
129
|
{
|
|
130
|
-
if (nums.length
|
|
131
|
-
|
|
130
|
+
if (nums.length === 1) {
|
|
131
|
+
var q = numericRankToRank(nums[0]);
|
|
132
|
+
return [q, q, q, q, null];
|
|
133
|
+
}
|
|
134
|
+
if (nums.length === 2) {
|
|
135
|
+
var _nums$map7 = nums.map(numericRankToRank),
|
|
136
|
+
_nums$map8 = _slicedToArray(_nums$map7, 2),
|
|
137
|
+
quad = _nums$map8[0],
|
|
138
|
+
kicker = _nums$map8[1];
|
|
139
|
+
return [quad, quad, quad, quad, kicker];
|
|
132
140
|
}
|
|
133
|
-
|
|
134
|
-
return [q, q, q, q, null];
|
|
141
|
+
throw new Error("rankSignatureToRanks: x \u578B\u7B7E\u540D\u987B\u4E3A\u300C\u56DB\u6761\u300D\u6216\u300C\u56DB\u6761+\u8E22\u811A\u300D\u5171 1\u20132 \u6BB5\uFF0C\u5B9E\u9645 ".concat(nums.length));
|
|
135
142
|
}
|
|
136
143
|
default:
|
|
137
144
|
throw new Error("rankSignatureToRanks: \u672A\u77E5\u724C\u578B\u524D\u7F00 ".concat(category));
|
|
@@ -193,6 +200,7 @@ var compareFnOfSameType = function compareFnOfSameType(a, b) {
|
|
|
193
200
|
var len = Math.max(ranks1.length, ranks2.length);
|
|
194
201
|
for (var i = 0; i < len; i++) {
|
|
195
202
|
var _ranks1$i, _ranks2$i;
|
|
203
|
+
// 旧 x 签名无踢脚段,视为踢脚 0,弱于含踢脚的新签名
|
|
196
204
|
var v1 = (_ranks1$i = ranks1[i]) !== null && _ranks1$i !== void 0 ? _ranks1$i : 0;
|
|
197
205
|
var v2 = (_ranks2$i = ranks2[i]) !== null && _ranks2$i !== void 0 ? _ranks2$i : 0;
|
|
198
206
|
if (v2 !== v1) return v2 - v1;
|
|
@@ -110,7 +110,7 @@ function getFiveCardsRankSignature(input) {
|
|
|
110
110
|
greaterOne = _ref3[0],
|
|
111
111
|
lessOne = _ref3[1];
|
|
112
112
|
if ([countA, countB].includes(4)) {
|
|
113
|
-
return "x".concat((0, _constant.rankMap)(greaterOne));
|
|
113
|
+
return "x".concat((0, _constant.rankMap)(greaterOne), "+").concat((0, _constant.rankMap)(lessOne));
|
|
114
114
|
}
|
|
115
115
|
return "w".concat((0, _constant.rankMap)(greaterOne), "+r").concat((0, _constant.rankMap)(lessOne));
|
|
116
116
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@ import { Poke, Rank, RankSignature } from './constant';
|
|
|
2
2
|
/**
|
|
3
3
|
* 将 `RankSignature` 展开为五张牌的点数(`Rank`),与 `getFiveCardsRankSignature` 编码对称。
|
|
4
4
|
* 顺子 wheel(`u5`/`y5`)为 5→A 展示顺序,A 在末位;Broadway 仍为 A→T。
|
|
5
|
-
* `x
|
|
5
|
+
* `x`(四条)签名为「四条点数+踢脚」,如 `x2+14`;旧格式 `x2`(无踢脚)仍可读,第五位为 `null`。
|
|
6
6
|
*/
|
|
7
7
|
export declare function rankSignatureToRanks(rankSignature: RankSignature): (Rank | null)[];
|
|
8
8
|
/** 供 UI 分组渲染:每组 `ranks` 为从左到右、已合并同点的连续张(与 `rankSignatureToRanks` 顺序一致)。 */
|