trucoshi 0.1.8 → 0.2.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.
Files changed (39) hide show
  1. package/LICENSE +674 -674
  2. package/README.md +60 -37
  3. package/dist/index.d.ts +2 -2
  4. package/dist/index.js +18 -18
  5. package/dist/lib/classes/Deck.d.ts +16 -16
  6. package/dist/lib/classes/Deck.js +38 -38
  7. package/dist/lib/classes/GameLoop.d.ts +20 -20
  8. package/dist/lib/classes/GameLoop.js +61 -103
  9. package/dist/lib/classes/Hand.d.ts +38 -38
  10. package/dist/lib/classes/Hand.js +184 -233
  11. package/dist/lib/classes/Lobby.d.ts +27 -27
  12. package/dist/lib/classes/Lobby.js +112 -113
  13. package/dist/lib/classes/Match.d.ts +18 -18
  14. package/dist/lib/classes/Match.js +72 -115
  15. package/dist/lib/classes/Play.d.ts +21 -21
  16. package/dist/lib/classes/Play.js +39 -39
  17. package/dist/lib/classes/Player.d.ts +26 -26
  18. package/dist/lib/classes/Player.js +67 -77
  19. package/dist/lib/classes/Round.d.ts +17 -17
  20. package/dist/lib/classes/Round.js +33 -34
  21. package/dist/lib/classes/Table.d.ts +12 -12
  22. package/dist/lib/classes/Table.js +30 -30
  23. package/dist/lib/classes/Team.d.ts +19 -19
  24. package/dist/lib/classes/Team.js +48 -50
  25. package/dist/lib/classes/Truco.d.ts +18 -18
  26. package/dist/lib/classes/Truco.js +70 -110
  27. package/dist/lib/classes/index.d.ts +11 -11
  28. package/dist/lib/classes/index.js +27 -27
  29. package/dist/lib/constants.d.ts +45 -45
  30. package/dist/lib/constants.js +84 -85
  31. package/dist/lib/index.d.ts +2 -2
  32. package/dist/lib/index.js +18 -18
  33. package/dist/lib/types.d.ts +50 -50
  34. package/dist/lib/types.js +34 -34
  35. package/dist/lib/utils.d.ts +5 -5
  36. package/dist/lib/utils.js +58 -59
  37. package/dist/types.d.ts +133 -101
  38. package/dist/types.js +65 -65
  39. package/package.json +1 -1
@@ -1,110 +1,70 @@
1
- "use strict";
2
- var __generator = (this && this.__generator) || function (thisArg, body) {
3
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
4
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
5
- function verb(n) { return function (v) { return step([n, v]); }; }
6
- function step(op) {
7
- if (f) throw new TypeError("Generator is already executing.");
8
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
9
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
10
- if (y = 0, t) op = [op[0] & 2, t.value];
11
- switch (op[0]) {
12
- case 0: case 1: t = op; break;
13
- case 4: _.label++; return { value: op[1], done: false };
14
- case 5: _.label++; y = op[1]; op = [0]; continue;
15
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
16
- default:
17
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
18
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
19
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
20
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
21
- if (t[2]) _.ops.pop();
22
- _.trys.pop(); continue;
23
- }
24
- op = body.call(thisArg, _);
25
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
26
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
27
- }
28
- };
29
- Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.Truco = void 0;
31
- function Truco() {
32
- function trucoAnswerGeneratorSequence() {
33
- var i, player;
34
- return __generator(this, function (_a) {
35
- switch (_a.label) {
36
- case 0:
37
- i = 0;
38
- _a.label = 1;
39
- case 1:
40
- if (!(i < truco.players.length && truco.answer === null)) return [3 /*break*/, 3];
41
- player = truco.players[truco.turn];
42
- truco.setCurrentPlayer(player);
43
- if (player.disabled) {
44
- truco.setCurrentPlayer(null);
45
- }
46
- if (truco.turn >= truco.players.length - 1) {
47
- truco.setTurn(0);
48
- }
49
- else {
50
- truco.setTurn(truco.turn + 1);
51
- }
52
- i++;
53
- return [4 /*yield*/, truco];
54
- case 2:
55
- _a.sent();
56
- return [3 /*break*/, 1];
57
- case 3: return [4 /*yield*/, truco];
58
- case 4:
59
- _a.sent();
60
- return [2 /*return*/];
61
- }
62
- });
63
- }
64
- var truco = {
65
- turn: 0,
66
- state: 1,
67
- teamIdx: null,
68
- answer: null,
69
- currentPlayer: null,
70
- generator: trucoAnswerGeneratorSequence(),
71
- players: [],
72
- sayTruco: function (teamIdx, players) {
73
- truco.teamIdx = teamIdx;
74
- truco.answer = null;
75
- truco.players = players;
76
- truco.generator = trucoAnswerGeneratorSequence();
77
- return truco;
78
- },
79
- setPlayers: function (players) {
80
- truco.players = players;
81
- },
82
- setAnswer: function (answer) {
83
- if (answer) {
84
- truco.state++;
85
- }
86
- if (answer !== null) {
87
- truco.teamIdx = null;
88
- }
89
- truco.answer = answer;
90
- return truco;
91
- },
92
- setTeam: function (idx) {
93
- truco.teamIdx = idx;
94
- return truco.teamIdx;
95
- },
96
- setTurn: function (turn) {
97
- truco.turn = turn;
98
- return truco.turn;
99
- },
100
- setCurrentPlayer: function (player) {
101
- truco.currentPlayer = player;
102
- return truco.currentPlayer;
103
- },
104
- getNextPlayer: function () {
105
- return truco.generator.next();
106
- },
107
- };
108
- return truco;
109
- }
110
- exports.Truco = Truco;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Truco = void 0;
4
+ function Truco() {
5
+ function* trucoAnswerGeneratorSequence() {
6
+ let i = 0;
7
+ while (i < truco.players.length && truco.answer === null) {
8
+ const player = truco.players[truco.turn];
9
+ truco.setCurrentPlayer(player);
10
+ if (player.disabled) {
11
+ truco.setCurrentPlayer(null);
12
+ }
13
+ if (truco.turn >= truco.players.length - 1) {
14
+ truco.setTurn(0);
15
+ }
16
+ else {
17
+ truco.setTurn(truco.turn + 1);
18
+ }
19
+ i++;
20
+ yield truco;
21
+ }
22
+ yield truco;
23
+ }
24
+ const truco = {
25
+ turn: 0,
26
+ state: 1,
27
+ teamIdx: null,
28
+ answer: null,
29
+ currentPlayer: null,
30
+ generator: trucoAnswerGeneratorSequence(),
31
+ players: [],
32
+ sayTruco(teamIdx, players) {
33
+ truco.teamIdx = teamIdx;
34
+ truco.answer = null;
35
+ truco.players = players;
36
+ truco.generator = trucoAnswerGeneratorSequence();
37
+ return truco;
38
+ },
39
+ setPlayers(players) {
40
+ truco.players = players;
41
+ },
42
+ setAnswer(answer) {
43
+ if (answer) {
44
+ truco.state++;
45
+ }
46
+ if (answer !== null) {
47
+ truco.teamIdx = null;
48
+ }
49
+ truco.answer = answer;
50
+ return truco;
51
+ },
52
+ setTeam(idx) {
53
+ truco.teamIdx = idx;
54
+ return truco.teamIdx;
55
+ },
56
+ setTurn(turn) {
57
+ truco.turn = turn;
58
+ return truco.turn;
59
+ },
60
+ setCurrentPlayer(player) {
61
+ truco.currentPlayer = player;
62
+ return truco.currentPlayer;
63
+ },
64
+ getNextPlayer() {
65
+ return truco.generator.next();
66
+ },
67
+ };
68
+ return truco;
69
+ }
70
+ exports.Truco = Truco;
@@ -1,11 +1,11 @@
1
- export * from "./Deck";
2
- export * from "./GameLoop";
3
- export * from "./Hand";
4
- export * from "./Lobby";
5
- export * from "./Match";
6
- export * from "./Play";
7
- export * from "./Player";
8
- export * from "./Round";
9
- export * from "./Table";
10
- export * from "./Team";
11
- export * from "./Truco";
1
+ export * from "./Deck";
2
+ export * from "./GameLoop";
3
+ export * from "./Hand";
4
+ export * from "./Lobby";
5
+ export * from "./Match";
6
+ export * from "./Play";
7
+ export * from "./Player";
8
+ export * from "./Round";
9
+ export * from "./Table";
10
+ export * from "./Team";
11
+ export * from "./Truco";
@@ -1,27 +1,27 @@
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("./Deck"), exports);
18
- __exportStar(require("./GameLoop"), exports);
19
- __exportStar(require("./Hand"), exports);
20
- __exportStar(require("./Lobby"), exports);
21
- __exportStar(require("./Match"), exports);
22
- __exportStar(require("./Play"), exports);
23
- __exportStar(require("./Player"), exports);
24
- __exportStar(require("./Round"), exports);
25
- __exportStar(require("./Table"), exports);
26
- __exportStar(require("./Team"), exports);
27
- __exportStar(require("./Truco"), exports);
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("./Deck"), exports);
18
+ __exportStar(require("./GameLoop"), exports);
19
+ __exportStar(require("./Hand"), exports);
20
+ __exportStar(require("./Lobby"), exports);
21
+ __exportStar(require("./Match"), exports);
22
+ __exportStar(require("./Play"), exports);
23
+ __exportStar(require("./Player"), exports);
24
+ __exportStar(require("./Round"), exports);
25
+ __exportStar(require("./Table"), exports);
26
+ __exportStar(require("./Team"), exports);
27
+ __exportStar(require("./Truco"), exports);
@@ -1,45 +1,45 @@
1
- import { IEnvidoCalculator } from "../types";
2
- export declare const CARDS: {
3
- "1e": number;
4
- "1b": number;
5
- "7e": number;
6
- "7o": number;
7
- "3e": number;
8
- "3o": number;
9
- "3b": number;
10
- "3c": number;
11
- "2e": number;
12
- "2o": number;
13
- "2b": number;
14
- "2c": number;
15
- "1o": number;
16
- "1c": number;
17
- re: number;
18
- ro: number;
19
- rb: number;
20
- rc: number;
21
- ce: number;
22
- co: number;
23
- cb: number;
24
- cc: number;
25
- pe: number;
26
- po: number;
27
- pb: number;
28
- pc: number;
29
- "7b": number;
30
- "7c": number;
31
- "6e": number;
32
- "6o": number;
33
- "6b": number;
34
- "6c": number;
35
- "5e": number;
36
- "5o": number;
37
- "5b": number;
38
- "5c": number;
39
- "4e": number;
40
- "4o": number;
41
- "4b": number;
42
- "4c": number;
43
- };
44
- export declare const TEAM_SIZE_VALUES: number[];
45
- export declare const EnvidoCalculator: IEnvidoCalculator;
1
+ import { IEnvidoCalculator } from "../types";
2
+ export declare const CARDS: {
3
+ "1e": number;
4
+ "1b": number;
5
+ "7e": number;
6
+ "7o": number;
7
+ "3e": number;
8
+ "3o": number;
9
+ "3b": number;
10
+ "3c": number;
11
+ "2e": number;
12
+ "2o": number;
13
+ "2b": number;
14
+ "2c": number;
15
+ "1o": number;
16
+ "1c": number;
17
+ re: number;
18
+ ro: number;
19
+ rb: number;
20
+ rc: number;
21
+ ce: number;
22
+ co: number;
23
+ cb: number;
24
+ cc: number;
25
+ pe: number;
26
+ po: number;
27
+ pb: number;
28
+ pc: number;
29
+ "7b": number;
30
+ "7c": number;
31
+ "6e": number;
32
+ "6o": number;
33
+ "6b": number;
34
+ "6c": number;
35
+ "5e": number;
36
+ "5o": number;
37
+ "5b": number;
38
+ "5c": number;
39
+ "4e": number;
40
+ "4o": number;
41
+ "4b": number;
42
+ "4c": number;
43
+ };
44
+ export declare const TEAM_SIZE_VALUES: number[];
45
+ export declare const EnvidoCalculator: IEnvidoCalculator;
@@ -1,85 +1,84 @@
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);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EnvidoCalculator = exports.TEAM_SIZE_VALUES = exports.CARDS = void 0;
4
+ const types_1 = require("../types");
5
+ const utils_1 = require("./utils");
6
+ exports.CARDS = {
7
+ "1e": 14,
8
+ "1b": 13,
9
+ "7e": 12,
10
+ "7o": 11,
11
+ "3e": 10,
12
+ "3o": 10,
13
+ "3b": 10,
14
+ "3c": 10,
15
+ "2e": 9,
16
+ "2o": 9,
17
+ "2b": 8,
18
+ "2c": 8,
19
+ "1o": 7,
20
+ "1c": 7,
21
+ re: 6,
22
+ ro: 6,
23
+ rb: 6,
24
+ rc: 6,
25
+ ce: 5,
26
+ co: 5,
27
+ cb: 5,
28
+ cc: 5,
29
+ pe: 4,
30
+ po: 4,
31
+ pb: 4,
32
+ pc: 4,
33
+ "7b": 3,
34
+ "7c": 3,
35
+ "6e": 2,
36
+ "6o": 2,
37
+ "6b": 2,
38
+ "6c": 2,
39
+ "5e": 1,
40
+ "5o": 1,
41
+ "5b": 1,
42
+ "5c": 1,
43
+ "4e": 0,
44
+ "4o": 0,
45
+ "4b": 0,
46
+ "4c": 0,
47
+ };
48
+ exports.TEAM_SIZE_VALUES = [1, 2, 3];
49
+ exports.EnvidoCalculator = {
50
+ [types_1.EEnvidoCommand.ENVIDO]: () => ({
51
+ accept: 2,
52
+ decline: 1,
53
+ next: [types_1.EEnvidoCommand.ENVIDO_ENVIDO, types_1.EEnvidoCommand.REAL_ENVIDO, types_1.EEnvidoCommand.FALTA_ENVIDO],
54
+ }),
55
+ [types_1.EEnvidoCommand.ENVIDO_ENVIDO]: () => ({
56
+ accept: 4,
57
+ decline: 2,
58
+ next: [types_1.EEnvidoCommand.REAL_ENVIDO, types_1.EEnvidoCommand.FALTA_ENVIDO],
59
+ }),
60
+ [types_1.EEnvidoCommand.REAL_ENVIDO]: () => ({
61
+ accept: 3,
62
+ decline: 1,
63
+ next: [types_1.EEnvidoCommand.FALTA_ENVIDO],
64
+ }),
65
+ [types_1.EEnvidoCommand.FALTA_ENVIDO]: (args) => {
66
+ if (!args || !args.teams || !args.matchPoint) {
67
+ return {
68
+ accept: 1,
69
+ decline: 1,
70
+ next: [],
71
+ };
72
+ }
73
+ const { teams, matchPoint } = args;
74
+ const totals = teams.map((team) => team.points.malas + team.points.buenas);
75
+ const higher = (0, utils_1.getMaxNumberIndex)(totals);
76
+ const points = teams[higher].points;
77
+ const accept = points.buenas > 0 ? matchPoint - points.buenas : matchPoint - points.malas;
78
+ return {
79
+ accept,
80
+ decline: 2,
81
+ next: [],
82
+ };
83
+ },
84
+ };
@@ -1,2 +1,2 @@
1
- export * from "./classes";
2
- export * from "./constants";
1
+ export * from "./classes";
2
+ export * from "./constants";
package/dist/lib/index.js CHANGED
@@ -1,18 +1,18 @@
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);
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);