mahjong-helper
v0.1.2
Published
### 简介
Downloads
8
Readme
mahjong-helper
简介
这个项目是用来辅助自己进行日麻练习的,程序可以分析当前手牌的向听数,以及不同切牌选择之间的进张期望.
API
读取手牌:
parse(code:string)=> { handTiles : Tile[], fuluTiles : Tile[] }
将手牌通过简码的形式转化为对象.万条筒字的简码后缀分别为 m,s,p,z. 比如 1m 代表一万,456p 代表 456 筒.1234567z 分别代表东西南北白发中.压缩手牌:
encode(Tile[]) => string
将手牌对象压缩为字符串以便于进一步分析.需注意压缩得到的字符串无法通过逆推还原为原有手牌.分析向听数:
analyse(code:string) => numer
分析当前手牌的向听数.向听数的意思为最快还需多少有效进张才可听牌,其中向听数最大为 8,0 代表听牌,-1 代表荣和.给出切牌建议:
suggest(hand: Tile[]) => null | Suggest[]
根据当前手牌给出出牌建议,建议的给出逻辑是贪心计算当前局面下的最大进张数,即两面搭子优于单吊边张优于单张.返回 null 说明已经荣和.工具函数
isWan(tile:Tile) => boolean
isSuo(tile:Tile) => boolean
isTong(tile:Tile) => boolean
isFeng(tile:Tile) => boolean
isSanyuan(tile:Tile) => boolean
isZi(tile:Tile) => boolean
isValidTileTypeAcronym(acronym:string) => boolean
isTilesValid(handTiles:Tile[], fuluTiles:Tile[]) => boolean
sortTiles(tiles: Tile[]) => Tile[]
sortSuggest(suggests:Suggest[]) => Suggest[]