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.
- package/dist/modules/BlockHaisList.d.ts +1 -1
- package/dist/modules/BlockHaisList.d.ts.map +1 -1
- package/dist/modules/BlockHaisList.js +4 -4
- package/dist/modules/BlockHaisList.js.map +1 -1
- package/dist/modules/tensuu/FuCalculator.js +3 -3
- package/dist/modules/tensuu/FuCalculator.js.map +1 -1
- package/dist/tests/machiType.test.js +47 -29
- package/dist/tests/machiType.test.js.map +1 -1
- package/dist/tests/tensuu/fu.d.ts.map +1 -1
- package/dist/tests/tensuu/fu.js +9 -3
- package/dist/tests/tensuu/fu.js.map +1 -1
- package/modules/BlockHaisList.ts +5 -5
- package/modules/tensuu/FuCalculator.ts +4 -4
- package/package.json +2 -2
- package/tests/machiType.test.ts +47 -29
- package/tests/tensuu/fu.ts +9 -3
|
@@ -12,7 +12,7 @@ export declare class BlockHaisList {
|
|
|
12
12
|
blockToString(): string;
|
|
13
13
|
sort(): void;
|
|
14
14
|
private calcShuntsuMachiType;
|
|
15
|
-
calcMachiType(haiId: number):
|
|
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;
|
|
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
|
|
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.
|
|
62
|
+
machiTypeSet.set(MachiType.TANKI, block);
|
|
63
63
|
break;
|
|
64
64
|
case BlockType.KOTSU:
|
|
65
|
-
machiTypeSet.
|
|
65
|
+
machiTypeSet.set(MachiType.SHANPON, block);
|
|
66
66
|
break;
|
|
67
67
|
case BlockType.SHUNTSU:
|
|
68
|
-
machiTypeSet.
|
|
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":"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
|
|
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":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAOzC,MAAM,eAAe,GAAiC;IAC9C,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;QACf,MAAM,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAC;QAC9B,OAAO,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAC;KAClC;IACD,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACZ,MAAM,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAC;QAC9B,OAAO,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAC;KAClC;IACD,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QACf,MAAM,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAC;QAC/B,OAAO,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAC;KAClC;IACD,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;QACd,MAAM,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAC;QAC/B,OAAO,EAAE,EAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAC;KACnC;CACK,CAAC;AAEf,MAAM,OAAO,YAAY;IACJ,OAAO,CAAc;IACrB,IAAI,CAAsB;IAE3C,YAAY,OAAoB,EAAE,IAAyB;QACvD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAEO,aAAa;QACjB,IAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO;YAAE,OAAO,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpF,IAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAExD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,UAAU;QACd,MAAM,MAAM,GAAe,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAEzC,IAAG,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAG,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;QAEnF,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,WAAW;QACf,MAAM,OAAO,GAAe,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,IAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;
|
|
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
|
|
8
|
+
function getMachiType(haisNum, haiId) {
|
|
8
9
|
const results = getBlockHaisList(haisNum);
|
|
9
|
-
let resultMachiType = new
|
|
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 =
|
|
16
|
-
const
|
|
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 =
|
|
21
|
-
const
|
|
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 =
|
|
26
|
-
const
|
|
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 =
|
|
31
|
-
const
|
|
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 =
|
|
36
|
-
const
|
|
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 =
|
|
41
|
-
const
|
|
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 =
|
|
46
|
-
const
|
|
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 =
|
|
51
|
-
const
|
|
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 =
|
|
56
|
-
const
|
|
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 =
|
|
61
|
-
const
|
|
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 =
|
|
66
|
-
const
|
|
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 =
|
|
71
|
-
const
|
|
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 =
|
|
76
|
-
const
|
|
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":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;
|
|
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,
|
|
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"}
|
package/dist/tests/tensuu/fu.js
CHANGED
|
@@ -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 },
|
|
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 },
|
|
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 },
|
|
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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"}
|
package/modules/BlockHaisList.ts
CHANGED
|
@@ -63,23 +63,23 @@ export class BlockHaisList {
|
|
|
63
63
|
return MachiType.RYANMEN;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
calcMachiType(haiId: number):
|
|
67
|
-
const machiTypeSet = new
|
|
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.
|
|
74
|
+
machiTypeSet.set(MachiType.TANKI, block);
|
|
75
75
|
break;
|
|
76
76
|
|
|
77
77
|
case BlockType.KOTSU:
|
|
78
|
-
machiTypeSet.
|
|
78
|
+
machiTypeSet.set(MachiType.SHANPON, block);
|
|
79
79
|
break;
|
|
80
80
|
|
|
81
81
|
case BlockType.SHUNTSU:
|
|
82
|
-
machiTypeSet.
|
|
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():
|
|
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.
|
|
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
|
|
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",
|
package/tests/machiType.test.ts
CHANGED
|
@@ -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
|
|
10
|
+
function getMachiType(haisNum: number[], haiId: number){
|
|
10
11
|
const results = getBlockHaisList(haisNum);
|
|
11
|
-
let resultMachiType:
|
|
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 =
|
|
18
|
+
const resultMachiType = getMachiType([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 12);
|
|
18
19
|
|
|
19
|
-
const
|
|
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 =
|
|
25
|
+
const resultMachiType = getMachiType([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 10);
|
|
24
26
|
|
|
25
|
-
const
|
|
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 =
|
|
32
|
+
const resultMachiType = getMachiType([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 1);
|
|
30
33
|
|
|
31
|
-
const
|
|
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 =
|
|
39
|
+
const resultMachiType = getMachiType([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 4);
|
|
36
40
|
|
|
37
|
-
const
|
|
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 =
|
|
46
|
+
const resultMachiType = getMachiType([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 6);
|
|
42
47
|
|
|
43
|
-
const
|
|
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 =
|
|
53
|
+
const resultMachiType = getMachiType([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 3);
|
|
48
54
|
|
|
49
|
-
const
|
|
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 =
|
|
60
|
+
const resultMachiType = getMachiType([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 7);
|
|
54
61
|
|
|
55
|
-
const
|
|
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 =
|
|
67
|
+
const resultMachiType = getMachiType([1,2,3,4,5,6,7,8,9,10,10,10,12,12], 5);
|
|
60
68
|
|
|
61
|
-
const
|
|
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 =
|
|
74
|
+
const resultMachiType = getMachiType([1,2,2,2,3,4,5,6,7,8,9,10,10,10], 2);
|
|
66
75
|
|
|
67
|
-
const
|
|
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 =
|
|
82
|
+
const resultMachiType = getMachiType([1,2,2,2,2,3,4,5,6,7,8,9,10,10], 2);
|
|
72
83
|
|
|
73
|
-
const
|
|
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 =
|
|
90
|
+
const resultMachiType = getMachiType([1,1,1,2,3,4,5,6,7,8,9,11,11,11], 1);
|
|
78
91
|
|
|
79
|
-
const
|
|
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 =
|
|
98
|
+
const resultMachiType = getMachiType([1,1,2,2,3,3,5,5,5,6,6,6,7,7], 2);
|
|
84
99
|
|
|
85
|
-
const
|
|
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 =
|
|
105
|
+
const resultMachiType = getMachiType([1,1,2,3,4,4,5,6,7,8,9,11,11,11], 4);
|
|
90
106
|
|
|
91
|
-
const
|
|
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
|
});
|
package/tests/tensuu/fu.ts
CHANGED
|
@@ -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},
|
|
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},
|
|
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},
|
|
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
|
{
|