mahjong_engine 1.0.13 → 1.0.15

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.
@@ -12,7 +12,7 @@ export declare class BlockHaisList {
12
12
  blockToString(): string;
13
13
  sort(): void;
14
14
  private calcShuntsuMachiType;
15
- calcMachiType(haiId: number): Set<MachiType>;
15
+ calcMachiType(haiId: number): Map<MachiType, BlockHais>;
16
16
  getBlockHais(): BlockHais[];
17
17
  clone(): BlockHaisList;
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BlockHaisList.d.ts","sourceRoot":"","sources":["../../modules/BlockHaisList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE1D,qBAAa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;gBAE9B,MAAM,GAAE,SAAS,EAAO;IAIpC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAEjB,IAAI,CAAC,CAAC,EAAE,SAAS;IAGjB,GAAG;IAGH,MAAM;IAIN,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;IAI9B,cAAc,CAAC,MAAM,EAAE,MAAM;IAI7B,aAAa,IAAI,MAAM;IAIvB,IAAI;IAoBJ,OAAO,CAAC,oBAAoB;IAW5B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC;IAuB5C,YAAY,IAAI,SAAS,EAAE;IAI3B,KAAK,IAAI,aAAa;CAGzB"}
1
+ {"version":3,"file":"BlockHaisList.d.ts","sourceRoot":"","sources":["../../modules/BlockHaisList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE1D,qBAAa,aAAa;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;gBAE9B,MAAM,GAAE,SAAS,EAAO;IAIpC,CAAC,MAAM,CAAC,QAAQ,CAAC;IAEjB,IAAI,CAAC,CAAC,EAAE,SAAS;IAGjB,GAAG;IAGH,MAAM;IAIN,KAAK,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;IAI9B,cAAc,CAAC,MAAM,EAAE,MAAM;IAI7B,aAAa,IAAI,MAAM;IAIvB,IAAI;IAoBJ,OAAO,CAAC,oBAAoB;IAW5B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC;IAuBvD,YAAY,IAAI,SAAS,EAAE;IAI3B,KAAK,IAAI,aAAa;CAGzB"}
@@ -53,19 +53,19 @@ export class BlockHaisList {
53
53
  return MachiType.RYANMEN;
54
54
  }
55
55
  calcMachiType(haiId) {
56
- const machiTypeSet = new Set();
56
+ const machiTypeSet = new Map();
57
57
  for (const block of this.blocks) {
58
58
  if (!block.containsHai(haiId))
59
59
  continue;
60
60
  switch (block.getType()) {
61
61
  case BlockType.JANTO:
62
- machiTypeSet.add(MachiType.TANKI);
62
+ machiTypeSet.set(MachiType.TANKI, block);
63
63
  break;
64
64
  case BlockType.KOTSU:
65
- machiTypeSet.add(MachiType.SHANPON);
65
+ machiTypeSet.set(MachiType.SHANPON, block);
66
66
  break;
67
67
  case BlockType.SHUNTSU:
68
- machiTypeSet.add(this.calcShuntsuMachiType(block, haiId));
68
+ machiTypeSet.set(this.calcShuntsuMachiType(block, haiId), block);
69
69
  break;
70
70
  }
71
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BlockHaisList.js","sourceRoot":"","sources":["../../modules/BlockHaisList.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,OAAO,aAAa;IACL,MAAM,GAAgB,EAAE,CAAC;IAE1C,YAAY,SAAsB,EAAE;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9D,IAAI,CAAC,CAAY;QACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,GAAG;QACC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IAC7B,CAAC;IACD,MAAM;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,IAAe;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC;IAC/D,CAAC;IAED,cAAc,CAAC,MAAc;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,MAAM,CAAC;IACzH,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI;QACA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACtB,iBAAiB;YACjB,IAAG,CAAC,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC,KAAK;gBAAE,OAAO,CAAC,CAAC,CAAC;YACjF,IAAG,CAAC,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,SAAS,CAAC,KAAK;gBAAE,OAAO,CAAC,CAAC;YAEhF,iBAAiB;YACjB,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACnE,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEnE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,IAAI,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;YAChC,CAAC;YAED,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,oBAAoB,CAAC,KAAgB,EAAE,KAAa;QACxD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QAClC,MAAM,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC;QAE/B,MAAM,SAAS,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QAC3G,IAAG,SAAS;YAAE,OAAO,SAAS,CAAC,OAAO,CAAC;QACvC,IAAG,QAAQ,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC,OAAO,CAAC;QAE5C,OAAO,SAAS,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,aAAa,CAAC,KAAa;QACvB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAa,CAAC;QAC1C,KAAI,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAC,CAAC;YAC5B,IAAG,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;gBAAE,SAAS;YAEvC,QAAO,KAAK,CAAC,OAAO,EAAE,EAAC,CAAC;gBAEpB,KAAK,SAAS,CAAC,KAAK;oBAChB,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAClC,MAAM;gBAEV,KAAK,SAAS,CAAC,KAAK;oBAChB,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;oBACpC,MAAM;gBAEV,KAAK,SAAS,CAAC,OAAO;oBAClB,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;oBAC1D,MAAM;YACd,CAAC;QACL,CAAC;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,YAAY;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,KAAK;QACD,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;CACJ"}
1
+ {"version":3,"file":"BlockHaisList.js","sourceRoot":"","sources":["../../modules/BlockHaisList.ts"],"names":[],"mappings":"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"}
@@ -47,11 +47,11 @@ export class FuCalculator {
47
47
  const machiFu = [];
48
48
  const machiType = this.calcMachiType();
49
49
  if (machiType.has(MachiType.TANKI))
50
- machiFu.push(new FuDetail("単騎待ち", 2));
50
+ machiFu.push(new FuDetail("単騎待ち", 2, machiType.get(MachiType.TANKI)));
51
51
  else if (machiType.has(MachiType.KANCHAN))
52
- machiFu.push(new FuDetail("嵌張待ち", 2));
52
+ machiFu.push(new FuDetail("嵌張待ち", 2, machiType.get(MachiType.KANCHAN)));
53
53
  else if (machiType.has(MachiType.PENCHAN))
54
- machiFu.push(new FuDetail("辺張待ち", 2));
54
+ machiFu.push(new FuDetail("辺張待ち", 2, machiType.get(MachiType.PENCHAN)));
55
55
  return machiFu;
56
56
  }
57
57
  calcJantoFu(analyzer) {
@@ -1 +1 @@
1
- {"version":3,"file":"FuCalculator.js","sourceRoot":"","sources":["../../../modules/tensuu/FuCalculator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FuCalculator.js","sourceRoot":"","sources":["../../../modules/tensuu/FuCalculator.ts"],"names":[],"mappings":"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"}
@@ -1,79 +1,97 @@
1
1
  import { Hais } from "../modules/Hais";
2
2
  import { BlockDivider } from '../modules/BlockDivider';
3
- import { MachiType } from "../modules/MahjongConsts";
3
+ import { BlockType, MachiType } from "../modules/MahjongConsts";
4
+ import { BlockHais } from "../modules";
4
5
  function getBlockHaisList(haisNum) {
5
6
  return new BlockDivider(new Hais(haisNum).getHais()).divide();
6
7
  }
7
- function getMachiTypeSet(haisNum, haiId) {
8
+ function getMachiType(haisNum, haiId) {
8
9
  const results = getBlockHaisList(haisNum);
9
- let resultMachiType = new Set();
10
+ let resultMachiType = new Map();
10
11
  if (results.length === 1)
11
12
  resultMachiType = results[0].calcMachiType(haiId);
12
13
  return resultMachiType;
13
14
  }
14
15
  test("tanki_1", () => {
15
- const resultMachiType = getMachiTypeSet([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 12, 12], 12);
16
- const expected = new Set([MachiType.TANKI]);
16
+ const resultMachiType = getMachiType([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 12, 12], 12);
17
+ const block = BlockHais.from(12, BlockType.JANTO);
18
+ const expected = new Map([[MachiType.TANKI, block]]);
17
19
  expect(resultMachiType).toEqual(expected);
18
20
  });
19
21
  test("shanpon_1", () => {
20
- const resultMachiType = getMachiTypeSet([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 12, 12], 10);
21
- const expected = new Set([MachiType.SHANPON]);
22
+ const resultMachiType = getMachiType([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 12, 12], 10);
23
+ const block = BlockHais.from(10, BlockType.KOTSU);
24
+ const expected = new Map([[MachiType.SHANPON, block]]);
22
25
  expect(resultMachiType).toEqual(expected);
23
26
  });
24
27
  test("ryanmen_1", () => {
25
- const resultMachiType = getMachiTypeSet([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 12, 12], 1);
26
- const expected = new Set([MachiType.RYANMEN]);
28
+ const resultMachiType = getMachiType([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 12, 12], 1);
29
+ const block = BlockHais.from(1, BlockType.SHUNTSU);
30
+ const expected = new Map([[MachiType.RYANMEN, block]]);
27
31
  expect(resultMachiType).toEqual(expected);
28
32
  });
29
33
  test("ryanmen_2", () => {
30
- const resultMachiType = getMachiTypeSet([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 12, 12], 4);
31
- const expected = new Set([MachiType.RYANMEN]);
34
+ const resultMachiType = getMachiType([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 12, 12], 4);
35
+ const block = BlockHais.from(4, BlockType.SHUNTSU);
36
+ const expected = new Map([[MachiType.RYANMEN, block]]);
32
37
  expect(resultMachiType).toEqual(expected);
33
38
  });
34
39
  test("ryanmen_3", () => {
35
- const resultMachiType = getMachiTypeSet([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 12, 12], 6);
36
- const expected = new Set([MachiType.RYANMEN]);
40
+ const resultMachiType = getMachiType([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 12, 12], 6);
41
+ const block = BlockHais.from(4, BlockType.SHUNTSU);
42
+ const expected = new Map([[MachiType.RYANMEN, block]]);
37
43
  expect(resultMachiType).toEqual(expected);
38
44
  });
39
45
  test("penchan_1", () => {
40
- const resultMachiType = getMachiTypeSet([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 12, 12], 3);
41
- const expected = new Set([MachiType.PENCHAN]);
46
+ const resultMachiType = getMachiType([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 12, 12], 3);
47
+ const block = BlockHais.from(1, BlockType.SHUNTSU);
48
+ const expected = new Map([[MachiType.PENCHAN, block]]);
42
49
  expect(resultMachiType).toEqual(expected);
43
50
  });
44
51
  test("penchan_2", () => {
45
- const resultMachiType = getMachiTypeSet([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 12, 12], 7);
46
- const expected = new Set([MachiType.PENCHAN]);
52
+ const resultMachiType = getMachiType([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 12, 12], 7);
53
+ const block = BlockHais.from(7, BlockType.SHUNTSU);
54
+ const expected = new Map([[MachiType.PENCHAN, block]]);
47
55
  expect(resultMachiType).toEqual(expected);
48
56
  });
49
57
  test("kanchan_1", () => {
50
- const resultMachiType = getMachiTypeSet([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 12, 12], 5);
51
- const expected = new Set([MachiType.KANCHAN]);
58
+ const resultMachiType = getMachiType([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 12, 12], 5);
59
+ const block = BlockHais.from(4, BlockType.SHUNTSU);
60
+ const expected = new Map([[MachiType.KANCHAN, block]]);
52
61
  expect(resultMachiType).toEqual(expected);
53
62
  });
54
63
  test("complex_1", () => {
55
- const resultMachiType = getMachiTypeSet([1, 2, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10], 2);
56
- const expected = new Set([MachiType.KANCHAN, MachiType.TANKI]);
64
+ const resultMachiType = getMachiType([1, 2, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10], 2);
65
+ const block1 = BlockHais.from(1, BlockType.SHUNTSU);
66
+ const block2 = BlockHais.from(2, BlockType.JANTO);
67
+ const expected = new Map([[MachiType.KANCHAN, block1], [MachiType.TANKI, block2]]);
57
68
  expect(resultMachiType).toEqual(expected);
58
69
  });
59
70
  test("complex_2", () => {
60
- const resultMachiType = getMachiTypeSet([1, 2, 2, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10], 2);
61
- const expected = new Set([MachiType.SHANPON, MachiType.KANCHAN]);
71
+ const resultMachiType = getMachiType([1, 2, 2, 2, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10], 2);
72
+ const block1 = BlockHais.from(2, BlockType.KOTSU);
73
+ const block2 = BlockHais.from(1, BlockType.SHUNTSU);
74
+ const expected = new Map([[MachiType.SHANPON, block1], [MachiType.KANCHAN, block2]]);
62
75
  expect(resultMachiType).toEqual(expected);
63
76
  });
64
77
  test("complex_3", () => {
65
- const resultMachiType = getMachiTypeSet([1, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 11, 11], 1);
66
- const expected = new Set([MachiType.RYANMEN, MachiType.TANKI]);
78
+ const resultMachiType = getMachiType([1, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 11, 11], 1);
79
+ const block1 = BlockHais.from(1, BlockType.SHUNTSU);
80
+ const block2 = BlockHais.from(1, BlockType.JANTO);
81
+ const expected = new Map([[MachiType.RYANMEN, block1], [MachiType.TANKI, block2]]);
67
82
  expect(resultMachiType).toEqual(expected);
68
83
  });
69
84
  test("multi_1", () => {
70
- const resultMachiType = getMachiTypeSet([1, 1, 2, 2, 3, 3, 5, 5, 5, 6, 6, 6, 7, 7], 2);
71
- const expected = new Set([MachiType.KANCHAN]);
85
+ const resultMachiType = getMachiType([1, 1, 2, 2, 3, 3, 5, 5, 5, 6, 6, 6, 7, 7], 2);
86
+ const block = BlockHais.from(1, BlockType.SHUNTSU);
87
+ const expected = new Map([[MachiType.KANCHAN, block]]);
72
88
  expect(resultMachiType).toEqual(expected);
73
89
  });
74
90
  test("multi_2", () => {
75
- const resultMachiType = getMachiTypeSet([1, 1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 11, 11, 11], 4);
76
- const expected = new Set([MachiType.RYANMEN]);
91
+ const resultMachiType = getMachiType([1, 1, 2, 3, 4, 4, 5, 6, 7, 8, 9, 11, 11, 11], 4);
92
+ const block1 = BlockHais.from(2, BlockType.SHUNTSU);
93
+ const block2 = BlockHais.from(4, BlockType.SHUNTSU);
94
+ const expected = new Map([[MachiType.RYANMEN, block1], [MachiType.RYANMEN, block2]]);
77
95
  expect(resultMachiType).toEqual(expected);
78
96
  });
79
97
  //# sourceMappingURL=machiType.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"machiType.test.js","sourceRoot":"","sources":["../../tests/machiType.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"machiType.test.js","sourceRoot":"","sources":["../../tests/machiType.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"fu.d.ts","sourceRoot":"","sources":["../../../tests/tensuu/fu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,SAAS,EAAE,MAAM,eAAe,CAAC;AAM5D,eAAO,MAAM,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAyQzC,CAAC"}
1
+ {"version":3,"file":"fu.d.ts","sourceRoot":"","sources":["../../../tests/tensuu/fu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,SAAS,EAAE,MAAM,eAAe,CAAC;AAM5D,eAAO,MAAM,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EA+QzC,CAAC"}
@@ -44,7 +44,9 @@ export const caseFu = [
44
44
  melds: [],
45
45
  hais: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13],
46
46
  expected: [
47
- [{ name: "符底", fu: 20 }, { name: "ツモ", fu: 2 }, { name: "単騎待ち", fu: 2 }]
47
+ [{ name: "符底", fu: 20 },
48
+ { name: "ツモ", fu: 2 },
49
+ { name: "単騎待ち", fu: 2, mentsu: BlockHais.from(13, BlockType.JANTO) }]
48
50
  ]
49
51
  },
50
52
  {
@@ -55,7 +57,9 @@ export const caseFu = [
55
57
  melds: [],
56
58
  hais: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13],
57
59
  expected: [
58
- [{ name: "符底", fu: 20 }, { name: "ツモ", fu: 2 }, { name: "辺張待ち", fu: 2 }]
60
+ [{ name: "符底", fu: 20 },
61
+ { name: "ツモ", fu: 2 },
62
+ { name: "辺張待ち", fu: 2, mentsu: BlockHais.from(1, BlockType.SHUNTSU) }]
59
63
  ]
60
64
  },
61
65
  {
@@ -66,7 +70,9 @@ export const caseFu = [
66
70
  melds: [],
67
71
  hais: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 13],
68
72
  expected: [
69
- [{ name: "符底", fu: 20 }, { name: "ツモ", fu: 2 }, { name: "嵌張待ち", fu: 2 }]
73
+ [{ name: "符底", fu: 20 },
74
+ { name: "ツモ", fu: 2 },
75
+ { name: "嵌張待ち", fu: 2, mentsu: BlockHais.from(1, BlockType.SHUNTSU) }]
70
76
  ]
71
77
  },
72
78
  {
@@ -1 +1 @@
1
- {"version":3,"file":"fu.js","sourceRoot":"","sources":["../../../tests/tensuu/fu.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fu.js","sourceRoot":"","sources":["../../../tests/tensuu/fu.ts"],"names":[],"mappings":"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"}
@@ -63,23 +63,23 @@ export class BlockHaisList {
63
63
  return MachiType.RYANMEN;
64
64
  }
65
65
 
66
- calcMachiType(haiId: number): Set<MachiType> {
67
- const machiTypeSet = new Set<MachiType>();
66
+ calcMachiType(haiId: number): Map<MachiType, BlockHais> {
67
+ const machiTypeSet = new Map<MachiType, BlockHais>();
68
68
  for(const block of this.blocks){
69
69
  if(!block.containsHai(haiId)) continue;
70
70
 
71
71
  switch(block.getType()){
72
72
 
73
73
  case BlockType.JANTO:
74
- machiTypeSet.add(MachiType.TANKI);
74
+ machiTypeSet.set(MachiType.TANKI, block);
75
75
  break;
76
76
 
77
77
  case BlockType.KOTSU:
78
- machiTypeSet.add(MachiType.SHANPON);
78
+ machiTypeSet.set(MachiType.SHANPON, block);
79
79
  break;
80
80
 
81
81
  case BlockType.SHUNTSU:
82
- machiTypeSet.add(this.calcShuntsuMachiType(block, haiId));
82
+ machiTypeSet.set(this.calcShuntsuMachiType(block, haiId), block);
83
83
  break;
84
84
  }
85
85
  }
@@ -57,9 +57,9 @@ export class FuCalculator{
57
57
  private calcMachuFu(): FuDetail[]{
58
58
  const machiFu: FuDetail[] = [];
59
59
  const machiType = this.calcMachiType();
60
- if(machiType.has(MachiType.TANKI)) machiFu.push(new FuDetail("単騎待ち", 2));
61
- else if(machiType.has(MachiType.KANCHAN)) machiFu.push(new FuDetail("嵌張待ち", 2));
62
- else if(machiType.has(MachiType.PENCHAN)) machiFu.push(new FuDetail("辺張待ち", 2));
60
+ if(machiType.has(MachiType.TANKI)) machiFu.push(new FuDetail("単騎待ち", 2, machiType.get(MachiType.TANKI)));
61
+ else if(machiType.has(MachiType.KANCHAN)) machiFu.push(new FuDetail("嵌張待ち", 2, machiType.get(MachiType.KANCHAN)));
62
+ else if(machiType.has(MachiType.PENCHAN)) machiFu.push(new FuDetail("辺張待ち", 2, machiType.get(MachiType.PENCHAN)));
63
63
 
64
64
  return machiFu;
65
65
  }
@@ -111,7 +111,7 @@ export class FuCalculator{
111
111
  ];
112
112
  }
113
113
 
114
- private calcMachiType(): Set<MachiType>{
114
+ private calcMachiType(): Map<MachiType, BlockHais>{
115
115
  const agariHaiId = this.context.ctx.agariHai.getId();
116
116
  return this.context.block.calcMachiType(agariHaiId);
117
117
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mahjong_engine",
3
- "version": "1.0.13",
3
+ "version": "1.0.15",
4
4
  "description": "mahjong",
5
5
  "homepage": "https://github.com/daicharn/IsTheOrderaMahjong#readme",
6
6
  "bugs": {
@@ -15,7 +15,7 @@
15
15
  "main": "dist/modules/index.js",
16
16
  "types": "dist/modules/index.d.ts",
17
17
  "scripts": {
18
- "publish-public": "npx tsc && npm publish --access public",
18
+ "publish": "npx tsc && npm publish --access public",
19
19
  "test": "jest",
20
20
  "coverage": "jest --coverage",
21
21
  "build": "npx tsc -p tsconfig.build.json",
@@ -1,93 +1,111 @@
1
1
  import { Hais } from "../modules/Hais";
2
2
  import { BlockHaisList } from "../modules/BlockHaisList";
3
3
  import { BlockDivider } from '../modules/BlockDivider';
4
- import { MachiType } from "../modules/MahjongConsts";
4
+ import { BlockType, MachiType } from "../modules/MahjongConsts";
5
+ import { BlockHais } from "../modules";
5
6
 
6
7
  function getBlockHaisList(haisNum: number[]): BlockHaisList[]{
7
8
  return new BlockDivider(new Hais(haisNum).getHais()).divide();
8
9
  }
9
- function getMachiTypeSet(haisNum: number[], haiId: number){
10
+ function getMachiType(haisNum: number[], haiId: number){
10
11
  const results = getBlockHaisList(haisNum);
11
- let resultMachiType: Set<MachiType> = new Set();
12
+ let resultMachiType: Map<MachiType, BlockHais> = new Map<MachiType, BlockHais>();
12
13
  if(results.length === 1) resultMachiType = results[0].calcMachiType(haiId);
13
14
  return resultMachiType;
14
15
  }
15
16
 
16
17
  test("tanki_1", () => {
17
- const resultMachiType = getMachiTypeSet([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 12);
18
+ const resultMachiType = getMachiType([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 12);
18
19
 
19
- const expected = new Set([MachiType.TANKI]);
20
+ const block = BlockHais.from(12, BlockType.JANTO);
21
+ const expected = new Map<MachiType, BlockHais>([[MachiType.TANKI, block]]);
20
22
  expect(resultMachiType).toEqual(expected);
21
23
  });
22
24
  test("shanpon_1", () => {
23
- const resultMachiType = getMachiTypeSet([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 10);
25
+ const resultMachiType = getMachiType([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 10);
24
26
 
25
- const expected = new Set([MachiType.SHANPON]);
27
+ const block = BlockHais.from(10, BlockType.KOTSU);
28
+ const expected = new Map<MachiType, BlockHais>([[MachiType.SHANPON, block]]);
26
29
  expect(resultMachiType).toEqual(expected);
27
30
  });
28
31
  test("ryanmen_1", () => {
29
- const resultMachiType = getMachiTypeSet([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 1);
32
+ const resultMachiType = getMachiType([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 1);
30
33
 
31
- const expected = new Set([MachiType.RYANMEN]);
34
+ const block = BlockHais.from(1, BlockType.SHUNTSU);
35
+ const expected = new Map<MachiType, BlockHais>([[MachiType.RYANMEN, block]]);
32
36
  expect(resultMachiType).toEqual(expected);
33
37
  });
34
38
  test("ryanmen_2", () => {
35
- const resultMachiType = getMachiTypeSet([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 4);
39
+ const resultMachiType = getMachiType([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 4);
36
40
 
37
- const expected = new Set([MachiType.RYANMEN]);
41
+ const block = BlockHais.from(4, BlockType.SHUNTSU);
42
+ const expected = new Map<MachiType, BlockHais>([[MachiType.RYANMEN, block]]);
38
43
  expect(resultMachiType).toEqual(expected);
39
44
  });
40
45
  test("ryanmen_3", () => {
41
- const resultMachiType = getMachiTypeSet([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 6);
46
+ const resultMachiType = getMachiType([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 6);
42
47
 
43
- const expected = new Set([MachiType.RYANMEN]);
48
+ const block = BlockHais.from(4, BlockType.SHUNTSU);
49
+ const expected = new Map<MachiType, BlockHais>([[MachiType.RYANMEN, block]]);
44
50
  expect(resultMachiType).toEqual(expected);
45
51
  });
46
52
  test("penchan_1", () => {
47
- const resultMachiType = getMachiTypeSet([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 3);
53
+ const resultMachiType = getMachiType([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 3);
48
54
 
49
- const expected = new Set([MachiType.PENCHAN]);
55
+ const block = BlockHais.from(1, BlockType.SHUNTSU);
56
+ const expected = new Map<MachiType, BlockHais>([[MachiType.PENCHAN, block]]);
50
57
  expect(resultMachiType).toEqual(expected);
51
58
  });
52
59
  test("penchan_2", () => {
53
- const resultMachiType = getMachiTypeSet([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 7);
60
+ const resultMachiType = getMachiType([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 7);
54
61
 
55
- const expected = new Set([MachiType.PENCHAN]);
62
+ const block = BlockHais.from(7, BlockType.SHUNTSU);
63
+ const expected = new Map<MachiType, BlockHais>([[MachiType.PENCHAN, block]]);
56
64
  expect(resultMachiType).toEqual(expected);
57
65
  });
58
66
  test("kanchan_1", () => {
59
- const resultMachiType = getMachiTypeSet([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 5);
67
+ const resultMachiType = getMachiType([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 5);
60
68
 
61
- const expected = new Set([MachiType.KANCHAN]);
69
+ const block = BlockHais.from(4, BlockType.SHUNTSU);
70
+ const expected = new Map<MachiType, BlockHais>([[MachiType.KANCHAN, block]]);
62
71
  expect(resultMachiType).toEqual(expected);
63
72
  });
64
73
  test("complex_1", () => {
65
- const resultMachiType = getMachiTypeSet([1,2,2,2,3,4,5,6,7,8,9,10,10,10], 2);
74
+ const resultMachiType = getMachiType([1,2,2,2,3,4,5,6,7,8,9,10,10,10], 2);
66
75
 
67
- const expected = new Set([MachiType.KANCHAN, MachiType.TANKI]);
76
+ const block1 = BlockHais.from(1, BlockType.SHUNTSU);
77
+ const block2 = BlockHais.from(2, BlockType.JANTO);
78
+ const expected = new Map<MachiType, BlockHais>([[MachiType.KANCHAN, block1], [MachiType.TANKI, block2]]);
68
79
  expect(resultMachiType).toEqual(expected);
69
80
  });
70
81
  test("complex_2", () => {
71
- const resultMachiType = getMachiTypeSet([1,2,2,2,2,3,4,5,6,7,8,9,10,10], 2);
82
+ const resultMachiType = getMachiType([1,2,2,2,2,3,4,5,6,7,8,9,10,10], 2);
72
83
 
73
- const expected = new Set([MachiType.SHANPON, MachiType.KANCHAN]);
84
+ const block1 = BlockHais.from(2, BlockType.KOTSU);
85
+ const block2 = BlockHais.from(1, BlockType.SHUNTSU);
86
+ const expected = new Map<MachiType, BlockHais>([[MachiType.SHANPON, block1], [MachiType.KANCHAN, block2]]);
74
87
  expect(resultMachiType).toEqual(expected);
75
88
  });
76
89
  test("complex_3", () => {
77
- const resultMachiType = getMachiTypeSet([1,1,1,2,3,4,5,6,7,8,9,11,11,11], 1);
90
+ const resultMachiType = getMachiType([1,1,1,2,3,4,5,6,7,8,9,11,11,11], 1);
78
91
 
79
- const expected = new Set([MachiType.RYANMEN, MachiType.TANKI]);
92
+ const block1 = BlockHais.from(1, BlockType.SHUNTSU);
93
+ const block2 = BlockHais.from(1, BlockType.JANTO);
94
+ const expected = new Map<MachiType, BlockHais>([[MachiType.RYANMEN, block1], [MachiType.TANKI, block2]]);
80
95
  expect(resultMachiType).toEqual(expected);
81
96
  });
82
97
  test("multi_1", () => {
83
- const resultMachiType = getMachiTypeSet([1,1,2,2,3,3,5,5,5,6,6,6,7,7], 2);
98
+ const resultMachiType = getMachiType([1,1,2,2,3,3,5,5,5,6,6,6,7,7], 2);
84
99
 
85
- const expected = new Set([MachiType.KANCHAN]);
100
+ const block = BlockHais.from(1, BlockType.SHUNTSU);
101
+ const expected = new Map<MachiType, BlockHais>([[MachiType.KANCHAN, block]]);
86
102
  expect(resultMachiType).toEqual(expected);
87
103
  });
88
104
  test("multi_2", () => {
89
- const resultMachiType = getMachiTypeSet([1,1,2,3,4,4,5,6,7,8,9,11,11,11], 4);
105
+ const resultMachiType = getMachiType([1,1,2,3,4,4,5,6,7,8,9,11,11,11], 4);
90
106
 
91
- const expected = new Set([MachiType.RYANMEN]);
107
+ const block1 = BlockHais.from(2, BlockType.SHUNTSU);
108
+ const block2 = BlockHais.from(4, BlockType.SHUNTSU);
109
+ const expected = new Map<MachiType, BlockHais>([[MachiType.RYANMEN, block1], [MachiType.RYANMEN, block2]]);
92
110
  expect(resultMachiType).toEqual(expected);
93
111
  });
@@ -46,7 +46,9 @@ export const caseFu: TehaiCase<FuSpec[][]>[] = [
46
46
  melds: [] as MeldSpec[],
47
47
  hais: [1,2,3,4,5,6,7,8,9,10,11,12,13,13],
48
48
  expected: [
49
- [{name: "符底", fu: 20}, {name: "ツモ", fu: 2}, {name: "単騎待ち", fu: 2}]
49
+ [{name: "符底", fu: 20},
50
+ {name: "ツモ", fu: 2},
51
+ {name: "単騎待ち", fu: 2, mentsu: BlockHais.from(13, BlockType.JANTO)}]
50
52
  ] as FuSpec[][]
51
53
  },
52
54
  {
@@ -57,7 +59,9 @@ export const caseFu: TehaiCase<FuSpec[][]>[] = [
57
59
  melds: [] as MeldSpec[],
58
60
  hais: [1,2,3,4,5,6,7,8,9,10,11,12,13,13],
59
61
  expected: [
60
- [{name: "符底", fu: 20}, {name: "ツモ", fu: 2}, {name: "辺張待ち", fu: 2}]
62
+ [{name: "符底", fu: 20},
63
+ {name: "ツモ", fu: 2},
64
+ {name: "辺張待ち", fu: 2, mentsu: BlockHais.from(1, BlockType.SHUNTSU)}]
61
65
  ] as FuSpec[][]
62
66
  },
63
67
  {
@@ -68,7 +72,9 @@ export const caseFu: TehaiCase<FuSpec[][]>[] = [
68
72
  melds: [] as MeldSpec[],
69
73
  hais: [1,2,3,4,5,6,7,8,9,10,11,12,13,13],
70
74
  expected: [
71
- [{name: "符底", fu: 20}, {name: "ツモ", fu: 2}, {name: "嵌張待ち", fu: 2}]
75
+ [{name: "符底", fu: 20},
76
+ {name: "ツモ", fu: 2},
77
+ {name: "嵌張待ち", fu: 2, mentsu: BlockHais.from(1, BlockType.SHUNTSU)}]
72
78
  ] as FuSpec[][]
73
79
  },
74
80
  {