0.4.12 • Published 8 months ago
@k-jun/mahjong v0.4.12
Mahjong
Mahjong は麻雀の得点計算ライブラリです。 和了時における翻数計算、符計算、及び得点計算を行います。シャンテン数の計算もサポートしています。 天鳳 での牌譜 X 件での検証を実施しています。 このため、Mahjong は天鳳と同じ様に計算されることが保証されています。 なお、対応しているのは四麻赤アリアリルール(4人麻雀、赤ドラ有り、喰い断有り、後付け有り)のみです。
Install
npx jsr add @k-jun/mahjong
# or
npm install @k-jun/mahjongExample
import { Pai, PaiSet, PaiSetType, Player, Tokuten } from "@k-jun/mahjong";
const tokuten = new Tokuten({
options: {
isOya: true,
isTsumo: true,
},
paiBakaze: new Pai("z1"),
paiJikaze: new Pai("z1"),
paiDora: [new Pai("z2")],
paiDoraUra: [new Pai("z2")],
paiRest: [
new Pai("m1"),
new Pai("m1"),
new Pai("m2"),
new Pai("m2"),
new Pai("m2"),
new Pai("m3"),
new Pai("m3"),
new Pai("m3"),
new Pai("z6"),
new Pai("z6"),
],
paiLast: new Pai("m1"),
paiSets: [
new PaiSet(
{
paiRest: [
new Pai("m4"),
new Pai("m4"),
],
paiCall: [
new Pai("m4"),
],
type: PaiSetType.MINKO,
fromWho: Player.SHIMOCHA,
},
),
],
});
console.log(tokuten.count());{
han: 6,
fu: 50,
pointSum: 18000,
pointPrt: 0,
pointCdn: 6000,
yakus: [
Yaku { str: "対々和", val: 2, yakuman: false },
Yaku { str: "三暗刻", val: 2, yakuman: false },
Yaku { str: "混一色", val: 2, yakuman: false },
Yaku { str: "裏ドラ", val: 0, yakuman: false }
]
}
console.log(tokuten.count());{
han: 6,
fu: 50,
pointSum: 18000,
pointPrt: 0,
pointCdn: 6000,
yakus: [
Yaku { str: "対々和", val: 2, yakuman: false },
Yaku { str: "三暗刻", val: 2, yakuman: false },
Yaku { str: "混一色", val: 2, yakuman: false },
Yaku { str: "裏ドラ", val: 0, yakuman: false }
]
}Test
deno test -ARelease
deno publish --config jsr.json
# or
deno run -A scripts/build_npm.ts x.x.x
cd npm && npm publish