trucoshi 0.0.21 → 0.1.0
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/LICENSE +674 -674
- package/README.md +37 -37
- package/dist/index.d.ts +2 -0
- package/dist/index.js +18 -0
- package/dist/lib/classes/Deck.d.ts +16 -3
- package/dist/lib/classes/Deck.js +38 -38
- package/dist/lib/classes/GameLoop.d.ts +20 -0
- package/dist/lib/classes/GameLoop.js +103 -0
- package/dist/lib/classes/Hand.d.ts +38 -2
- package/dist/lib/classes/Hand.js +233 -233
- package/dist/lib/classes/Lobby.d.ts +27 -0
- package/dist/lib/classes/Lobby.js +114 -0
- package/dist/lib/classes/Match.d.ts +18 -2
- package/dist/lib/classes/Match.js +115 -115
- package/dist/lib/classes/Play.d.ts +21 -2
- package/dist/lib/classes/Play.js +39 -39
- package/dist/lib/classes/Player.d.ts +24 -3
- package/dist/lib/classes/Player.js +71 -67
- package/dist/lib/classes/Round.d.ts +17 -2
- package/dist/lib/classes/Round.js +34 -34
- package/dist/lib/classes/Table.d.ts +12 -2
- package/dist/lib/classes/Table.js +30 -30
- package/dist/lib/classes/Team.d.ts +17 -3
- package/dist/lib/classes/Team.js +58 -58
- package/dist/lib/classes/Truco.d.ts +18 -2
- package/dist/lib/classes/Truco.js +110 -110
- package/dist/lib/classes/index.d.ts +11 -0
- package/dist/lib/classes/index.js +27 -0
- package/dist/lib/constants.d.ts +45 -52
- package/dist/lib/constants.js +85 -93
- package/dist/lib/index.d.ts +2 -17
- package/dist/lib/index.js +18 -209
- package/dist/lib/types.d.ts +50 -204
- package/dist/lib/types.js +34 -26
- package/dist/lib/utils.d.ts +5 -5
- package/dist/lib/utils.js +59 -59
- package/dist/server/classes/MatchTable.d.ts +32 -30
- package/dist/server/classes/MatchTable.js +77 -77
- package/dist/server/classes/User.d.ts +5 -5
- package/dist/server/classes/User.js +11 -11
- package/dist/server/{match.d.ts → classes/index.d.ts} +0 -0
- package/dist/server/{match.js → classes/index.js} +1 -1
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.js +379 -391
- package/dist/server/types.d.ts +36 -35
- package/dist/server/types.js +26 -26
- package/dist/test/autoplay.d.ts +1 -1
- package/dist/test/autoplay.js +94 -94
- package/dist/test/play.d.ts +1 -1
- package/dist/test/play.js +214 -214
- package/dist/types.d.ts +83 -0
- package/dist/types.js +57 -0
- package/package.json +2 -2
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MatchTable = exports.EMatchTableState = void 0;
|
|
4
|
-
var
|
|
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,
|
|
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;
|
|
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;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export interface IUser {
|
|
2
|
-
id: string;
|
|
3
|
-
matchSocketIds: Map<string, Set<string>>;
|
|
4
|
-
}
|
|
5
|
-
export declare function User(id: string): IUser;
|
|
1
|
+
export interface IUser {
|
|
2
|
+
id: string;
|
|
3
|
+
matchSocketIds: Map<string, Set<string>>;
|
|
4
|
+
}
|
|
5
|
+
export declare function User(id: string): IUser;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.User = void 0;
|
|
4
|
-
function User(id) {
|
|
5
|
-
var user = {
|
|
6
|
-
id: id,
|
|
7
|
-
matchSocketIds: new Map()
|
|
8
|
-
};
|
|
9
|
-
return user;
|
|
10
|
-
}
|
|
11
|
-
exports.User = User;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.User = void 0;
|
|
4
|
+
function User(id) {
|
|
5
|
+
var user = {
|
|
6
|
+
id: id,
|
|
7
|
+
matchSocketIds: new Map()
|
|
8
|
+
};
|
|
9
|
+
return user;
|
|
10
|
+
}
|
|
11
|
+
exports.User = User;
|
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
package/dist/server/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|