仙人掌四川麻将AI使用说明

最近整理一下前段时间开发的AI服务器,整理了一份调用的接口文档,需要的朋友可以试一下,交流一下有什么不好的地方可以留言讨论。

游戏功能:

换三张

智能打定缺

出牌

是否碰

是否杠

是否做清一色

根据牌面智能选择进攻打法,还是防守打法

游戏座位号:

自己为0

下家为 1

对家为 2

上家为 3

牌值表示:

0:条

1:万

2:筒

比如:2就表示2条 12 就表示1万 22 就表示二万

算法基于python3.5开发,使用socket通信,客户端需要按照服务器定义的接口传输内容才会有对应的返回,客户端收到返回之后 需要判断当前是什么操作并对应的去响应。

接口说明

注意事项:所有调用接口需要严格按照这个顺序来调用,不是得不到你想要的结果。有些接口服务器有返回,有些只需要客户端发服务器只需要一个记录,所以很多是没有返回的。文档里面写的有返回的就有,没有返回的就没有返回。

第一步:初始化游戏AI服务器  必须要要,不是后面没办法正确使用

108:Seed_ID:123051 2020/09/01 00:48:59

108: 牌墙的剩余数量

Seed_ID: 初始化AI的关键字 必须是这个

123051: 客户端ID 必须要要

2020/09/01 00:48:59 当前掉用的时间

第二步:初始化当前的手牌

55:InitHandCard-[28, 27, 25, 24, 21, 21, 18, 17, 17, 13, 13, 11, 7, 1]

55:当前牌墙的剩余张数,以后所有的协议都会已这个开始,这个数量一定要准确,如果不准确会影响AI的计算,比如是否做清一色,决定是打防守还是打进攻,所有这个剩余的数量必须要准确。

InitHandCard:初始化手牌的关键字

[28, 27, 25, 24, 21, 21, 18, 17, 17, 13, 13, 11, 7, 1]:当前的手牌

具体功能:

换三张:55:WhatHuanSZ-88-Ha-0

55:牌墙剩余数量

WhatHuanSZ:换三张关键字

88,ha,0:暂时没用 只是用来对齐用的,但是必须要要

换三张完成了之后 在调用一次初始化手牌 ,因为这个时候手牌已经发生了变化。

55:InitHandCard-[29, 28, 27, 25, 24, 23, 22, 21, 21, 17, 17, 13, 7, 1]

服务器返回:RetCmd:HSZ-12,13,16

RetCmd:服务器返回关键字,只要是这个开始的都是说明是服务器返回的数据

HSZ:换三张返回关键字

11,13,16:AI返回当前需要换的三张牌。这里就是1万 3万 6万

定缺:55:WhatDinQue-88-Ha-0-0

55:牌墙剩余数量

WhatDinQue:定缺的关键字

88-Ha-0-0:暂未使用,需要写入,后面用来扩展功能

AI返回:RetCmd:DinQue-0

RetCmd:服务器返回关键字,只要是这个开始的都是说明是服务器返回的数据

DinQu:定缺AI返回关键字

0:AI返回当前需要定缺的花色 这里表示定缺条

初始化当前庄家

55:Zj_Azimuth-0

AI返回:没有

初始化所有玩家定缺

55:DinQue-0,2,0,2,

55:牌池剩余数量

DinQu:定缺的关键字

0,2,0,2:按照顺序依次定缺,自己,下家(右),对家,上家(左)

AI返回:没有

自己出牌

55:WhatOut-77-Ha-0[29, 28, 27, 25, 24, 23, 22, 21, 21, 17, 17, 13, 7, 1]

55:牌墙剩余数量

WhatOut:出牌关键字

Ha:保留

0:自己的索引

[29, 28, 27, 25, 24, 23, 22, 21, 21, 17, 17, 13, 7, 1]:自己当前的手牌,为了每次出牌的准确性,每次自己出牌的时候这个值必须要发。具体的牌值说明,请看文档最开始处有说明

AI返回:

RetCmd:Out-1  表示当前出牌1

自己是否碰牌

32:IfMustBump-21-Ha-0-1[29, 29, 28, 27, 25, 24, 23, 22, 22, 22, 21, 21, 17]

32:牌墙剩余数量

21:需要碰的牌

0:自己的索引,这里永远为0

1:哪个玩家出的这张牌

[29, 29, 28, 27, 25, 24, 23, 22, 22, 22, 21, 21, 17]:自己当前的手牌

AI返回:一共三个值

RetCmd:IfBump-True:碰

IfBump-False:不碰

BumpError:1-1:不做任何处理 返回这个情况是 自己牌面 又碰有胡的情况,不需要做任何处理

自己是否杠牌

26:IfMustGang-21-Ha-0-21[29, 28, 27, 25, 24, 24, 23, 22, 22, 22, 21]

26:牌墙剩余剩余

IfMustGang:杠的关键字

21:当前杠的那张牌

0:哪个玩家出的这张牌(当巴杠和暗杠的时候为0,点杠就为出牌的玩家)

21:新摸的牌,点杠的时候这个值为0

AI返回:一共三个值

GangError:1-1  不做处理

RetCmd:IfGang-True-21   杠

etCmd:IfGang-False    不杠

以上为自己需要去调用服务器返回的接口,下面是一些记录的接口

出牌记录:54:Out-7-Ha-0-1

54:牌墙剩余数量

Out:出牌的关键字

7:出牌的牌值

0:哪个玩家出的牌

1:出牌的类型,(1.普通出牌,2.碰了之后出牌,3.明杠之后出牌,4.巴杠之后出牌,5暗杆之后出牌)

碰牌记录:38:Bump-2-Ha-1 (玩家1碰了2条)

38:牌墙的剩余张数

Bump:碰的关键字

2:当前碰的牌

1:当前碰的玩家

杠牌记录:

36:AnGang-26-Ha-2  暗杠 (玩家2暗杆了6筒)

36:牌墙的剩余数量

AnGang:暗杆的关键字

26:杠的牌值

2:操作杠的玩家

35:MinGang-11-Ha-3  明杠 (玩家3明明杠了1万)

35:牌墙的剩余数量

MinGang:明杆的关键字

11:杠的牌值

3:操作杠的玩家

32:BaGang-2-Ha-1 巴杠 (玩家1巴杠了2条)

32:牌墙的剩余数量

BaGang:巴杆的关键字

2:杠的牌值

1:操作杠的玩家

胡牌:

31:DianHu-17-Ha-2  点胡 (玩家2胡牌了7万)

31:牌墙的剩余数量

DianHu:点胡

17:胡牌的牌值

2:胡牌的玩家索引

20:ZiMuHu-3-Ha-3 自摸 (玩家3自摸了3条)

20:牌墙的剩余数量

ZiMuHu:自摸的关键字

3:自摸的牌值

3:自摸的玩家索引

四川麻将AI接口说明相关推荐

  1. 四川麻将纯AI算法------最优拆牌

    ps:四川麻将AI算法已经开发完毕,现已上线运营,有需要交流的朋友请留言交流讨论 转载请说明出处:by:wojiushi3344 我想现实生活中应该有很多朋友都在玩四川麻将,不知道你有没有发现其实四川 ...

  2. python 图像识别实现四川麻将回放牌面数据

    python 图像识别 自动获取麻将APP实时牌面数据 前面写了一篇文章,深度学习图像识别麻将APP数据,然后结合自己的算法实现自动打麻将demo!很多朋友感兴趣.最开始做这个也只是为了研究学习图像识 ...

  3. 四川麻将出现天胡与地胡的概率

    人在四川过年,免不了上桌打麻将,作为一个标准的麻将新手,上桌送钱是免不了的,当然在这个运七技三的游戏中,本民工居然还偶然有一天赢了一点点钱. 于是这个引起了本民工的好奇,实际上民工本人以前开发过斗地主 ...

  4. 本周AI热点回顾:何恺明RegNet超越EfficientNet、数学难题“abc猜想”封印终被开启、微软麻将 AI 论文发布

    01 何恺明团队最新力作RegNet: 超越EfficientNet,GPU上提速5倍 还是熟悉的团队,还是熟悉的署名,Facebook AI实验室,推陈出新挑战新的网络设计范式.熟悉的Ross,熟悉 ...

  5. 麻将AI 不完全信息博弈学习笔记(完结)

    前言 在这学期的数据结构必修课中,老师向我们提供了两道题: 其一是六子棋问题: 其二是麻将AI问题: 前者是经典的完全信息博弈问题,根据我已有的知识,利用博弈树和合理的剪枝可以提供一种高效的解法(当然 ...

  6. 四川引入 AI 技术守护大熊猫【智能快讯】

    By 超神经 AI 无处不在的时代,每天都有新的技术与研究成果出现.无论学术界还是商界,技术还是产品,AI 的新发现都源源不断,在带给我们全新视角的同时,也引起我们更深的思考. 想知道最近的 AI 动 ...

  7. java四川麻将源码,FizzBuzz

    FizzBuzzWhizz 题记 ThoughtWorks这次招人似乎有些狠.除了在微博上下大功夫,还和拉勾网.OSC合作.招人的方式比较特别,先交代码,才有机会得到面试电话.我想他们的嗅觉应该很灵敏 ...

  8. 微软麻将AI Suphx或引入“凤凰房”,与其他AI对打

    作者 | 夕颜 出品 | AI科技大本营(ID:rgznai100) [导读]在刚刚结束的上海2019世界人工智能大会上,微软宣布了其在人工智能领域的最新研究突破--由微软亚洲研究院研发的麻将 AI ...

  9. 超越99.9%人类玩家,微软专业十段麻将AI论文细节首次公布

      视学算法分享   转自 | 机器之心 [导读]在去年 8 月底的世界人工智能大会上,时任微软全球执行副总裁的沈向洋正式对外宣布了微软亚洲研究院研发的麻将 AI「Suphx 」.近日,关于 Suph ...

最新文章

  1. 如何使用OWASP Dependency Check的命令行(CLI)模式进行依赖库安全漏洞扫描
  2. HALCON单目标定
  3. oracle control file文件 详解
  4. reactjs中收集表单数据:非受控组件和受控组件
  5. oracle resetlogs 误删,oracle undo表空间误删恢复
  6. php中mysqli 处理查询结果集的几个方法
  7. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(7) - 混洗指令 解组合指令
  8. 常年“盘踞”数据库前五的 MongoDB,在中国有哪些新动向?
  9. OSPF(Open Shortest Path First)开放式最短路径优先协议03
  10. javaEE开发中使用session同步和token机制来防止并发重复提交
  11. 金税盘、税控盘、税务UKey快速批量抄税清卡的一种方法分享
  12. 新版电力系统决策支持系统开发告一段落
  13. Java基础知识面试复习大纲
  14. 最小二乘法:求回归直线方程
  15. MachineLearning 4. 癌症诊断方法之 K-邻近算法(KNN)
  16. 线性齐次方程组的通解 MATLAB
  17. 什么是RST包,什么是三次握手,什么是四次握手
  18. 10 Python计算生态
  19. 已损坏打不开您应该推出磁盘映像
  20. 分屏演示PPT,你可同时看见幻灯片备注信息

热门文章

  1. 433和2.4G无线通信比较
  2. 【已解决】VMware Player 无法与 VMware Workstation 一起安装。请先卸载 VMware Workstation,再尝试安装VMware Player
  3. arduino UNO 与 超声波测距模块 实验详情
  4. 消息队列RabbitMQ之初学者
  5. 通关!游戏设计之道的学习笔记(四)文档
  6. 郓城总工会计算机学校,郓城县总工会
  7. java lbp_HOG+LBP特征学习
  8. 计算机理论知识和操作技能要求是什么,所学专业对应职业群中的职业,有哪些已经有了国家颁布的职业资格标准?这些职业资格标准的分级情况如何?这些职业资格标准中,理论知识和操作技能要求是什么?!!!!!...
  9. Ubuntu16.04-64位操作系统上安装Cadence Conformal10.1教程
  10. 产品迭代都做了写什么