mahjong_engine 1.1.0 → 1.1.1
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/ShantenCalculator.d.ts.map +1 -1
- package/dist/modules/ShantenCalculator.js +2 -1
- package/dist/modules/ShantenCalculator.js.map +1 -1
- package/dist/tests/shanten/test1.d.ts.map +1 -1
- package/dist/tests/shanten/test1.js +5 -0
- package/dist/tests/shanten/test1.js.map +1 -1
- package/modules/ShantenCalculator.ts +2 -1
- package/package.json +1 -1
- package/tests/shanten/test1.ts +5 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShantenCalculator.d.ts","sourceRoot":"","sources":["../../modules/ShantenCalculator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAI/B,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;gBAEtB,IAAI,EAAE,GAAG,EAAE;IAMvB,SAAS,IAAI,MAAM;IAQnB,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"ShantenCalculator.d.ts","sourceRoot":"","sources":["../../modules/ShantenCalculator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAI/B,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;gBAEtB,IAAI,EAAE,GAAG,EAAE;IAMvB,SAAS,IAAI,MAAM;IAQnB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,eAAe;IAkFvB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,gBAAgB;CAM3B"}
|
|
@@ -17,7 +17,8 @@ export class ShantenCalculator {
|
|
|
17
17
|
return Math.min(normal, chitoi, kokushi);
|
|
18
18
|
}
|
|
19
19
|
calculateShanten(requiredMentsuCount, mentsuCount, taatsuCount, toitsuCount) {
|
|
20
|
-
const
|
|
20
|
+
const usableToitsu = Math.max(toitsuCount - 1, 0);
|
|
21
|
+
const usableTaatsu = Math.min(taatsuCount + usableToitsu, Math.max(0, requiredMentsuCount - mentsuCount));
|
|
21
22
|
const usableJanto = Math.min(toitsuCount, 1);
|
|
22
23
|
return 8 - 2 * (4 - requiredMentsuCount + mentsuCount) - usableTaatsu - usableJanto;
|
|
23
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShantenCalculator.js","sourceRoot":"","sources":["../../modules/ShantenCalculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,OAAO,iBAAiB;IACT,IAAI,CAAQ;IACZ,MAAM,CAAW;IAElC,YAAY,IAAW;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,SAAS;QACL,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAEO,gBAAgB,CACpB,mBAA2B,EAC3B,WAAmB,EACnB,WAAmB,EACnB,WAAmB;QAEnB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,GAAG,WAAW,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ShantenCalculator.js","sourceRoot":"","sources":["../../modules/ShantenCalculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,OAAO,iBAAiB;IACT,IAAI,CAAQ;IACZ,MAAM,CAAW;IAElC,YAAY,IAAW;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,SAAS;QACL,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExC,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAEO,gBAAgB,CACpB,mBAA2B,EAC3B,WAAmB,EACnB,WAAmB,EACnB,WAAmB;QAEnB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,GAAG,WAAW,CAAC,CAAC,CAAC;QAC1G,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,mBAAmB,GAAG,WAAW,CAAC,GAAG,YAAY,GAAG,WAAW,CAAC;IACxF,CAAC;IAEO,QAAQ;QACZ,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IACjE,CAAC;IAEO,OAAO;QACX,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3D,CAAC;IAEO,eAAe;QACnB,IAAG,IAAI,CAAC,OAAO,EAAE;YAAE,OAAO,CAAC,CAAC,CAAC;QAC7B,IAAG,IAAI,CAAC,QAAQ,EAAE;YAAE,OAAO,CAAC,CAAC;QAE7B,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,CACR,GAAa,EACb,WAAmB,EACnB,WAAmB,EACnB,WAAmB,EACrB,EAAE;YACA,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YACrD,IAAG,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;gBACnB,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CACjC,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,WAAW,CACd,CAAC;gBACF,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC3C,OAAO;YACX,CAAC;YAED,MAAM,KAAK,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;YAC9B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YAEpC,IAAI;YACJ,IAAG,KAAK,IAAI,CAAC,EAAC,CAAC;gBACX,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACtB,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC;YACzD,CAAC;YACD,IAAI;YACJ,IAAG,KAAK,IAAI,CAAC,EAAC,CAAC;gBACX,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACtB,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YACzD,CAAC;YACD,IAAI;YACJ,MAAM,eAAe,GACjB,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC;gBACvB,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,kBAAkB,GAAG,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YAC7D,IAAG,kBAAkB,IAAI,eAAe,EAAC,CAAC;gBACtC,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;gBACvB,GAAG,CAAC,IAAI,EAAE,WAAW,GAAG,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YACzD,CAAC;YACD,UAAU;YACV,MAAM,eAAe,GAAG,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAChD,MAAM,kBAAkB,GAAG,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YAC7D,IAAG,kBAAkB,IAAI,eAAe,EAAC,CAAC;gBACtC,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;gBAEvB,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;YACzD,CAAC;YACD,OAAO;YACP,MAAM,eAAe,GAAG,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAChD,MAAM,kBAAkB,GAAG,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YAC7D,IAAG,kBAAkB,IAAI,eAAe,EAAC,CAAC;gBACtC,IAAI,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;gBACvB,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC;YACzD,CAAC;YAED,KAAK;YACL,MAAM,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACnB,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QACrD,CAAC,CAAA;QAED,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAE1B,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,kBAAkB;QACtB,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5E,OAAO,CAAC,GAAG,WAAW,CAAC;IAC3B,CAAC;IAEO,gBAAgB;QACpB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACxE,OAAO,EAAE,GAAG,WAAW,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test1.d.ts","sourceRoot":"","sources":["../../../tests/shanten/test1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;
|
|
1
|
+
{"version":3,"file":"test1.d.ts","sourceRoot":"","sources":["../../../tests/shanten/test1.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;GA6IlB,CAAA"}
|
|
@@ -64,6 +64,11 @@ export const cases1 = [
|
|
|
64
64
|
hais: [1, 1, 1, 2, 5, 12, 12, 12, 13, 14, 15, 17, 17],
|
|
65
65
|
expected: 1
|
|
66
66
|
},
|
|
67
|
+
{
|
|
68
|
+
name: "shanten1_4",
|
|
69
|
+
hais: [1, 2, 3, 4, 5, 6, 7, 28, 28, 31, 31, 32, 32],
|
|
70
|
+
expected: 1
|
|
71
|
+
},
|
|
67
72
|
{
|
|
68
73
|
name: "shanten2_1",
|
|
69
74
|
hais: [1, 1, 1, 2, 5, 11, 12, 12, 13, 14, 15, 17, 18],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test1.js","sourceRoot":"","sources":["../../../tests/shanten/test1.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"test1.js","sourceRoot":"","sources":["../../../tests/shanten/test1.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,7 +27,8 @@ export class ShantenCalculator {
|
|
|
27
27
|
taatsuCount: number,
|
|
28
28
|
toitsuCount: number,
|
|
29
29
|
): number {
|
|
30
|
-
const
|
|
30
|
+
const usableToitsu = Math.max(toitsuCount - 1, 0);
|
|
31
|
+
const usableTaatsu = Math.min(taatsuCount + usableToitsu, Math.max(0, requiredMentsuCount - mentsuCount));
|
|
31
32
|
const usableJanto = Math.min(toitsuCount, 1);
|
|
32
33
|
return 8 - 2 * (4 - requiredMentsuCount + mentsuCount) - usableTaatsu - usableJanto;
|
|
33
34
|
}
|
package/package.json
CHANGED
package/tests/shanten/test1.ts
CHANGED
|
@@ -64,6 +64,11 @@ export const cases1 = [
|
|
|
64
64
|
hais: [1,1,1,2,5,12,12,12,13,14,15,17,17],
|
|
65
65
|
expected: 1
|
|
66
66
|
},
|
|
67
|
+
{
|
|
68
|
+
name: "shanten1_4",
|
|
69
|
+
hais: [1,2,3,4,5,6,7,28,28,31,31,32,32],
|
|
70
|
+
expected: 1
|
|
71
|
+
},
|
|
67
72
|
{
|
|
68
73
|
name: "shanten2_1",
|
|
69
74
|
hais: [1,1,1,2,5,11,12,12,13,14,15,17,18],
|