MajsoulAI icon indicating copy to clipboard operation
MajsoulAI copied to clipboard

是否可以设置四人南模式?

Open rjdidhvr opened this issue 3 years ago • 2 comments

如题。 还有有没有大佬指点下怎么更换ai,这个ai看的血压飙升

rjdidhvr avatar Nov 28 '21 16:11 rjdidhvr

之前看Issues里面的讨论,貌似有一个不用机器学习的AI的实际效果比这个标称二段的AI好些 虽然也有一些迷惑操作但是……比我打得好…… https://github.com/zhangjk95/MahjongAI

工程量主要在于:

  • [x] 1. 给此项目额外写个AIWrapper用以协商进程间通讯

    • 由于AI那个项目支持雀魂所以不像现有这个wrapper那么惨烈,原样转发WebSocket数据即可
    • 由于不需要此项目维护游戏数据,所以只需要接收AI返回的操作即可
  • [x] 2. 给AI的那个项目写个新类用以处理游戏操作

    • 由于本来就存在一个MajsoulClient类,因此大多数的操作逻辑几乎不需要更改
    • 由于数据格式不一致,所以操作逻辑内的几乎所有涉及到数据操作的东西都需要修改一遍
    • 由于本来就存在各种回调函数,可以直接在回调函数里延迟并以约定的格式返回数据

一些额外的东西:

  1. 立直棒1000点啊……(达成成就:我的100000点呢?
  2. 原则上碰的时候也会有需要选择的情况,比如有一张宝牌和两张普通牌,不过好像本来的没处理,测试时发现的
  3. AI那边除吃和碰外暗杠和加杠也有combination的运算,虽然没感觉需要用到,但是也传过去了,反正也不差这一个变量
  4. 东风南风西风场原则上都不会有问题的,不过没有过南风场大家打来打去结果南4还没过30000点的时候,所以没去过西风场
  5. 没有什么问题是一个中间层解决不了的,如果有,那就再加一层(

iHamsterball avatar Dec 01 '21 10:12 iHamsterball

x, y = np.int32(PosTransfer(Layout.menuButtons[0], self.M)) # 四人东 找到这行代码,把数组的那个0改成1就是四人南了,以此类推☺

bailuWX avatar Dec 08 '21 02:12 bailuWX