Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
rjdidhvr opened this issue Nov 28, 2021 · 2 comments
Open

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

rjdidhvr opened this issue Nov 28, 2021 · 2 comments

Comments

@rjdidhvr
Copy link

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

@iHamsterball
Copy link

iHamsterball commented Dec 1, 2021

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

工程量主要在于:

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

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

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

一些额外的东西:

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

@bailuWX
Copy link

bailuWX commented Dec 8, 2021

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants