Agari
麻雀アガリ和了形計算
Japanese riichi mahjong hand agari calculation
Install with npm:
# npm i agari
Use in browser:
<script src="https://cdn.jsdelivr.net/npm/agari"></script>
Usage:
const agari = require('agari')
let hai = [
[3,1,1,3,0,0,0,0,0],
[3,0,0,0,0,0,0,0,0],
[3,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0]
]
console.log(agari(hai))
Output:
[
[
'1m',
[ '1m', '2m', '3m' ],
[ '1p' ],
[ '1s' ],
[ '4m' ]
],
[
[ '1m' ],
[ '1p' ],
[ '1s' ],
[ '2m', '3m', '4m' ],
'4m'
]
]
"m,p,s,z" means "萬子,筒子,索子,字牌"
"1z-7z" means "東南西北白發中"
Check only:
const agari = require('agari')
agari.check([
[3,1,1,1,2,1,1,1,3],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0]
])
agari.check7([
[2,0,2,2,2,2,2,0,2],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0]
])
agari.check13([
[1,0,0,0,0,0,0,0,1],
[1,0,0,0,0,0,0,0,1],
[1,0,0,0,0,0,0,0,1],
[1,1,1,1,2,1,1]
])
agari.checkAll([
[1,1,1,1,1,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0]
])