@konoui/mjimage 0.0.5 → 0.0.8

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.
@@ -1,5 +1,5 @@
1
- import { KIND, Round, Wind } from "../constants";
2
- import { Tile, BlockPon, BlockChi, BlockShoKan, BlockAnKan, BlockDaiKan, Kind, Block } from "../parser";
1
+ import { TYPE, Round, Wind } from "../constants";
2
+ import { Tile, BlockPon, BlockChi, BlockShoKan, BlockAnKan, BlockDaiKan, Type, Block } from "../parser";
3
3
  type FixedNumber = [
4
4
  number,
5
5
  number,
@@ -13,11 +13,11 @@ type FixedNumber = [
13
13
  number
14
14
  ];
15
15
  export interface HandData {
16
- [KIND.M]: FixedNumber;
17
- [KIND.S]: FixedNumber;
18
- [KIND.P]: FixedNumber;
19
- [KIND.Z]: [number, number, number, number, number, number, number, number];
20
- [KIND.BACK]: [number];
16
+ [TYPE.M]: FixedNumber;
17
+ [TYPE.S]: FixedNumber;
18
+ [TYPE.P]: FixedNumber;
19
+ [TYPE.Z]: [number, number, number, number, number, number, number, number];
20
+ [TYPE.BACK]: [number];
21
21
  called: (BlockChi | BlockPon | BlockAnKan | BlockDaiKan | BlockShoKan)[];
22
22
  tsumo: Tile | null;
23
23
  reached: boolean;
@@ -32,9 +32,9 @@ export declare class Hand {
32
32
  get reached(): boolean;
33
33
  get drawn(): Tile | null;
34
34
  get menzen(): boolean;
35
- getArrayLen(k: Kind): 1 | 8 | 10;
36
- sum(k: Kind): number;
37
- get(k: Kind, n: number): number;
35
+ getArrayLen(k: Type): 1 | 8 | 10;
36
+ sum(k: Type): number;
37
+ get(k: Type, n: number): number;
38
38
  inc(tiles: Tile[]): Tile[];
39
39
  dec(tiles: Tile[]): Tile[];
40
40
  draw(t: Tile): void;
@@ -20,11 +20,11 @@ var Hand = (function () {
20
20
  function Hand(input) {
21
21
  var _a;
22
22
  this.data = (_a = {},
23
- _a[constants_1.KIND.M] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
24
- _a[constants_1.KIND.P] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
25
- _a[constants_1.KIND.S] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
26
- _a[constants_1.KIND.Z] = [0, 0, 0, 0, 0, 0, 0, 0],
27
- _a[constants_1.KIND.BACK] = [0],
23
+ _a[constants_1.TYPE.M] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
24
+ _a[constants_1.TYPE.P] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
25
+ _a[constants_1.TYPE.S] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
26
+ _a[constants_1.TYPE.Z] = [0, 0, 0, 0, 0, 0, 0, 0],
27
+ _a[constants_1.TYPE.BACK] = [0],
28
28
  _a.called = [],
29
29
  _a.reached = false,
30
30
  _a.tsumo = null,
@@ -49,7 +49,7 @@ var Hand = (function () {
49
49
  this.inc(b.tiles);
50
50
  continue;
51
51
  }
52
- else if (input.split("").every(function (v) { return v === constants_1.KIND.BACK; })) {
52
+ else if (input.split("").every(function (v) { return v === constants_1.TYPE.BACK; })) {
53
53
  this.inc(b.tiles);
54
54
  continue;
55
55
  }
@@ -59,11 +59,11 @@ var Hand = (function () {
59
59
  Object.defineProperty(Hand.prototype, "hands", {
60
60
  get: function () {
61
61
  var tiles = [];
62
- for (var _i = 0, _a = Object.values(constants_1.KIND); _i < _a.length; _i++) {
62
+ for (var _i = 0, _a = Object.values(constants_1.TYPE); _i < _a.length; _i++) {
63
63
  var k = _a[_i];
64
64
  for (var n = 0; n < this.getArrayLen(k); n++) {
65
65
  var count = this.get(k, n);
66
- if (k != constants_1.KIND.Z && n == 5)
66
+ if (k != constants_1.TYPE.Z && n == 5)
67
67
  count -= this.get(k, 0);
68
68
  for (var i = 0; i < count; i++) {
69
69
  tiles.push(new parser_1.Tile(k, n));
@@ -135,20 +135,20 @@ var Hand = (function () {
135
135
  var backup = [];
136
136
  for (var _i = 0, tiles_1 = tiles; _i < tiles_1.length; _i++) {
137
137
  var t = tiles_1[_i];
138
- if (t.k != constants_1.KIND.BACK && this.get(t.k, t.n) > 4) {
138
+ if (t.t != constants_1.TYPE.BACK && this.get(t.t, t.n) > 4) {
139
139
  this.dec(backup);
140
140
  throw new Error("unable to increase ".concat(t, " in ").concat(this.toString()));
141
141
  }
142
142
  backup.push(t);
143
- if (!(t.k == constants_1.KIND.Z || t.k == constants_1.KIND.BACK) && t.n == 0) {
144
- this.data[t.k][5] += 1;
143
+ if (!(t.t == constants_1.TYPE.Z || t.t == constants_1.TYPE.BACK) && t.n == 0) {
144
+ this.data[t.t][5] += 1;
145
145
  }
146
- this.data[t.k][t.n] += 1;
147
- if (t.k != constants_1.KIND.Z &&
146
+ this.data[t.t][t.n] += 1;
147
+ if (t.t != constants_1.TYPE.Z &&
148
148
  t.n == 5 &&
149
- this.get(t.k, 5) == 4 &&
150
- this.get(t.k, 0) == 0) {
151
- this.data[t.k][0] = 1;
149
+ this.get(t.t, 5) == 4 &&
150
+ this.get(t.t, 0) == 0) {
151
+ this.data[t.t][0] = 1;
152
152
  var c = backup.pop().clone();
153
153
  c.n = 0;
154
154
  backup.push(c);
@@ -157,28 +157,28 @@ var Hand = (function () {
157
157
  return backup;
158
158
  };
159
159
  Hand.prototype.dec = function (tiles) {
160
- if (this.hands.every(function (t) { return t.k == constants_1.KIND.BACK; })) {
161
- var toRemove = tiles.map(function (v) { return new parser_1.Tile(constants_1.KIND.BACK, 0); });
162
- this.data[constants_1.KIND.BACK][0] -= tiles.length;
160
+ if (this.hands.every(function (t) { return t.t == constants_1.TYPE.BACK; })) {
161
+ var toRemove = tiles.map(function (v) { return new parser_1.Tile(constants_1.TYPE.BACK, 0); });
162
+ this.data[constants_1.TYPE.BACK][0] -= tiles.length;
163
163
  return toRemove;
164
164
  }
165
165
  var backup = [];
166
166
  for (var _i = 0, tiles_2 = tiles; _i < tiles_2.length; _i++) {
167
167
  var t = tiles_2[_i];
168
- if (this.get(t.k, t.n) < 1) {
168
+ if (this.get(t.t, t.n) < 1) {
169
169
  this.inc(backup);
170
170
  throw new Error("unable to decrease ".concat(t.toString(), " in ").concat(this.toString()));
171
171
  }
172
172
  backup.push(t);
173
- if (!(t.k == constants_1.KIND.Z || t.k == constants_1.KIND.BACK) && t.n == 0) {
174
- this.data[t.k][5] -= 1;
173
+ if (!(t.t == constants_1.TYPE.Z || t.t == constants_1.TYPE.BACK) && t.n == 0) {
174
+ this.data[t.t][5] -= 1;
175
175
  }
176
- this.data[t.k][t.n] -= 1;
177
- if (t.k != constants_1.KIND.Z &&
176
+ this.data[t.t][t.n] -= 1;
177
+ if (t.t != constants_1.TYPE.Z &&
178
178
  t.n == 5 &&
179
- this.get(t.k, 5) == 0 &&
180
- this.get(t.k, 0) > 0) {
181
- this.data[t.k][0] = 0;
179
+ this.get(t.t, 5) == 0 &&
180
+ this.get(t.t, 0) > 0) {
181
+ this.data[t.t][0] = 0;
182
182
  var c = backup.pop().clone();
183
183
  c.n = 0;
184
184
  backup.push(c);
@@ -219,7 +219,7 @@ var Hand = (function () {
219
219
  };
220
220
  Hand.prototype.kan = function (b) {
221
221
  if (b instanceof parser_1.BlockAnKan) {
222
- var t = b.tiles.filter(function (v) { return v.k != constants_1.KIND.BACK && v.n != 0; });
222
+ var t = b.tiles.filter(function (v) { return v.t != constants_1.TYPE.BACK && v.n != 0; });
223
223
  this.dec([t[0], t[0], t[0], t[0]]);
224
224
  this.data.called.push(b);
225
225
  this.data.tsumo = null;
@@ -231,7 +231,7 @@ var Hand = (function () {
231
231
  throw new Error("unable to find ".concat(b.tiles[0]));
232
232
  var t = b.tiles[0].clone();
233
233
  if (t.isNum() && t.n == 0) {
234
- t = new parser_1.Tile(t.k, 5);
234
+ t = new parser_1.Tile(t.t, 5);
235
235
  }
236
236
  this.data.called.splice(idx, 1);
237
237
  this.dec([t]);
@@ -270,7 +270,7 @@ var ShantenCalculator = (function () {
270
270
  return Infinity;
271
271
  var nPairs = 0;
272
272
  var nIsolated = 0;
273
- for (var _i = 0, _a = Object.values(constants_1.KIND); _i < _a.length; _i++) {
273
+ for (var _i = 0, _a = Object.values(constants_1.TYPE); _i < _a.length; _i++) {
274
274
  var k = _a[_i];
275
275
  for (var n = 1; n < this.hand.getArrayLen(k); n++) {
276
276
  if (this.hand.get(k, n) == 2)
@@ -290,11 +290,11 @@ var ShantenCalculator = (function () {
290
290
  return Infinity;
291
291
  var nOrphans = 0;
292
292
  var nPairs = 0;
293
- for (var _i = 0, _a = Object.values(constants_1.KIND); _i < _a.length; _i++) {
293
+ for (var _i = 0, _a = Object.values(constants_1.TYPE); _i < _a.length; _i++) {
294
294
  var k = _a[_i];
295
- if (k == constants_1.KIND.BACK)
295
+ if (k == constants_1.TYPE.BACK)
296
296
  continue;
297
- var nn = k == constants_1.KIND.Z ? [1, 2, 3, 4, 5, 6, 7] : [1, 9];
297
+ var nn = k == constants_1.TYPE.Z ? [1, 2, 3, 4, 5, 6, 7] : [1, 9];
298
298
  for (var _b = 0, nn_1 = nn; _b < nn_1.length; _b++) {
299
299
  var n = nn_1[_b];
300
300
  if (this.hand.get(k, n) >= 1)
@@ -309,7 +309,7 @@ var ShantenCalculator = (function () {
309
309
  var _this = this;
310
310
  var calc = function (hasPair) {
311
311
  var z = [0, 0, 0];
312
- var k = constants_1.KIND.Z;
312
+ var k = constants_1.TYPE.Z;
313
313
  for (var n = 1; n < _this.hand.getArrayLen(k); n++) {
314
314
  if (_this.hand.get(k, n) >= 3)
315
315
  z[0]++;
@@ -319,9 +319,9 @@ var ShantenCalculator = (function () {
319
319
  z[2]++;
320
320
  }
321
321
  var min = 13;
322
- var mr = _this.commonByKind(constants_1.KIND.M);
323
- var pr = _this.commonByKind(constants_1.KIND.P);
324
- var sr = _this.commonByKind(constants_1.KIND.S);
322
+ var mr = _this.commonByKind(constants_1.TYPE.M);
323
+ var pr = _this.commonByKind(constants_1.TYPE.P);
324
+ var sr = _this.commonByKind(constants_1.TYPE.S);
325
325
  for (var _i = 0, _a = [mr.patternA, mr.patternB]; _i < _a.length; _i++) {
326
326
  var m = _a[_i];
327
327
  for (var _b = 0, _c = [pr.patternA, pr.patternB]; _b < _c.length; _b++) {
@@ -342,7 +342,7 @@ var ShantenCalculator = (function () {
342
342
  return min;
343
343
  };
344
344
  var min = calc(false);
345
- for (var _i = 0, _a = Object.values(constants_1.KIND); _i < _a.length; _i++) {
345
+ for (var _i = 0, _a = Object.values(constants_1.TYPE); _i < _a.length; _i++) {
346
346
  var k = _a[_i];
347
347
  for (var n = 1; n < this.hand.getArrayLen(k); n++) {
348
348
  if (this.hand.get(k, n) >= 2) {
@@ -457,16 +457,16 @@ var ExShantenCalculator = (function () {
457
457
  var vPon = null;
458
458
  for (var _i = 0, _a = [1, 2, 3, 4, 5, 6, 7]; _i < _a.length; _i++) {
459
459
  var n = _a[_i];
460
- if (this.h.get(constants_1.KIND.Z, n) >= 3)
460
+ if (this.h.get(constants_1.TYPE.Z, n) >= 3)
461
461
  three++;
462
- else if (this.h.get(constants_1.KIND.Z, n) == 2) {
463
- var t = new parser_1.Tile(constants_1.KIND.Z, n);
462
+ else if (this.h.get(constants_1.TYPE.Z, n) == 2) {
463
+ var t = new parser_1.Tile(constants_1.TYPE.Z, n);
464
464
  vPon = new parser_1.BlockPon([t, t.clone(), t.clone()]);
465
465
  }
466
466
  else
467
467
  for (var _b = 0, _c = this.h.called; _b < _c.length; _b++) {
468
468
  var b = _c[_b];
469
- if (b.tiles[0].k == constants_1.KIND.Z && b.tiles[0].n == n)
469
+ if (b.tiles[0].t == constants_1.TYPE.Z && b.tiles[0].n == n)
470
470
  three++;
471
471
  }
472
472
  }
@@ -534,9 +534,9 @@ var TileCalculator = (function () {
534
534
  if (this.hand.called.length > 0)
535
535
  return [];
536
536
  var ret = [];
537
- for (var _i = 0, _a = Object.values(constants_1.KIND); _i < _a.length; _i++) {
537
+ for (var _i = 0, _a = Object.values(constants_1.TYPE); _i < _a.length; _i++) {
538
538
  var k = _a[_i];
539
- if (k == constants_1.KIND.BACK)
539
+ if (k == constants_1.TYPE.BACK)
540
540
  continue;
541
541
  for (var n = 1; n < this.hand.getArrayLen(k); n++) {
542
542
  var v = this.hand.get(k, n);
@@ -553,11 +553,11 @@ var TileCalculator = (function () {
553
553
  TileCalculator.prototype.thirteenOrphans = function () {
554
554
  var ret = [];
555
555
  var pairs = "";
556
- for (var _i = 0, _a = Object.values(constants_1.KIND); _i < _a.length; _i++) {
556
+ for (var _i = 0, _a = Object.values(constants_1.TYPE); _i < _a.length; _i++) {
557
557
  var k = _a[_i];
558
- if (k == constants_1.KIND.BACK)
558
+ if (k == constants_1.TYPE.BACK)
559
559
  continue;
560
- var nn = k == constants_1.KIND.Z ? [1, 2, 3, 4, 5, 6, 7] : [1, 9];
560
+ var nn = k == constants_1.TYPE.Z ? [1, 2, 3, 4, 5, 6, 7] : [1, 9];
561
561
  for (var _b = 0, nn_2 = nn; _b < nn_2.length; _b++) {
562
562
  var n = nn_2[_b];
563
563
  if (this.hand.get(k, n) == 1)
@@ -575,11 +575,11 @@ var TileCalculator = (function () {
575
575
  var cond = function (k, n, want) {
576
576
  return want.includes(_this.hand.get(k, n));
577
577
  };
578
- for (var _i = 0, _a = Object.values(constants_1.KIND); _i < _a.length; _i++) {
578
+ for (var _i = 0, _a = Object.values(constants_1.TYPE); _i < _a.length; _i++) {
579
579
  var k = _a[_i];
580
- if (k == constants_1.KIND.BACK)
580
+ if (k == constants_1.TYPE.BACK)
581
581
  continue;
582
- if (k == constants_1.KIND.Z)
582
+ if (k == constants_1.TYPE.Z)
583
583
  continue;
584
584
  var cond1 = cond(k, 1, [3, 4]) &&
585
585
  cond(k, 9, [3, 4]) &&
@@ -599,9 +599,9 @@ var TileCalculator = (function () {
599
599
  };
600
600
  TileCalculator.prototype.fourSetsOnePair = function () {
601
601
  var ret = [];
602
- for (var _i = 0, _a = Object.values(constants_1.KIND); _i < _a.length; _i++) {
602
+ for (var _i = 0, _a = Object.values(constants_1.TYPE); _i < _a.length; _i++) {
603
603
  var k = _a[_i];
604
- if (k == constants_1.KIND.BACK)
604
+ if (k == constants_1.TYPE.BACK)
605
605
  continue;
606
606
  var _loop_1 = function (n) {
607
607
  if (this_1.hand.get(k, n) >= 2) {
@@ -627,7 +627,7 @@ var TileCalculator = (function () {
627
627
  var _this = this;
628
628
  var handleZ = function () {
629
629
  var z = [];
630
- var k = constants_1.KIND.Z;
630
+ var k = constants_1.TYPE.Z;
631
631
  for (var n = 1; n < _this.hand.getArrayLen(k); n++) {
632
632
  if (_this.hand.get(k, n) == 0)
633
633
  continue;
@@ -638,9 +638,9 @@ var TileCalculator = (function () {
638
638
  return z.length == 0 ? [] : [z];
639
639
  };
640
640
  var vvv = [
641
- this.commonByKind(constants_1.KIND.M),
642
- this.commonByKind(constants_1.KIND.P),
643
- this.commonByKind(constants_1.KIND.S),
641
+ this.commonByKind(constants_1.TYPE.M),
642
+ this.commonByKind(constants_1.TYPE.P),
643
+ this.commonByKind(constants_1.TYPE.S),
644
644
  handleZ(),
645
645
  [this.hand.called],
646
646
  ].sort(function (a, b) { return b.length - a.length; });
@@ -894,7 +894,7 @@ var DoubleCalculator = (function () {
894
894
  };
895
895
  DoubleCalculator.prototype.dD1 = function (h) {
896
896
  var cond = h.some(function (block) {
897
- return block.tiles.some(function (t) { return t.k == constants_1.KIND.Z || [1, 9].includes(t.n); });
897
+ return block.tiles.some(function (t) { return t.t == constants_1.TYPE.Z || [1, 9].includes(t.n); });
898
898
  });
899
899
  return cond ? [] : [{ name: "断么九", double: 1 }];
900
900
  };
@@ -911,7 +911,7 @@ var DoubleCalculator = (function () {
911
911
  if (block instanceof parser_1.BlockPair)
912
912
  return;
913
913
  var tile = block.tiles[0];
914
- if (tile.k == constants_1.KIND.Z) {
914
+ if (tile.t == constants_1.TYPE.Z) {
915
915
  if (tile.equals(_this.cfg.myWind))
916
916
  ret.push({ name: "自風", double: 1 });
917
917
  if (tile.equals(_this.cfg.roundWind))
@@ -983,9 +983,9 @@ var DoubleCalculator = (function () {
983
983
  if (!check(block))
984
984
  return "continue";
985
985
  var tile = block.minTile();
986
- if (tile.k == constants_1.KIND.Z)
986
+ if (tile.t == constants_1.TYPE.Z)
987
987
  return "continue";
988
- var filteredKinds = [constants_1.KIND.M, constants_1.KIND.P, constants_1.KIND.S].filter(function (v) { return v != tile.k; });
988
+ var filteredKinds = [constants_1.TYPE.M, constants_1.TYPE.P, constants_1.TYPE.S].filter(function (v) { return v != tile.t; });
989
989
  var cond1 = h.some(function (b) {
990
990
  var newTile = new parser_1.Tile(filteredKinds[0], tile.n);
991
991
  return check(b) && newTile.equals(b.minTile(), true);
@@ -1048,9 +1048,9 @@ var DoubleCalculator = (function () {
1048
1048
  if (!check(block))
1049
1049
  return "continue";
1050
1050
  var tile = block.minTile();
1051
- if (tile.k == constants_1.KIND.Z)
1051
+ if (tile.t == constants_1.TYPE.Z)
1052
1052
  return "continue";
1053
- var filteredKinds = [constants_1.KIND.M, constants_1.KIND.P, constants_1.KIND.S].filter(function (v) { return v != tile.k; });
1053
+ var filteredKinds = [constants_1.TYPE.M, constants_1.TYPE.P, constants_1.TYPE.S].filter(function (v) { return v != tile.t; });
1054
1054
  var cond1 = h.some(function (b) {
1055
1055
  var newTile = new parser_1.Tile(filteredKinds[0], tile.n);
1056
1056
  return check(b) && newTile.equals(b.minTile(), true);
@@ -1073,13 +1073,13 @@ var DoubleCalculator = (function () {
1073
1073
  DoubleCalculator.prototype.dG2 = function (h) {
1074
1074
  var l = h.filter(function (b) {
1075
1075
  var t = b.tiles[0];
1076
- return t.k == constants_1.KIND.Z && [5, 6, 7].includes(t.n);
1076
+ return t.t == constants_1.TYPE.Z && [5, 6, 7].includes(t.n);
1077
1077
  }).length;
1078
1078
  return l == 3 ? [{ name: "小三元", double: 2 }] : [];
1079
1079
  };
1080
1080
  DoubleCalculator.prototype.dH2 = function (h) {
1081
1081
  var cond = h.every(function (b) {
1082
- var values = b.tiles[0].k == constants_1.KIND.Z ? [1, 2, 3, 4, 5, 6, 7] : [1, 9];
1082
+ var values = b.tiles[0].t == constants_1.TYPE.Z ? [1, 2, 3, 4, 5, 6, 7] : [1, 9];
1083
1083
  return b.tiles.every(function (t) { return values.includes(t.n); });
1084
1084
  });
1085
1085
  return cond ? [{ name: "混老頭", double: 2 }] : [];
@@ -1087,10 +1087,10 @@ var DoubleCalculator = (function () {
1087
1087
  DoubleCalculator.prototype.dI2 = function (h) {
1088
1088
  if (!h.some(function (b) { return b instanceof parser_1.BlockRun; }) && !(h.length == 7))
1089
1089
  return [];
1090
- if (!h.some(function (b) { return b.tiles[0].k == constants_1.KIND.Z; }))
1090
+ if (!h.some(function (b) { return b.tiles[0].t == constants_1.TYPE.Z; }))
1091
1091
  return [];
1092
1092
  var cond = h.every(function (block) {
1093
- var values = block.tiles[0].k == constants_1.KIND.Z ? [1, 2, 3, 4, 5, 6, 7] : [1, 9];
1093
+ var values = block.tiles[0].t == constants_1.TYPE.Z ? [1, 2, 3, 4, 5, 6, 7] : [1, 9];
1094
1094
  return block.tiles.some(function (t) { return values.includes(t.n); });
1095
1095
  });
1096
1096
  return cond ? [{ name: "混全帯么九", double: 2 - this.minus() }] : [];
@@ -1100,25 +1100,25 @@ var DoubleCalculator = (function () {
1100
1100
  if (this.minus() != 0)
1101
1101
  return [];
1102
1102
  var m = (_a = {},
1103
- _a[constants_1.KIND.M] = [0, 0, 0],
1104
- _a[constants_1.KIND.S] = [0, 0, 0],
1105
- _a[constants_1.KIND.P] = [0, 0, 0],
1103
+ _a[constants_1.TYPE.M] = [0, 0, 0],
1104
+ _a[constants_1.TYPE.S] = [0, 0, 0],
1105
+ _a[constants_1.TYPE.P] = [0, 0, 0],
1106
1106
  _a);
1107
1107
  for (var _i = 0, h_4 = h; _i < h_4.length; _i++) {
1108
1108
  var block = h_4[_i];
1109
1109
  var tile = block.minTile();
1110
- if (tile.k == constants_1.KIND.BACK)
1110
+ if (tile.t == constants_1.TYPE.BACK)
1111
1111
  continue;
1112
- if (tile.k == constants_1.KIND.Z)
1112
+ if (tile.t == constants_1.TYPE.Z)
1113
1113
  continue;
1114
1114
  if (!(block instanceof parser_1.BlockRun))
1115
1115
  continue;
1116
1116
  if (tile.n == 1)
1117
- m[tile.k][0]++;
1117
+ m[tile.t][0]++;
1118
1118
  if (tile.n == 4)
1119
- m[tile.k][1]++;
1119
+ m[tile.t][1]++;
1120
1120
  if (tile.n == 7)
1121
- m[tile.k][2]++;
1121
+ m[tile.t][2]++;
1122
1122
  }
1123
1123
  for (var _b = 0, _c = Object.values(m); _b < _c.length; _b++) {
1124
1124
  var v = _c[_b];
@@ -1128,16 +1128,16 @@ var DoubleCalculator = (function () {
1128
1128
  return [];
1129
1129
  };
1130
1130
  DoubleCalculator.prototype.dA3 = function (h) {
1131
- var cond = !h.some(function (block) { return block.tiles[0].k == constants_1.KIND.Z; });
1131
+ var cond = !h.some(function (block) { return block.tiles[0].t == constants_1.TYPE.Z; });
1132
1132
  if (cond)
1133
1133
  return [];
1134
1134
  var _loop_4 = function (k) {
1135
- var ok = h.every(function (b) { return b.tiles[0].k == constants_1.KIND.Z || b.tiles[0].k == k; });
1135
+ var ok = h.every(function (b) { return b.tiles[0].t == constants_1.TYPE.Z || b.tiles[0].t == k; });
1136
1136
  if (ok)
1137
1137
  return { value: [{ name: "混一色", double: 3 - this_3.minus() }] };
1138
1138
  };
1139
1139
  var this_3 = this;
1140
- for (var _i = 0, _a = Object.values(constants_1.KIND); _i < _a.length; _i++) {
1140
+ for (var _i = 0, _a = Object.values(constants_1.TYPE); _i < _a.length; _i++) {
1141
1141
  var k = _a[_i];
1142
1142
  var state_3 = _loop_4(k);
1143
1143
  if (typeof state_3 === "object")
@@ -1148,10 +1148,10 @@ var DoubleCalculator = (function () {
1148
1148
  DoubleCalculator.prototype.dB3 = function (h) {
1149
1149
  if (!h.some(function (b) { return b instanceof parser_1.BlockRun; }) && !(h.length == 7))
1150
1150
  return [];
1151
- if (h.some(function (b) { return b.tiles[0].k == constants_1.KIND.Z; }))
1151
+ if (h.some(function (b) { return b.tiles[0].t == constants_1.TYPE.Z; }))
1152
1152
  return [];
1153
1153
  var cond = h.every(function (b) {
1154
- var values = b.tiles[0].k == constants_1.KIND.Z ? [1, 2, 3, 4, 5, 6, 7] : [1, 9];
1154
+ var values = b.tiles[0].t == constants_1.TYPE.Z ? [1, 2, 3, 4, 5, 6, 7] : [1, 9];
1155
1155
  return b.tiles.some(function (t) { return values.includes(t.n); });
1156
1156
  });
1157
1157
  return cond ? [{ name: "純全帯么九色", double: 3 - this.minus() }] : [];
@@ -1163,17 +1163,17 @@ var DoubleCalculator = (function () {
1163
1163
  return count == 2 ? [{ name: "ニ盃口", double: 3 }] : [];
1164
1164
  };
1165
1165
  DoubleCalculator.prototype.dA6 = function (h) {
1166
- if (h.some(function (block) { return block.tiles[0].k == constants_1.KIND.Z; }))
1166
+ if (h.some(function (block) { return block.tiles[0].t == constants_1.TYPE.Z; }))
1167
1167
  return [];
1168
1168
  var _loop_5 = function (k) {
1169
- if (k == constants_1.KIND.Z)
1169
+ if (k == constants_1.TYPE.Z)
1170
1170
  return "continue";
1171
- var ok = h.every(function (v) { return v.tiles[0].k == k; });
1171
+ var ok = h.every(function (v) { return v.tiles[0].t == k; });
1172
1172
  if (ok)
1173
1173
  return { value: [{ name: "清一色", double: 6 - this_4.minus() }] };
1174
1174
  };
1175
1175
  var this_4 = this;
1176
- for (var _i = 0, _a = Object.values(constants_1.KIND); _i < _a.length; _i++) {
1176
+ for (var _i = 0, _a = Object.values(constants_1.TYPE); _i < _a.length; _i++) {
1177
1177
  var k = _a[_i];
1178
1178
  var state_4 = _loop_5(k);
1179
1179
  if (typeof state_4 === "object")
@@ -1220,17 +1220,17 @@ var DoubleCalculator = (function () {
1220
1220
  var z = [5, 6, 7];
1221
1221
  var cond = h.filter(function (b) {
1222
1222
  return !(b instanceof parser_1.BlockPair) &&
1223
- b.tiles.some(function (t) { return t.k == constants_1.KIND.Z && z.includes(t.n); });
1223
+ b.tiles.some(function (t) { return t.t == constants_1.TYPE.Z && z.includes(t.n); });
1224
1224
  }).length == 3;
1225
1225
  return cond ? [{ name: "大三元", double: 13 }] : [];
1226
1226
  };
1227
1227
  DoubleCalculator.prototype.dE13 = function (h) {
1228
- var cond = h.every(function (b) { return b.tiles.every(function (t) { return t.k == constants_1.KIND.Z; }); });
1228
+ var cond = h.every(function (b) { return b.tiles.every(function (t) { return t.t == constants_1.TYPE.Z; }); });
1229
1229
  return cond ? [{ name: "字一色", double: 13 }] : [];
1230
1230
  };
1231
1231
  DoubleCalculator.prototype.dF13 = function (h) {
1232
1232
  var cond = h.every(function (b) {
1233
- return b.tiles.every(function (t) { return t.k != constants_1.KIND.Z && [1, 9].includes(t.n); });
1233
+ return b.tiles.every(function (t) { return t.t != constants_1.TYPE.Z && [1, 9].includes(t.n); });
1234
1234
  });
1235
1235
  return cond ? [{ name: "清老頭", double: 13 }] : [];
1236
1236
  };
@@ -1248,22 +1248,22 @@ var DoubleCalculator = (function () {
1248
1248
  if (h.length == 7)
1249
1249
  return [];
1250
1250
  var zn = [1, 2, 3, 4];
1251
- var cond1 = h.filter(function (b) { return b.tiles.some(function (t) { return t.k == constants_1.KIND.Z && zn.includes(t.n); }); })
1251
+ var cond1 = h.filter(function (b) { return b.tiles.some(function (t) { return t.t == constants_1.TYPE.Z && zn.includes(t.n); }); })
1252
1252
  .length == 4;
1253
1253
  if (!cond1)
1254
1254
  return [];
1255
1255
  var cond2 = h
1256
1256
  .find(function (b) { return b instanceof parser_1.BlockPair; })
1257
- .tiles.some(function (t) { return t.k == constants_1.KIND.Z && zn.includes(t.n); });
1257
+ .tiles.some(function (t) { return t.t == constants_1.TYPE.Z && zn.includes(t.n); });
1258
1258
  return cond2
1259
1259
  ? [{ name: "小四喜", double: 13 }]
1260
1260
  : [{ name: "大四喜", double: 13 }];
1261
1261
  };
1262
1262
  DoubleCalculator.prototype.dI13 = function (h) {
1263
1263
  var check = function (t) {
1264
- if (t.equals(new parser_1.Tile(constants_1.KIND.Z, 6)))
1264
+ if (t.equals(new parser_1.Tile(constants_1.TYPE.Z, 6)))
1265
1265
  return true;
1266
- if (t.k == constants_1.KIND.S && [2, 3, 4, 6, 8].includes(t.n))
1266
+ if (t.t == constants_1.TYPE.S && [2, 3, 4, 6, 8].includes(t.n))
1267
1267
  return true;
1268
1268
  return false;
1269
1269
  };
@@ -1291,9 +1291,9 @@ var DoubleCalculator = (function () {
1291
1291
  var isTsumo = lastBlock.tiles.some(function (t) { return t.has(constants_1.OPERATOR.TSUMO); });
1292
1292
  var calcTriple = function (b, base) {
1293
1293
  var tile = b.tiles[0];
1294
- if (tile.k == constants_1.KIND.Z && [5, 6, 7].includes(tile.n))
1294
+ if (tile.t == constants_1.TYPE.Z && [5, 6, 7].includes(tile.n))
1295
1295
  return base * 2;
1296
- else if (tile.k == constants_1.KIND.Z && [myWind, round].includes(tile.n))
1296
+ else if (tile.t == constants_1.TYPE.Z && [myWind, round].includes(tile.n))
1297
1297
  return base * 2;
1298
1298
  else if ([1, 9].includes(tile.n))
1299
1299
  return base * 2;
@@ -1336,7 +1336,7 @@ var DoubleCalculator = (function () {
1336
1336
  fu += calcLast(lastBlock);
1337
1337
  var pair = h.find(function (b) { return b instanceof parser_1.BlockPair; });
1338
1338
  var tile = pair.tiles[0];
1339
- if (tile.k == constants_1.KIND.Z) {
1339
+ if (tile.t == constants_1.TYPE.Z) {
1340
1340
  if ([5, 6, 7].includes(tile.n))
1341
1341
  fu += 2;
1342
1342
  if (tile.n == round)
@@ -1361,7 +1361,7 @@ var DoubleCalculator = (function () {
1361
1361
  }());
1362
1362
  exports.DoubleCalculator = DoubleCalculator;
1363
1363
  var buildKey = function (b) {
1364
- return b.tiles.reduce(function (a, b) { return "".concat(a).concat(b.n).concat(b.k); }, "");
1364
+ return b.tiles.reduce(function (a, b) { return "".concat(a).concat(b.n).concat(b.t); }, "");
1365
1365
  };
1366
1366
  var countSameBlocks = function (h) {
1367
1367
  var m = {};
@@ -1385,6 +1385,6 @@ var countSameBlocks = function (h) {
1385
1385
  };
1386
1386
  var toDora = function (doraMarker) {
1387
1387
  var n = doraMarker.isNum() && doraMarker.n == 0 ? 5 : doraMarker.n;
1388
- var k = doraMarker.k;
1388
+ var k = doraMarker.t;
1389
1389
  return new parser_1.Tile(k, (n % 9) + 1);
1390
1390
  };
@@ -7,7 +7,7 @@ export declare const TABLE_CONTEXT: {
7
7
  BASE: number;
8
8
  };
9
9
  export declare const INPUT_SEPARATOR = ",";
10
- export declare const KIND: {
10
+ export declare const TYPE: {
11
11
  readonly M: "m";
12
12
  readonly P: "p";
13
13
  readonly S: "s";
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.WIND_MAP = exports.ROUND_MAP = exports.WIND = exports.BLOCK = exports.OPERATOR = exports.KIND = exports.INPUT_SEPARATOR = exports.TABLE_CONTEXT = exports.TILE_CONTEXT = exports.FONT_FAMILY = void 0;
4
+ exports.WIND_MAP = exports.ROUND_MAP = exports.WIND = exports.BLOCK = exports.OPERATOR = exports.TYPE = exports.INPUT_SEPARATOR = exports.TABLE_CONTEXT = exports.TILE_CONTEXT = exports.FONT_FAMILY = void 0;
5
5
  exports.FONT_FAMILY = "MS Gothic, sans-serif";
6
6
  exports.TILE_CONTEXT = { WIDTH: 66, HEIGHT: 90 };
7
7
  exports.TABLE_CONTEXT = { BASE: 40 };
8
8
  exports.INPUT_SEPARATOR = ",";
9
- exports.KIND = {
9
+ exports.TYPE = {
10
10
  M: "m",
11
11
  P: "p",
12
12
  S: "s",