trucoshi 0.1.1 → 0.1.2
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/package.json +3 -6
- package/dist/index.d.ts +0 -2
- package/dist/lib/classes/Deck.d.ts +0 -16
- package/dist/lib/classes/Deck.js +0 -38
- package/dist/lib/classes/GameLoop.d.ts +0 -20
- package/dist/lib/classes/GameLoop.js +0 -103
- package/dist/lib/classes/Hand.d.ts +0 -38
- package/dist/lib/classes/Hand.js +0 -233
- package/dist/lib/classes/Lobby.d.ts +0 -27
- package/dist/lib/classes/Lobby.js +0 -114
- package/dist/lib/classes/Match.d.ts +0 -18
- package/dist/lib/classes/Match.js +0 -115
- package/dist/lib/classes/Play.d.ts +0 -21
- package/dist/lib/classes/Play.js +0 -39
- package/dist/lib/classes/Player.d.ts +0 -24
- package/dist/lib/classes/Player.js +0 -71
- package/dist/lib/classes/Round.d.ts +0 -17
- package/dist/lib/classes/Round.js +0 -34
- package/dist/lib/classes/Table.d.ts +0 -12
- package/dist/lib/classes/Table.js +0 -30
- package/dist/lib/classes/Team.d.ts +0 -17
- package/dist/lib/classes/Team.js +0 -58
- package/dist/lib/classes/Truco.d.ts +0 -18
- package/dist/lib/classes/Truco.js +0 -110
- package/dist/lib/classes/index.d.ts +0 -11
- package/dist/lib/classes/index.js +0 -27
- package/dist/lib/constants.d.ts +0 -45
- package/dist/lib/constants.js +0 -85
- package/dist/lib/index.d.ts +0 -2
- package/dist/lib/index.js +0 -18
- package/dist/lib/types.d.ts +0 -50
- package/dist/lib/types.js +0 -34
- package/dist/lib/utils.d.ts +0 -5
- package/dist/lib/utils.js +0 -59
- package/dist/server/classes/MatchTable.d.ts +0 -32
- package/dist/server/classes/MatchTable.js +0 -77
- package/dist/server/classes/User.d.ts +0 -5
- package/dist/server/classes/User.js +0 -11
- package/dist/server/classes/index.d.ts +0 -0
- package/dist/server/classes/index.js +0 -1
- package/dist/server/index.d.ts +0 -1
- package/dist/server/index.js +0 -379
- package/dist/server/types.d.ts +0 -36
- package/dist/server/types.js +0 -26
- package/dist/test/autoplay.d.ts +0 -1
- package/dist/test/autoplay.js +0 -94
- package/dist/test/play.d.ts +0 -1
- package/dist/test/play.js +0 -214
- package/dist/types.d.ts +0 -83
- package/dist/types.js +0 -57
package/dist/lib/constants.js
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.EnvidoCalculator = exports.TEAM_SIZE_VALUES = exports.CARDS = void 0;
|
|
5
|
-
var types_1 = require("../types");
|
|
6
|
-
var utils_1 = require("./utils");
|
|
7
|
-
exports.CARDS = {
|
|
8
|
-
"1e": 14,
|
|
9
|
-
"1b": 13,
|
|
10
|
-
"7e": 12,
|
|
11
|
-
"7o": 11,
|
|
12
|
-
"3e": 10,
|
|
13
|
-
"3o": 10,
|
|
14
|
-
"3b": 10,
|
|
15
|
-
"3c": 10,
|
|
16
|
-
"2e": 9,
|
|
17
|
-
"2o": 9,
|
|
18
|
-
"2b": 8,
|
|
19
|
-
"2c": 8,
|
|
20
|
-
"1o": 7,
|
|
21
|
-
"1c": 7,
|
|
22
|
-
re: 6,
|
|
23
|
-
ro: 6,
|
|
24
|
-
rb: 6,
|
|
25
|
-
rc: 6,
|
|
26
|
-
ce: 5,
|
|
27
|
-
co: 5,
|
|
28
|
-
cb: 5,
|
|
29
|
-
cc: 5,
|
|
30
|
-
pe: 4,
|
|
31
|
-
po: 4,
|
|
32
|
-
pb: 4,
|
|
33
|
-
pc: 4,
|
|
34
|
-
"7b": 3,
|
|
35
|
-
"7c": 3,
|
|
36
|
-
"6e": 2,
|
|
37
|
-
"6o": 2,
|
|
38
|
-
"6b": 2,
|
|
39
|
-
"6c": 2,
|
|
40
|
-
"5e": 1,
|
|
41
|
-
"5o": 1,
|
|
42
|
-
"5b": 1,
|
|
43
|
-
"5c": 1,
|
|
44
|
-
"4e": 0,
|
|
45
|
-
"4o": 0,
|
|
46
|
-
"4b": 0,
|
|
47
|
-
"4c": 0,
|
|
48
|
-
};
|
|
49
|
-
exports.TEAM_SIZE_VALUES = [1, 2, 3];
|
|
50
|
-
exports.EnvidoCalculator = (_a = {},
|
|
51
|
-
_a[types_1.EEnvidoCommand.ENVIDO] = function () { return ({
|
|
52
|
-
accept: 2,
|
|
53
|
-
decline: 1,
|
|
54
|
-
next: [types_1.EEnvidoCommand.ENVIDO_ENVIDO, types_1.EEnvidoCommand.REAL_ENVIDO, types_1.EEnvidoCommand.FALTA_ENVIDO],
|
|
55
|
-
}); },
|
|
56
|
-
_a[types_1.EEnvidoCommand.ENVIDO_ENVIDO] = function () { return ({
|
|
57
|
-
accept: 4,
|
|
58
|
-
decline: 2,
|
|
59
|
-
next: [types_1.EEnvidoCommand.REAL_ENVIDO, types_1.EEnvidoCommand.FALTA_ENVIDO],
|
|
60
|
-
}); },
|
|
61
|
-
_a[types_1.EEnvidoCommand.REAL_ENVIDO] = function () { return ({
|
|
62
|
-
accept: 3,
|
|
63
|
-
decline: 1,
|
|
64
|
-
next: [types_1.EEnvidoCommand.FALTA_ENVIDO],
|
|
65
|
-
}); },
|
|
66
|
-
_a[types_1.EEnvidoCommand.FALTA_ENVIDO] = function (args) {
|
|
67
|
-
if (!args || !args.teams || !args.matchPoint) {
|
|
68
|
-
return {
|
|
69
|
-
accept: 1,
|
|
70
|
-
decline: 1,
|
|
71
|
-
next: [],
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
var teams = args.teams, matchPoint = args.matchPoint;
|
|
75
|
-
var totals = teams.map(function (team) { return team.points.malas + team.points.buenas; });
|
|
76
|
-
var higher = (0, utils_1.getMaxNumberIndex)(totals);
|
|
77
|
-
var points = teams[higher].points;
|
|
78
|
-
var accept = points.buenas > 0 ? matchPoint - points.buenas : matchPoint - points.malas;
|
|
79
|
-
return {
|
|
80
|
-
accept: accept,
|
|
81
|
-
decline: 2,
|
|
82
|
-
next: [],
|
|
83
|
-
};
|
|
84
|
-
},
|
|
85
|
-
_a);
|
package/dist/lib/index.d.ts
DELETED
package/dist/lib/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./classes"), exports);
|
|
18
|
-
__exportStar(require("./constants"), exports);
|
package/dist/lib/types.d.ts
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { IPlayer } from "./classes/Player";
|
|
2
|
-
import { ITeam } from "./classes/Team";
|
|
3
|
-
export declare enum ESayCommand {
|
|
4
|
-
QUIERO = "QUIERO",
|
|
5
|
-
NO_QUIERO = "NO_QUIERO",
|
|
6
|
-
TRUCO = "TRUCO",
|
|
7
|
-
MAZO = "MAZO",
|
|
8
|
-
FLOR = "FLOR",
|
|
9
|
-
CONTRAFLOR = "CONTRAFLOR"
|
|
10
|
-
}
|
|
11
|
-
export declare enum EEnvidoCommand {
|
|
12
|
-
ENVIDO = "ENVIDO",
|
|
13
|
-
ENVIDO_ENVIDO = "ENVIDO_ENVIDO",
|
|
14
|
-
REAL_ENVIDO = "REAL_ENVIDO",
|
|
15
|
-
FALTA_ENVIDO = "FALTA_ENVIDO"
|
|
16
|
-
}
|
|
17
|
-
export declare enum EHandState {
|
|
18
|
-
WAITING_PLAY = "WAITING_PLAY",
|
|
19
|
-
WAITING_FOR_TRUCO_ANSWER = "WAITING_FOR_TRUCO_ANSWER",
|
|
20
|
-
WAITING_ENVIDO_ANSWER = "WAITING_ENVIDO_ANSWER",
|
|
21
|
-
FINISHED = "FINISHED"
|
|
22
|
-
}
|
|
23
|
-
export type ECommand = ESayCommand | EEnvidoCommand;
|
|
24
|
-
export declare enum GAME_ERROR {
|
|
25
|
-
MATCH_ALREADY_STARTED = "MATCH_ALREADY_STARTED",
|
|
26
|
-
LOBBY_IS_FULL = "LOBBY_IS_FULL",
|
|
27
|
-
UNEXPECTED_TEAM_SIZE = "UNEXPECTED_TEAM_SIZE",
|
|
28
|
-
TEAM_NOT_READY = "TEAM_NOT_READY",
|
|
29
|
-
TEAM_IS_FULL = "TEAM_IS_FULL"
|
|
30
|
-
}
|
|
31
|
-
export interface EnvidoState {
|
|
32
|
-
accept: number;
|
|
33
|
-
decline: number;
|
|
34
|
-
teamIdx: 0 | 1 | null;
|
|
35
|
-
}
|
|
36
|
-
export type IHandCommands = {
|
|
37
|
-
[key in ECommand]: (player: IPlayer) => void;
|
|
38
|
-
};
|
|
39
|
-
export type IEnvidoCalculatorResult = {
|
|
40
|
-
accept: number;
|
|
41
|
-
decline: number;
|
|
42
|
-
next: Array<ECommand>;
|
|
43
|
-
};
|
|
44
|
-
export type IEnvidoCalculatorArgs = {
|
|
45
|
-
teams: [ITeam, ITeam];
|
|
46
|
-
matchPoint: number;
|
|
47
|
-
};
|
|
48
|
-
export type IEnvidoCalculator = {
|
|
49
|
-
[key in EEnvidoCommand]: (args?: IEnvidoCalculatorArgs) => IEnvidoCalculatorResult;
|
|
50
|
-
};
|
package/dist/lib/types.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GAME_ERROR = exports.EHandState = exports.EEnvidoCommand = exports.ESayCommand = void 0;
|
|
4
|
-
var ESayCommand;
|
|
5
|
-
(function (ESayCommand) {
|
|
6
|
-
ESayCommand["QUIERO"] = "QUIERO";
|
|
7
|
-
ESayCommand["NO_QUIERO"] = "NO_QUIERO";
|
|
8
|
-
ESayCommand["TRUCO"] = "TRUCO";
|
|
9
|
-
ESayCommand["MAZO"] = "MAZO";
|
|
10
|
-
ESayCommand["FLOR"] = "FLOR";
|
|
11
|
-
ESayCommand["CONTRAFLOR"] = "CONTRAFLOR";
|
|
12
|
-
})(ESayCommand = exports.ESayCommand || (exports.ESayCommand = {}));
|
|
13
|
-
var EEnvidoCommand;
|
|
14
|
-
(function (EEnvidoCommand) {
|
|
15
|
-
EEnvidoCommand["ENVIDO"] = "ENVIDO";
|
|
16
|
-
EEnvidoCommand["ENVIDO_ENVIDO"] = "ENVIDO_ENVIDO";
|
|
17
|
-
EEnvidoCommand["REAL_ENVIDO"] = "REAL_ENVIDO";
|
|
18
|
-
EEnvidoCommand["FALTA_ENVIDO"] = "FALTA_ENVIDO";
|
|
19
|
-
})(EEnvidoCommand = exports.EEnvidoCommand || (exports.EEnvidoCommand = {}));
|
|
20
|
-
var EHandState;
|
|
21
|
-
(function (EHandState) {
|
|
22
|
-
EHandState["WAITING_PLAY"] = "WAITING_PLAY";
|
|
23
|
-
EHandState["WAITING_FOR_TRUCO_ANSWER"] = "WAITING_FOR_TRUCO_ANSWER";
|
|
24
|
-
EHandState["WAITING_ENVIDO_ANSWER"] = "WAITING_ENVIDO_ANSWER";
|
|
25
|
-
EHandState["FINISHED"] = "FINISHED";
|
|
26
|
-
})(EHandState = exports.EHandState || (exports.EHandState = {}));
|
|
27
|
-
var GAME_ERROR;
|
|
28
|
-
(function (GAME_ERROR) {
|
|
29
|
-
GAME_ERROR["MATCH_ALREADY_STARTED"] = "MATCH_ALREADY_STARTED";
|
|
30
|
-
GAME_ERROR["LOBBY_IS_FULL"] = "LOBBY_IS_FULL";
|
|
31
|
-
GAME_ERROR["UNEXPECTED_TEAM_SIZE"] = "UNEXPECTED_TEAM_SIZE";
|
|
32
|
-
GAME_ERROR["TEAM_NOT_READY"] = "TEAM_NOT_READY";
|
|
33
|
-
GAME_ERROR["TEAM_IS_FULL"] = "TEAM_IS_FULL";
|
|
34
|
-
})(GAME_ERROR = exports.GAME_ERROR || (exports.GAME_ERROR = {}));
|
package/dist/lib/utils.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { ICard, IRound } from "./classes";
|
|
2
|
-
export declare function getMaxNumberIndex<T = number>(array: Array<T>): number;
|
|
3
|
-
export declare function getCardValue(card: ICard): number;
|
|
4
|
-
export declare function shuffleArray<T = unknown>(array: Array<T>): T[];
|
|
5
|
-
export declare function checkHandWinner(rounds: Array<IRound>, forehandTeamIdx: 0 | 1): null | 0 | 1;
|
package/dist/lib/utils.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.checkHandWinner = exports.shuffleArray = exports.getCardValue = exports.getMaxNumberIndex = void 0;
|
|
4
|
-
var constants_1 = require("./constants");
|
|
5
|
-
function getMaxNumberIndex(array) {
|
|
6
|
-
return array.reduce(function (accumulator, current, index) {
|
|
7
|
-
return current > array[accumulator] ? index : accumulator;
|
|
8
|
-
}, 0);
|
|
9
|
-
}
|
|
10
|
-
exports.getMaxNumberIndex = getMaxNumberIndex;
|
|
11
|
-
function getCardValue(card) {
|
|
12
|
-
return constants_1.CARDS[card] || -1;
|
|
13
|
-
}
|
|
14
|
-
exports.getCardValue = getCardValue;
|
|
15
|
-
function shuffleArray(array) {
|
|
16
|
-
var _a;
|
|
17
|
-
var currentIndex = array.length, randomIndex;
|
|
18
|
-
while (currentIndex != 0) {
|
|
19
|
-
randomIndex = Math.floor(Math.random() * currentIndex);
|
|
20
|
-
currentIndex--;
|
|
21
|
-
_a = [array[randomIndex], array[currentIndex]], array[currentIndex] = _a[0], array[randomIndex] = _a[1];
|
|
22
|
-
}
|
|
23
|
-
return array;
|
|
24
|
-
}
|
|
25
|
-
exports.shuffleArray = shuffleArray;
|
|
26
|
-
function checkHandWinner(rounds, forehandTeamIdx) {
|
|
27
|
-
var _a, _b;
|
|
28
|
-
var roundsWon = {
|
|
29
|
-
0: 0,
|
|
30
|
-
1: 0,
|
|
31
|
-
ties: 0,
|
|
32
|
-
};
|
|
33
|
-
for (var i = 0; i < rounds.length; i++) {
|
|
34
|
-
var round = rounds[i];
|
|
35
|
-
if (round.tie) {
|
|
36
|
-
roundsWon[0] += 1;
|
|
37
|
-
roundsWon[1] += 1;
|
|
38
|
-
roundsWon.ties = roundsWon.ties + 1;
|
|
39
|
-
continue;
|
|
40
|
-
}
|
|
41
|
-
if (((_a = round.winner) === null || _a === void 0 ? void 0 : _a.teamIdx) === 0) {
|
|
42
|
-
roundsWon[0] += 1;
|
|
43
|
-
}
|
|
44
|
-
if (((_b = round.winner) === null || _b === void 0 ? void 0 : _b.teamIdx) === 1) {
|
|
45
|
-
roundsWon[1] += 1;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
if ((roundsWon[0] > 2 && roundsWon[1] > 2) || (rounds.length > 2 && roundsWon.ties > 0)) {
|
|
49
|
-
return forehandTeamIdx;
|
|
50
|
-
}
|
|
51
|
-
if (roundsWon[0] >= 2 && roundsWon[1] < 2) {
|
|
52
|
-
return 0;
|
|
53
|
-
}
|
|
54
|
-
if (roundsWon[1] >= 2 && roundsWon[0] < 2) {
|
|
55
|
-
return 1;
|
|
56
|
-
}
|
|
57
|
-
return null;
|
|
58
|
-
}
|
|
59
|
-
exports.checkHandWinner = checkHandWinner;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { IPlayedCard } from "../../lib/classes/Deck";
|
|
2
|
-
import { IHandPoints } from "../../lib/classes/Hand";
|
|
3
|
-
import { ILobby } from "../../lib/classes/Lobby";
|
|
4
|
-
import { IPublicPlayer } from "../../lib/classes/Player";
|
|
5
|
-
import { IPublicTeam, ITeam } from "../../lib/classes/Team";
|
|
6
|
-
export interface IPublicMatch {
|
|
7
|
-
state: EMatchTableState;
|
|
8
|
-
winner: ITeam | null;
|
|
9
|
-
matchSessionId: string;
|
|
10
|
-
teams: Array<IPublicTeam>;
|
|
11
|
-
players: Array<IPublicPlayer>;
|
|
12
|
-
me: IPublicPlayer;
|
|
13
|
-
rounds: IPlayedCard[][];
|
|
14
|
-
prevRounds: IPlayedCard[][] | null;
|
|
15
|
-
prevHandPoints?: IHandPoints | null;
|
|
16
|
-
}
|
|
17
|
-
export interface IMatchTable {
|
|
18
|
-
matchSessionId: string;
|
|
19
|
-
currentPlayer: IPublicPlayer | null;
|
|
20
|
-
lobby: ILobby;
|
|
21
|
-
state(): EMatchTableState;
|
|
22
|
-
setCurrentPlayer(player: IPublicPlayer): void;
|
|
23
|
-
isSessionPlaying(session: string): IPublicPlayer | null;
|
|
24
|
-
getPublicMatch(session?: string): IPublicMatch;
|
|
25
|
-
}
|
|
26
|
-
export declare enum EMatchTableState {
|
|
27
|
-
UNREADY = 0,
|
|
28
|
-
READY = 1,
|
|
29
|
-
STARTED = 2,
|
|
30
|
-
FINISHED = 3
|
|
31
|
-
}
|
|
32
|
-
export declare function MatchTable(matchSessionId: string, teamSize?: 1 | 2 | 3): IMatchTable;
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MatchTable = exports.EMatchTableState = void 0;
|
|
4
|
-
var Lobby_1 = require("../../lib/classes/Lobby");
|
|
5
|
-
var EMatchTableState;
|
|
6
|
-
(function (EMatchTableState) {
|
|
7
|
-
EMatchTableState[EMatchTableState["UNREADY"] = 0] = "UNREADY";
|
|
8
|
-
EMatchTableState[EMatchTableState["READY"] = 1] = "READY";
|
|
9
|
-
EMatchTableState[EMatchTableState["STARTED"] = 2] = "STARTED";
|
|
10
|
-
EMatchTableState[EMatchTableState["FINISHED"] = 3] = "FINISHED";
|
|
11
|
-
})(EMatchTableState = exports.EMatchTableState || (exports.EMatchTableState = {}));
|
|
12
|
-
function MatchTable(matchSessionId, teamSize) {
|
|
13
|
-
var matchTable = {
|
|
14
|
-
matchSessionId: matchSessionId,
|
|
15
|
-
currentPlayer: null,
|
|
16
|
-
lobby: (0, Lobby_1.Lobby)(teamSize),
|
|
17
|
-
state: function () {
|
|
18
|
-
var _a;
|
|
19
|
-
matchTable.lobby.calculateReady();
|
|
20
|
-
if ((_a = matchTable.lobby.gameLoop) === null || _a === void 0 ? void 0 : _a.winner) {
|
|
21
|
-
return EMatchTableState.FINISHED;
|
|
22
|
-
}
|
|
23
|
-
if (matchTable.lobby.started) {
|
|
24
|
-
return EMatchTableState.STARTED;
|
|
25
|
-
}
|
|
26
|
-
if (matchTable.lobby.ready) {
|
|
27
|
-
return EMatchTableState.READY;
|
|
28
|
-
}
|
|
29
|
-
return EMatchTableState.UNREADY;
|
|
30
|
-
},
|
|
31
|
-
setCurrentPlayer: function (player) {
|
|
32
|
-
matchTable.currentPlayer = player;
|
|
33
|
-
},
|
|
34
|
-
isSessionPlaying: function (session) {
|
|
35
|
-
var lobby = matchTable.lobby;
|
|
36
|
-
var search = lobby.players.find(function (player) { return player && player.session === session; });
|
|
37
|
-
return search || null;
|
|
38
|
-
},
|
|
39
|
-
getPublicMatch: function (userSession) {
|
|
40
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
41
|
-
var lobby = matchTable.lobby;
|
|
42
|
-
var winner = ((_a = lobby.gameLoop) === null || _a === void 0 ? void 0 : _a.winner) || null;
|
|
43
|
-
var lastHandIdx = (((_b = lobby.gameLoop) === null || _b === void 0 ? void 0 : _b.hands.length) || 1) - 1;
|
|
44
|
-
var rounds = ((_d = (_c = lobby.gameLoop) === null || _c === void 0 ? void 0 : _c.hands[lastHandIdx]) === null || _d === void 0 ? void 0 : _d.rounds.map(function (round) { return round.cards; })) || [];
|
|
45
|
-
var prevHandIdx = lastHandIdx - 1;
|
|
46
|
-
var hasPrevHand = prevHandIdx !== -1;
|
|
47
|
-
var newHandNotStarted = ((_e = rounds[0]) === null || _e === void 0 ? void 0 : _e.length) === 0;
|
|
48
|
-
var prevRounds = hasPrevHand && newHandNotStarted
|
|
49
|
-
? (_g = (_f = lobby.gameLoop) === null || _f === void 0 ? void 0 : _f.hands[prevHandIdx]) === null || _g === void 0 ? void 0 : _g.rounds.map(function (round) { return round.cards; })
|
|
50
|
-
: null;
|
|
51
|
-
var prevHandPoints = prevRounds && ((_j = (_h = lobby.gameLoop) === null || _h === void 0 ? void 0 : _h.hands[prevHandIdx]) === null || _j === void 0 ? void 0 : _j.points);
|
|
52
|
-
var players = lobby.players.filter(function (player) { return Boolean(player); });
|
|
53
|
-
var currentPlayerIdx = players.findIndex(function (player) { return player && player.session === userSession; });
|
|
54
|
-
var me = players[currentPlayerIdx];
|
|
55
|
-
var cut = players.slice(currentPlayerIdx, players.length);
|
|
56
|
-
var end = players.slice(0, currentPlayerIdx);
|
|
57
|
-
var publicPlayers = cut
|
|
58
|
-
.concat(end)
|
|
59
|
-
.map(function (player) { return ((player === null || player === void 0 ? void 0 : player.session) === userSession ? player : player.getPublicPlayer()); });
|
|
60
|
-
var teams = ((_k = lobby.gameLoop) === null || _k === void 0 ? void 0 : _k.teams) || lobby.teams;
|
|
61
|
-
var publicTeams = teams.map(function (team) { return team.getPublicTeam(userSession); });
|
|
62
|
-
return {
|
|
63
|
-
me: me,
|
|
64
|
-
winner: winner,
|
|
65
|
-
matchSessionId: matchTable.matchSessionId,
|
|
66
|
-
state: matchTable.state(),
|
|
67
|
-
teams: publicTeams,
|
|
68
|
-
players: publicPlayers,
|
|
69
|
-
rounds: rounds || [[]],
|
|
70
|
-
prevRounds: prevRounds || null,
|
|
71
|
-
prevHandPoints: prevHandPoints,
|
|
72
|
-
};
|
|
73
|
-
},
|
|
74
|
-
};
|
|
75
|
-
return matchTable;
|
|
76
|
-
}
|
|
77
|
-
exports.MatchTable = MatchTable;
|
|
File without changes
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
package/dist/server/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|