MajsoulAI
MajsoulAI copied to clipboard
是否可以设置四人南模式?
如题。 还有有没有大佬指点下怎么更换ai,这个ai看的血压飙升
之前看Issues里面的讨论,貌似有一个不用机器学习的AI的实际效果比这个标称二段的AI好些 虽然也有一些迷惑操作但是……比我打得好…… https://github.com/zhangjk95/MahjongAI
工程量主要在于:
-
[x] 1. 给此项目额外写个AIWrapper用以协商进程间通讯
- 由于AI那个项目支持雀魂所以不像现有这个wrapper那么惨烈,原样转发WebSocket数据即可
- 由于不需要此项目维护游戏数据,所以只需要接收AI返回的操作即可
-
[x] 2. 给AI的那个项目写个新类用以处理游戏操作
- 由于本来就存在一个MajsoulClient类,因此大多数的操作逻辑几乎不需要更改
- 由于数据格式不一致,所以操作逻辑内的几乎所有涉及到数据操作的东西都需要修改一遍
- 由于本来就存在各种回调函数,可以直接在回调函数里延迟并以约定的格式返回数据
一些额外的东西:
- 立直棒1000点啊……(达成成就:我的100000点呢?
- 原则上碰的时候也会有需要选择的情况,比如有一张宝牌和两张普通牌,不过好像本来的没处理,测试时发现的
- AI那边除吃和碰外暗杠和加杠也有combination的运算,虽然没感觉需要用到,但是也传过去了,反正也不差这一个变量
- 东风南风西风场原则上都不会有问题的,不过没有过南风场大家打来打去结果南4还没过30000点的时候,所以没去过西风场
- 没有什么问题是一个中间层解决不了的,如果有,那就再加一层(
x, y = np.int32(PosTransfer(Layout.menuButtons[0], self.M)) # 四人东 找到这行代码,把数组的那个0改成1就是四人南了,以此类推☺