texas-poker-core 1.4.21 → 1.4.22
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 +3 -1
- package/dist/Controller/HandSettlement.js +5 -0
- package/dist/Controller/index.js +5 -0
- package/dist/Dealer/DealerService.js +11 -0
- package/dist/Dealer/index.js +5 -0
- package/dist/Deck/DealtBoard.js +13 -0
- package/dist/Player/index.js +10 -0
- package/package.json +1 -1
- package/types/Controller/HandSettlement.d.ts +1 -0
- package/types/Controller/index.d.ts +1 -0
- package/types/Dealer/DealerService.d.ts +1 -0
- package/types/Dealer/index.d.ts +2 -0
- package/types/Deck/DealtBoard.d.ts +1 -0
- package/types/Player/index.d.ts +7 -0
- package/types/playerSessionPorts.d.ts +2 -0
package/README.md
CHANGED
|
@@ -52,6 +52,11 @@ var HandSettlement = exports.HandSettlement = /*#__PURE__*/function () {
|
|
|
52
52
|
value: function getPlayerEval(userId) {
|
|
53
53
|
return _classPrivateFieldGet(_evalByUserId, this).get(userId);
|
|
54
54
|
}
|
|
55
|
+
}, {
|
|
56
|
+
key: "setPlayerEval",
|
|
57
|
+
value: function setPlayerEval(userId, evalData) {
|
|
58
|
+
_classPrivateFieldGet(_evalByUserId, this).set(userId, evalData);
|
|
59
|
+
}
|
|
55
60
|
}, {
|
|
56
61
|
key: "reset",
|
|
57
62
|
value: function reset() {
|
package/dist/Controller/index.js
CHANGED
|
@@ -166,6 +166,11 @@ var Controller = /*#__PURE__*/function () {
|
|
|
166
166
|
value: function getShowdownEvalForPlayer(player) {
|
|
167
167
|
return _classPrivateFieldGet(_hand, this).settlement.getPlayerEval(player.id);
|
|
168
168
|
}
|
|
169
|
+
}, {
|
|
170
|
+
key: "setShowdownEvalForPlayer",
|
|
171
|
+
value: function setShowdownEvalForPlayer(player, evalData) {
|
|
172
|
+
_classPrivateFieldGet(_hand, this).settlement.setPlayerEval(player.id, evalData);
|
|
173
|
+
}
|
|
169
174
|
}, {
|
|
170
175
|
key: "activePlayer",
|
|
171
176
|
get: function get() {
|
|
@@ -110,6 +110,17 @@ var DealerService = exports.DealerService = /*#__PURE__*/function () {
|
|
|
110
110
|
}, _classPrivateFieldGet(_table, this).button.getNextPlayer());
|
|
111
111
|
return hole;
|
|
112
112
|
}
|
|
113
|
+
}, {
|
|
114
|
+
key: "setHoleCardsForPlayer",
|
|
115
|
+
value: function setHoleCardsForPlayer(player, pokes) {
|
|
116
|
+
if (!_classPrivateFieldGet(_table, this).button) return;
|
|
117
|
+
var seatIndex = -1;
|
|
118
|
+
_classPrivateFieldGet(_table, this).loop(function (p, i) {
|
|
119
|
+
if (p === player) seatIndex = i;
|
|
120
|
+
}, _classPrivateFieldGet(_table, this).button.getNextPlayer());
|
|
121
|
+
if (seatIndex < 0) return;
|
|
122
|
+
_classPrivateFieldGet(_dealtBoard, this).setHoleCardsAt(seatIndex, pokes);
|
|
123
|
+
}
|
|
113
124
|
}, {
|
|
114
125
|
key: "addAction",
|
|
115
126
|
value: function addAction(player) {
|
package/dist/Dealer/index.js
CHANGED
|
@@ -103,6 +103,11 @@ var Dealer = /*#__PURE__*/function () {
|
|
|
103
103
|
value: function getHoleCardsForPlayer(player) {
|
|
104
104
|
return _classPrivateFieldGet(_service, this).getHoleCardsForPlayer(player);
|
|
105
105
|
}
|
|
106
|
+
}, {
|
|
107
|
+
key: "setHoleCardsForPlayer",
|
|
108
|
+
value: function setHoleCardsForPlayer(player, pokes) {
|
|
109
|
+
_classPrivateFieldGet(_service, this).setHoleCardsForPlayer(player, pokes);
|
|
110
|
+
}
|
|
106
111
|
}, {
|
|
107
112
|
key: "players",
|
|
108
113
|
get: function get() {
|
package/dist/Deck/DealtBoard.js
CHANGED
|
@@ -5,6 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.DealtBoard = void 0;
|
|
8
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
9
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
11
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
12
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
13
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
8
14
|
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
|
|
9
15
|
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
|
|
10
16
|
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
|
|
@@ -46,5 +52,12 @@ var DealtBoard = exports.DealtBoard = /*#__PURE__*/function () {
|
|
|
46
52
|
commonPokes: _classPrivateFieldGet(_commonPokes, this)
|
|
47
53
|
};
|
|
48
54
|
}
|
|
55
|
+
}, {
|
|
56
|
+
key: "setHoleCardsAt",
|
|
57
|
+
value: function setHoleCardsAt(index, pokes) {
|
|
58
|
+
if (!Number.isInteger(index) || index < 0) return;
|
|
59
|
+
while (_classPrivateFieldGet(_handPokes, this).length <= index) _classPrivateFieldGet(_handPokes, this).push([]);
|
|
60
|
+
_classPrivateFieldGet(_handPokes, this)[index] = _toConsumableArray(pokes);
|
|
61
|
+
}
|
|
49
62
|
}]);
|
|
50
63
|
}();
|
package/dist/Player/index.js
CHANGED
|
@@ -494,6 +494,16 @@ var Player = exports.Player = /*#__PURE__*/function () {
|
|
|
494
494
|
value: function getHandPokes() {
|
|
495
495
|
return _toConsumableArray(_classPrivateFieldGet(_dealerRing, this).getHoleCardsForPlayer(this));
|
|
496
496
|
}
|
|
497
|
+
}, {
|
|
498
|
+
key: "setHandPokes",
|
|
499
|
+
value: function setHandPokes(pokes) {
|
|
500
|
+
_classPrivateFieldGet(_dealerRing, this).setHoleCardsForPlayer(this, pokes);
|
|
501
|
+
}
|
|
502
|
+
}, {
|
|
503
|
+
key: "setShowdownEval",
|
|
504
|
+
value: function setShowdownEval(evalData) {
|
|
505
|
+
_classPrivateFieldGet(_handSession, this).setShowdownEvalForPlayer(this, evalData);
|
|
506
|
+
}
|
|
497
507
|
}, {
|
|
498
508
|
key: "earn",
|
|
499
509
|
value: function earn(money) {
|
package/package.json
CHANGED
|
@@ -20,6 +20,7 @@ export declare class HandSettlement {
|
|
|
20
20
|
#private;
|
|
21
21
|
get snapshot(): RankSettlementSnapshot;
|
|
22
22
|
getPlayerEval(userId: number): ShowdownPlayerEval | undefined;
|
|
23
|
+
setPlayerEval(userId: number, evalData: ShowdownPlayerEval): void;
|
|
23
24
|
reset(): void;
|
|
24
25
|
settleFromCommonBoard(allSeatedPlayers: Player[], playersStillInShowdown: Player[], commonPokes: Poke[]): void;
|
|
25
26
|
}
|
|
@@ -55,6 +55,7 @@ declare class Controller implements GameComponent, PlayerHandSession<Player> {
|
|
|
55
55
|
}[];
|
|
56
56
|
get stage(): StageEnum;
|
|
57
57
|
getShowdownEvalForPlayer(player: Player): ShowdownPlayerEval | undefined;
|
|
58
|
+
setShowdownEvalForPlayer(player: Player, evalData: ShowdownPlayerEval): void;
|
|
58
59
|
get activePlayer(): Player | null;
|
|
59
60
|
recordPlayerAction(player: Player, options: {
|
|
60
61
|
emitPot: boolean;
|
|
@@ -24,6 +24,7 @@ export declare class DealerService implements GameComponent {
|
|
|
24
24
|
* 手牌唯一数据源为 {@link DealtBoard};下标与发牌顺序一致(从庄家下家起绕桌一圈)。
|
|
25
25
|
*/
|
|
26
26
|
getHoleCardsForPlayer(player: Player): Poke[];
|
|
27
|
+
setHoleCardsForPlayer(player: Player, pokes: readonly Poke[]): void;
|
|
27
28
|
addAction(player: Player): void;
|
|
28
29
|
initialRoles(buttonPlayer?: Player): undefined;
|
|
29
30
|
reArrangeRoles(): undefined;
|
package/types/Dealer/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Poke } from '../Deck/constant';
|
|
1
2
|
import type { PlayerDealerRing } from '../playerSessionPorts';
|
|
2
3
|
import type { GameComponent, TexasErrorCallback } from '../gameContracts';
|
|
3
4
|
import Deck from '../Deck';
|
|
@@ -29,6 +30,7 @@ declare class Dealer implements GameComponent, PlayerDealerRing<Player> {
|
|
|
29
30
|
getPokes(): import("..").DealSnapshot;
|
|
30
31
|
/** 该玩家在 {@link DealtBoard} 中对应座位的手牌(Player 不再私有缓存) */
|
|
31
32
|
getHoleCardsForPlayer(player: Player): ("hj" | "h2" | "h3" | "h4" | "h5" | "h6" | "h7" | "h8" | "h9" | "ht" | "hq" | "hk" | "ha" | "s2" | "s3" | "s4" | "s5" | "s6" | "s7" | "s8" | "s9" | "st" | "sj" | "sq" | "sk" | "sa" | "d2" | "d3" | "d4" | "d5" | "d6" | "d7" | "d8" | "d9" | "dt" | "dj" | "dq" | "dk" | "da" | "c2" | "c3" | "c4" | "c5" | "c6" | "c7" | "c8" | "c9" | "ct" | "cj" | "cq" | "ck" | "ca")[];
|
|
33
|
+
setHoleCardsForPlayer(player: Player, pokes: readonly Poke[]): void;
|
|
32
34
|
get players(): Player[];
|
|
33
35
|
get stakes(): TableStakes;
|
|
34
36
|
/** 大盲注额;与 `stakes.bigBlind` 同义 */
|
package/types/Player/index.d.ts
CHANGED
|
@@ -132,6 +132,13 @@ export declare class Player implements GameComponent {
|
|
|
132
132
|
log(prefix?: string): void;
|
|
133
133
|
/** 手牌唯一存于荷官侧快照,经 {@link Dealer.getHoleCardsForPlayer} 按座位解析 */
|
|
134
134
|
getHandPokes(): Poke[];
|
|
135
|
+
setHandPokes(pokes: readonly Poke[]): void;
|
|
136
|
+
setShowdownEval(evalData: {
|
|
137
|
+
bestFiveCards: Poke[];
|
|
138
|
+
rankSignature: RankSignature;
|
|
139
|
+
rankStrength: number;
|
|
140
|
+
rankCategory: RankCategory;
|
|
141
|
+
}): void;
|
|
135
142
|
earn(money: number): void;
|
|
136
143
|
resetCurrentStageTotalAmount(): void;
|
|
137
144
|
/**
|
|
@@ -14,6 +14,7 @@ export interface PlayerDealerRing<TPlayer = unknown> {
|
|
|
14
14
|
map<R>(callback: (player: TPlayer, index: number) => R): R[];
|
|
15
15
|
filter(callback: (player: TPlayer, index: number) => boolean): TPlayer[];
|
|
16
16
|
getHoleCardsForPlayer(player: TPlayer): Poke[];
|
|
17
|
+
setHoleCardsForPlayer(player: TPlayer, pokes: readonly Poke[]): void;
|
|
17
18
|
}
|
|
18
19
|
/**
|
|
19
20
|
* `Player` 需要的「本手阶段机」视图,避免依赖整个 {@link Controller}。
|
|
@@ -27,6 +28,7 @@ export interface PlayerHandSession<TPlayer = unknown> {
|
|
|
27
28
|
/** 当前轮到行动的玩家;翻前贴盲完成前可能为 `null` */
|
|
28
29
|
readonly activePlayer: TPlayer | null;
|
|
29
30
|
getShowdownEvalForPlayer(player: TPlayer): ShowdownPlayerEval | undefined;
|
|
31
|
+
setShowdownEvalForPlayer(player: TPlayer, evalData: ShowdownPlayerEval): void;
|
|
30
32
|
tryToEndGame(): boolean;
|
|
31
33
|
/** 下注轮已结束且尚未到河牌时,可推迟进街并由业务调用 `applyPendingStageAdvance` */
|
|
32
34
|
canDeferBettingRoundStageAdvance(): boolean;
|