majsoul-analyser icon indicating copy to clipboard operation
majsoul-analyser copied to clipboard

关于通讯协议

Open winktool opened this issue 2 years ago • 22 comments

请问有简化版本的协议吗? 如果有自己的一套标准,就可以兼容多个平台了。 新平台只需要把他们平台的数据转换成mahjong helper的。

winktool avatar Aug 23 '23 19:08 winktool

实际上,mahjong-helper 的参数就是固定的。 可以参考这里: EndlessCheng/mahjong-helper#其他功能说明 兼容 linux 不复杂,只需要添加一个 mahjong-helper 的二进制程序就行了。 暂时没有这么做的原因是,依赖 mahjong-helper 分析的出牌水平并不算高,所以在寻求改进。

HomeArchbishop avatar Aug 24 '23 01:08 HomeArchbishop

mahjong-helper 分析的出牌水平并不算高,关于这点我并不是很清楚,只是它是攻防一体,感觉比较好,哈哈。 不过您误会我的意思了,我是指除了雀魂和天凤外别的平台,不是操作系统。 不知道这两个项目如何: https://github.com/Jimboom7/AlphaJong https://github.com/Aokoooooo/mahjong-helper

winktool avatar Aug 24 '23 06:08 winktool

我理解了。 代码流程当然可以挪到天凤或者其他平台,只是网页消息解析和自动鼠标点击的模块要重写一下。

网页消息解析之后会调用分析器(Analyser)的API,分析下一步操作。您表达的“统一协议”应该就是这个分析器的调用文档。

而我所提到的二进制文件只是暂时的封装进了分析器里。它基于统计学麻将计算打点,而非机器学习,所以水平不高。您推荐的项目我会参考的,渐渐地把分析器改进一下。(我很希望写出自己的分析器,但是精力有限😢,所以借用一下其它项目的)

概括一下。这个项目是模块化的,模块互相是黑箱。支持其他平台只用重写个别模块。Analyser模块的接口文档近期会进行维护🥳)

HomeArchbishop avatar Aug 24 '23 07:08 HomeArchbishop

哈哈哈,辛苦了,机器学习的项目:https://github.com/Equim-chan/Mortal 没有开源模型,所以还无法折腾。

winktool avatar Aug 24 '23 07:08 winktool

好像经常会崩溃

winktool avatar Aug 28 '23 01:08 winktool

好像经常会崩溃

有没有报错或者具体表现🥲 我没遇过崩溃啊

HomeArchbishop avatar Aug 28 '23 02:08 HomeArchbishop

等我调试看看,目前在写nodejs版本的解析器,哈哈哈

winktool avatar Aug 28 '23 12:08 winktool

等我调试看看,目前在写nodejs版本的解析器,哈哈哈

好耶,需要文档吗

HomeArchbishop avatar Aug 28 '23 12:08 HomeArchbishop

有是最好的啊,哈哈哈。 我不会go,所以想写nodejs版本的mahjong-helper,不过已经差不多了,目前在兼容雀魂和天凤的字段

winktool avatar Aug 28 '23 13:08 winktool

我刚刚 push 了大致的文档。在 docs/ 下。

不过暂时在线部署不是很成功。你可以先 clone 下来,安装依赖后,用 npx vuepress dev docs 先查看。

而且,我刚刚复盘了一下,支持天凤的话,除了 Analyser 模块,其他三个模块还有调用模块的 msgHandler 基本上都要改(因为都依赖于雀魂的 JSON 格式) ,只有项目的思路不用改。如果能提前格式化一下雀魂的 JSON 就好了,就像你之前说的那样。(尴尬哈哈。。。)关于这个,我的想法也写进文档里了。。

HomeArchbishop avatar Aug 28 '23 15:08 HomeArchbishop

好的啊,我看看哈。目前在梳理一个完整对局的流程。

winktool avatar Aug 28 '23 15:08 winktool

是关于现在整个项目的运行过程吗?

整个项目从server/index开始,然后调用server/msgHandler.ts分别处理webSocket的上行和下行消息。

HomeArchbishop avatar Aug 28 '23 15:08 HomeArchbishop

就是从接收消息,然后解析消息,分配座位、计算手牌、鸣牌记录、立直记录等,最后给出何切何鸣的推荐。

winktool avatar Aug 28 '23 16:08 winktool

我刚刚接触日麻,还不会打,纯粹是根据 mahjong-helper写代码的。

winktool avatar Aug 28 '23 16:08 winktool

好像不会提示是否要杠,这是为什么呢?

winktool avatar Aug 29 '23 19:08 winktool

应该是加杠吧,我忘了写处理了(哭)

HomeArchbishop avatar Aug 31 '23 06:08 HomeArchbishop

是一个很难判断的点,哈哈哈

winktool avatar Aug 31 '23 08:08 winktool

请问这块作何解释呢? image

winktool avatar Sep 01 '23 08:09 winktool

我并没有用到这个部分的内容。这也是我的 Analyser 不够科学的原因之一。

这部分就是根据牌桌已知情况,分析出当前局势(筋牌/安牌之类的)

HomeArchbishop avatar Sep 01 '23 08:09 HomeArchbishop

安牌 是什么呀?

winktool avatar Sep 01 '23 08:09 winktool

就是安全牌,指舍这张牌是安全的

HomeArchbishop avatar Sep 01 '23 08:09 HomeArchbishop

image 这个情况下我应该怎么选择呢?

winktool avatar Sep 01 '23 08:09 winktool