@konoui/mjimage 0.0.30 → 0.0.32

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 (59) hide show
  1. package/dist/index.cjs +30 -0
  2. package/dist/index.d.cts +1386 -0
  3. package/dist/index.d.ts +1386 -0
  4. package/dist/index.js +10953 -0
  5. package/package.json +23 -18
  6. package/dist/mjs/cmd/index.d.ts +0 -1
  7. package/dist/mjs/cmd/index.js +0 -49
  8. package/dist/mjs/index.d.ts +0 -6
  9. package/dist/mjs/index.js +0 -22
  10. package/dist/mjs/lib/calculator/calc.d.ts +0 -275
  11. package/dist/mjs/lib/calculator/calc.js +0 -1399
  12. package/dist/mjs/lib/calculator/efficiency.d.ts +0 -24
  13. package/dist/mjs/lib/calculator/efficiency.js +0 -82
  14. package/dist/mjs/lib/calculator/helper.d.ts +0 -6
  15. package/dist/mjs/lib/calculator/helper.js +0 -21
  16. package/dist/mjs/lib/calculator/index.d.ts +0 -3
  17. package/dist/mjs/lib/calculator/index.js +0 -19
  18. package/dist/mjs/lib/controller/controller.d.ts +0 -168
  19. package/dist/mjs/lib/controller/controller.js +0 -900
  20. package/dist/mjs/lib/controller/events.d.ts +0 -171
  21. package/dist/mjs/lib/controller/events.js +0 -102
  22. package/dist/mjs/lib/controller/game.d.ts +0 -5
  23. package/dist/mjs/lib/controller/game.js +0 -29
  24. package/dist/mjs/lib/controller/index.d.ts +0 -10
  25. package/dist/mjs/lib/controller/index.js +0 -26
  26. package/dist/mjs/lib/controller/managers.d.ts +0 -83
  27. package/dist/mjs/lib/controller/managers.js +0 -197
  28. package/dist/mjs/lib/controller/player-efficiency.d.ts +0 -24
  29. package/dist/mjs/lib/controller/player-efficiency.js +0 -156
  30. package/dist/mjs/lib/controller/player.d.ts +0 -12
  31. package/dist/mjs/lib/controller/player.js +0 -85
  32. package/dist/mjs/lib/controller/replay.d.ts +0 -10
  33. package/dist/mjs/lib/controller/replay.js +0 -34
  34. package/dist/mjs/lib/controller/river.d.ts +0 -19
  35. package/dist/mjs/lib/controller/river.js +0 -55
  36. package/dist/mjs/lib/controller/state-machine.d.ts +0 -67
  37. package/dist/mjs/lib/controller/state-machine.js +0 -771
  38. package/dist/mjs/lib/controller/wall.d.ts +0 -24
  39. package/dist/mjs/lib/controller/wall.js +0 -117
  40. package/dist/mjs/lib/core/constants.d.ts +0 -73
  41. package/dist/mjs/lib/core/constants.js +0 -73
  42. package/dist/mjs/lib/core/index.d.ts +0 -2
  43. package/dist/mjs/lib/core/index.js +0 -18
  44. package/dist/mjs/lib/core/lexer.d.ts +0 -14
  45. package/dist/mjs/lib/core/lexer.js +0 -53
  46. package/dist/mjs/lib/core/parser.d.ts +0 -120
  47. package/dist/mjs/lib/core/parser.js +0 -612
  48. package/dist/mjs/lib/image/image.d.ts +0 -42
  49. package/dist/mjs/lib/image/image.js +0 -361
  50. package/dist/mjs/lib/image/index.d.ts +0 -1
  51. package/dist/mjs/lib/image/index.js +0 -17
  52. package/dist/mjs/lib/measure-text/index.d.ts +0 -19
  53. package/dist/mjs/lib/measure-text/index.js +0 -49
  54. package/dist/mjs/lib/table/index.d.ts +0 -2
  55. package/dist/mjs/lib/table/index.js +0 -18
  56. package/dist/mjs/lib/table/table-parser.d.ts +0 -127
  57. package/dist/mjs/lib/table/table-parser.js +0 -105
  58. package/dist/mjs/lib/table/table.d.ts +0 -12
  59. package/dist/mjs/lib/table/table.js +0 -248
@@ -1,156 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.RiskRank = exports.PlayerEfficiency = void 0;
7
- var assert_1 = __importDefault(require("assert"));
8
- var constants_1 = require("../core/constants");
9
- var parser_1 = require("../core/parser");
10
- var weight = function (t, doras) {
11
- var base = 1;
12
- var v = base;
13
- for (var _i = 0, doras_1 = doras; _i < doras_1.length; _i++) {
14
- var d = doras_1[_i];
15
- if (d.equals(t, true))
16
- v *= 2;
17
- }
18
- return v;
19
- };
20
- var PlayerEfficiency = (function () {
21
- function PlayerEfficiency() {
22
- }
23
- PlayerEfficiency.calcPlayerCandidates = function (counter, candidates) {
24
- var playerCandidates = [];
25
- for (var _i = 0, candidates_1 = candidates; _i < candidates_1.length; _i++) {
26
- var s = candidates_1[_i];
27
- var sum = 0;
28
- var pairs = [];
29
- for (var _a = 0, _b = s.candidates; _a < _b.length; _a++) {
30
- var c = _b[_a];
31
- pairs.push({
32
- tile: c.clone(),
33
- n: counter.get(c),
34
- });
35
- sum += counter.get(c);
36
- }
37
- playerCandidates.push({
38
- sum: sum,
39
- tile: s.tile,
40
- candidates: pairs,
41
- shanten: s.shanten,
42
- });
43
- }
44
- return playerCandidates;
45
- };
46
- PlayerEfficiency.selectMinPriority = function (c, playerCandidates, doras) {
47
- (0, assert_1.default)(playerCandidates.length > 0);
48
- var min = 0;
49
- var idx = 0;
50
- for (var i = 0; i < playerCandidates.length; i++) {
51
- var p = PlayerEfficiency.calcPriority(c, playerCandidates[i], doras);
52
- if (p < min) {
53
- min = p;
54
- idx = i;
55
- }
56
- }
57
- return playerCandidates[idx];
58
- };
59
- PlayerEfficiency.calcPriority = function (c, playerCandidate, doras) {
60
- var tile = playerCandidate.tile;
61
- var v = 0;
62
- if (tile.t == constants_1.TYPE.Z) {
63
- v = c.get(tile);
64
- if (tile.n == 5 || tile.n == 6 || tile.n == 7)
65
- v *= 2;
66
- return v * weight(tile, doras);
67
- }
68
- else {
69
- var same = c.get(tile);
70
- v += same * weight(tile, doras);
71
- var np1 = c.get(new parser_1.Tile(tile.t, tile.n + 1)), np2 = c.get(new parser_1.Tile(tile.t, tile.n + 2));
72
- var nm1 = c.get(new parser_1.Tile(tile.t, tile.n - 1)), nm2 = c.get(new parser_1.Tile(tile.t, tile.n - 2));
73
- var left = tile.n - 2 > 0 ? Math.min(nm1, nm2) : 0;
74
- var right = tile.n + 2 <= 9 ? Math.min(np1, np2) : 0;
75
- var cc = tile.n - 1 >= 1 && tile.n + 1 <= 9 ? Math.min(np1, nm1) : 0;
76
- var centerLeft = Math.max(left, cc);
77
- var centerRight = Math.max(cc, right);
78
- v += same * weight(tile, doras);
79
- v += left * weight(new parser_1.Tile(tile.t, tile.n - 2), doras);
80
- v += right * weight(new parser_1.Tile(tile.t, tile.n + 2), doras);
81
- v += centerLeft * weight(new parser_1.Tile(tile.t, tile.n - 1), doras);
82
- v += centerRight * weight(new parser_1.Tile(tile.t, tile.n + 1), doras);
83
- if (tile.n == 0)
84
- v * 2;
85
- return v;
86
- }
87
- };
88
- return PlayerEfficiency;
89
- }());
90
- exports.PlayerEfficiency = PlayerEfficiency;
91
- var RiskRank = (function () {
92
- function RiskRank() {
93
- }
94
- RiskRank.selectTile = function (c, targetUsers, tiles) {
95
- (0, assert_1.default)(targetUsers.length > 0 && tiles.length > 0);
96
- var ret = tiles[0];
97
- var min = Number.POSITIVE_INFINITY;
98
- for (var _i = 0, tiles_1 = tiles; _i < tiles_1.length; _i++) {
99
- var t = tiles_1[_i];
100
- var v = RiskRank.rank(c, targetUsers, t);
101
- if (v < min) {
102
- ret = t;
103
- min = v;
104
- }
105
- }
106
- return ret;
107
- };
108
- RiskRank.rank = function (c, targetUsers, t) {
109
- var max = 0;
110
- var f = t.isNum() ? RiskRank.rankN : RiskRank.rankZ;
111
- for (var _i = 0, targetUsers_1 = targetUsers; _i < targetUsers_1.length; _i++) {
112
- var targetUser = targetUsers_1[_i];
113
- var v = f(c, targetUser, t);
114
- if (max < v)
115
- max = v;
116
- }
117
- return max;
118
- };
119
- RiskRank.rankZ = function (c, targetUser, t) {
120
- if (t.t != constants_1.TYPE.Z)
121
- throw new Error("expected TYPE.Z but ".concat(t.toString()));
122
- if (c.isSafeTile(t.t, t.n, targetUser))
123
- return 0;
124
- var remaining = c.get(t);
125
- return Math.min(remaining, 3);
126
- };
127
- RiskRank.rankN = function (c, targetUser, t) {
128
- if (!t.isNum())
129
- throw new Error("expected TYPE.NUMBER but ".concat(t.toString()));
130
- var n = t.n;
131
- var type = t.t;
132
- if (c.isSafeTile(type, n, targetUser))
133
- return 0;
134
- if (n == 1)
135
- return c.isSafeTile(type, 4, targetUser) ? 3 : 6;
136
- if (n == 9)
137
- return c.isSafeTile(type, 6, targetUser) ? 3 : 6;
138
- if (n == 2)
139
- return c.isSafeTile(type, 5, targetUser) ? 4 : 8;
140
- if (n == 8)
141
- return c.isSafeTile(type, 5, targetUser) ? 4 : 8;
142
- if (n == 3)
143
- return c.isSafeTile(type, 6, targetUser) ? 5 : 8;
144
- if (n == 7)
145
- return c.isSafeTile(type, 4, targetUser) ? 5 : 8;
146
- var left = c.isSafeTile(type, n - 3, targetUser);
147
- var right = c.isSafeTile(type, n + 3, targetUser);
148
- if (left && right)
149
- return 4;
150
- if (left || right)
151
- return 8;
152
- return 12;
153
- };
154
- return RiskRank;
155
- }());
156
- exports.RiskRank = RiskRank;
@@ -1,12 +0,0 @@
1
- import { Tile } from "../core/";
2
- import { BaseActor, River } from "./";
3
- import { PlayerEvent, EventHandler, DistributeEvent } from "./events";
4
- export declare class Player extends BaseActor {
5
- river: River;
6
- doras: Tile[];
7
- constructor(playerID: string, eventHandler: EventHandler);
8
- get myWind(): "1w" | "2w" | "3w" | "4w";
9
- setHands(e: DistributeEvent): void;
10
- handleDiscard(tiles: Tile[]): Tile;
11
- handleEvent(e: PlayerEvent): void;
12
- }
@@ -1,85 +0,0 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.Player = void 0;
19
- var core_1 = require("../core/");
20
- var _1 = require("./");
21
- var calculator_1 = require("../calculator");
22
- var Player = (function (_super) {
23
- __extends(Player, _super);
24
- function Player(playerID, eventHandler) {
25
- var _this = _super.call(this, playerID, eventHandler) || this;
26
- _this.river = new _1.River();
27
- _this.doras = [];
28
- _this.eventHandler.on(function (e) {
29
- return _this.handleEvent(e);
30
- });
31
- return _this;
32
- }
33
- Object.defineProperty(Player.prototype, "myWind", {
34
- get: function () {
35
- return this.placeManager.wind(this.id);
36
- },
37
- enumerable: false,
38
- configurable: true
39
- });
40
- Player.prototype.setHands = function (e) {
41
- for (var _i = 0, _a = Object.values(core_1.WIND); _i < _a.length; _i++) {
42
- var w = _a[_i];
43
- this.hands[w] = new _1.ActorHand(e.hands[w]);
44
- }
45
- };
46
- Player.prototype.handleDiscard = function (tiles) {
47
- var _this = this;
48
- var reachUsers = Object.values(core_1.WIND).filter(function (w) {
49
- return w == _this.myWind ? false : _this.hand(w).reached;
50
- });
51
- var shanten = new calculator_1.ShantenCalculator(this.hand(this.myWind)).calc();
52
- if (reachUsers.length > 0 && shanten >= 2) {
53
- var t = _1.RiskRank.selectTile(this.counter, reachUsers, tiles);
54
- return t;
55
- }
56
- var c = calculator_1.Efficiency.calcCandidates(this.hand(this.myWind), tiles);
57
- var candidates = _1.PlayerEfficiency.calcPlayerCandidates(this.counter, c);
58
- var sorted = candidates.sort(function (a, b) { return b.sum - a.sum; });
59
- var filtered = sorted.filter(function (v) { return v.sum == sorted[0].sum; });
60
- var ct = _1.PlayerEfficiency.selectMinPriority(this.counter, filtered, this.doras);
61
- return ct.tile;
62
- };
63
- Player.prototype.handleEvent = function (e) {
64
- switch (e.type) {
65
- case "CHOICE_AFTER_DISCARDED":
66
- this.eventHandler.emit(e);
67
- break;
68
- case "CHOICE_AFTER_CALLED":
69
- case "CHOICE_AFTER_DRAWN":
70
- if (e.choices.DISCARD) {
71
- var t = this.handleDiscard(e.choices.DISCARD.map(core_1.Tile.from));
72
- e.choices.DISCARD = [t.toString()];
73
- }
74
- this.eventHandler.emit(e);
75
- break;
76
- case "CHOICE_FOR_CHAN_KAN":
77
- this.eventHandler.emit(e);
78
- break;
79
- default:
80
- _super.prototype.handleEvent.call(this, e);
81
- }
82
- };
83
- return Player;
84
- }(_1.BaseActor));
85
- exports.Player = Player;
@@ -1,10 +0,0 @@
1
- import { History } from "./";
2
- export declare class Replayer {
3
- index: number;
4
- histories: History[];
5
- constructor(v: string);
6
- next(): void;
7
- prev(): void;
8
- start(): void;
9
- auto(): void;
10
- }
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Replayer = void 0;
7
- var assert_1 = __importDefault(require("assert"));
8
- var _1 = require("./");
9
- var Replayer = (function () {
10
- function Replayer(v) {
11
- this.index = 0;
12
- this.histories = [];
13
- this.histories = JSON.parse(v);
14
- }
15
- Replayer.prototype.next = function () {
16
- (0, assert_1.default)(this.index < this.histories.length);
17
- this.index++;
18
- };
19
- Replayer.prototype.prev = function () {
20
- this.index--;
21
- (0, assert_1.default)(this.index < 0);
22
- };
23
- Replayer.prototype.start = function () {
24
- var c = _1.Controller.load(this.histories[this.index]);
25
- c.start();
26
- };
27
- Replayer.prototype.auto = function () {
28
- for (; this.index < this.histories.length; this.next()) {
29
- this.start();
30
- }
31
- };
32
- return Replayer;
33
- }());
34
- exports.Replayer = Replayer;
@@ -1,19 +0,0 @@
1
- import { Wind } from "../core/constants";
2
- import { Tile } from "../core/parser";
3
- export declare class River {
4
- private m;
5
- constructor();
6
- discard(t: Tile, w: Wind): void;
7
- get lastTile(): {
8
- w: Wind;
9
- t: Tile;
10
- callMarker?: boolean;
11
- };
12
- discards(w?: Wind): {
13
- w: Wind;
14
- t: Tile;
15
- callMarker?: boolean;
16
- }[];
17
- markCalled(): void;
18
- cannotContinue(): boolean;
19
- }
@@ -1,55 +0,0 @@
1
- "use strict";
2
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
- if (ar || !(i in from)) {
5
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
- ar[i] = from[i];
7
- }
8
- }
9
- return to.concat(ar || Array.prototype.slice.call(from));
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.River = void 0;
16
- var assert_1 = __importDefault(require("assert"));
17
- var River = (function () {
18
- function River() {
19
- this.m = [];
20
- }
21
- River.prototype.discard = function (t, w) {
22
- this.m.push({ w: w, t: t });
23
- };
24
- Object.defineProperty(River.prototype, "lastTile", {
25
- get: function () {
26
- var last = this.m.at(-1);
27
- (0, assert_1.default)(last != null, "lastTile is null(".concat(last, "). river: ").concat(JSON.stringify(this.m, null, 2)));
28
- return last;
29
- },
30
- enumerable: false,
31
- configurable: true
32
- });
33
- River.prototype.discards = function (w) {
34
- if (w == undefined)
35
- return __spreadArray([], this.m, true);
36
- return this.m.filter(function (v) { return v.w == w; });
37
- };
38
- River.prototype.markCalled = function () {
39
- this.lastTile.callMarker = true;
40
- };
41
- River.prototype.cannotContinue = function () {
42
- var discards = this.discards();
43
- if (discards.length != 4)
44
- return false;
45
- var t = discards[0].t;
46
- if (t.isNum())
47
- return false;
48
- for (var i = 0; i < 4; i++)
49
- if (!t.equals(discards[i].t))
50
- return false;
51
- return true;
52
- };
53
- return River;
54
- }());
55
- exports.River = River;
@@ -1,67 +0,0 @@
1
- import { Wind } from "../core/constants";
2
- import { Controller } from "./index";
3
- import { BlockAnKan, BlockChi, BlockDaiKan, BlockPon, BlockShoKan, Tile } from "../core/parser";
4
- import { WinResult } from "./../calculator";
5
- type ControllerContext = {
6
- currentWind: Wind;
7
- oneShotMap: {
8
- [key in Wind]: boolean;
9
- };
10
- missingMap: {
11
- [key in Wind]: boolean;
12
- };
13
- controller: Controller;
14
- genEventID: ReturnType<typeof incrementalIDGenerator>;
15
- };
16
- export declare const createControllerMachine: (c: Controller) => import("xstate").StateMachine<ControllerContext, {
17
- type: "";
18
- } | {
19
- type: "NEXT";
20
- } | {
21
- type: "CHI";
22
- block: BlockChi;
23
- iam: Wind;
24
- } | {
25
- type: "PON";
26
- block: BlockPon;
27
- iam: Wind;
28
- } | {
29
- type: "RON";
30
- ret: WinResult;
31
- iam: Wind;
32
- targetInfo: {
33
- wind: Wind;
34
- tile: Tile;
35
- };
36
- quadWin?: boolean;
37
- } | {
38
- type: "TSUMO";
39
- ret: WinResult;
40
- iam: Wind;
41
- lastTile: Tile;
42
- } | {
43
- type: "REACH";
44
- tile: Tile;
45
- iam: Wind;
46
- } | {
47
- type: "DISCARD";
48
- tile: Tile;
49
- iam: Wind;
50
- } | {
51
- type: "AN_KAN";
52
- block: BlockAnKan;
53
- iam: Wind;
54
- } | {
55
- type: "SHO_KAN";
56
- block: BlockShoKan;
57
- iam: Wind;
58
- } | {
59
- type: "DAI_KAN";
60
- block: BlockDaiKan;
61
- iam: Wind;
62
- } | {
63
- type: "DRAWN_GAME_BY_NINE_TILES";
64
- iam: Wind;
65
- }, Record<string, import("xstate").AnyActorRef>, import("xstate").ProvidedActor, import("xstate").ParameterizedObject, import("xstate").ParameterizedObject, never, import("xstate").StateValue, string, unknown, import("xstate").NonReducibleUnknown, import("xstate").EventObject, import("xstate").MetaObject, any>;
66
- export declare function incrementalIDGenerator(start?: number): () => string;
67
- export {};