为其添加鸣牌取消操作的可行性 #69
CHANGNIANLE
started this conversation in
Ideas
Replies: 2 comments 1 reply
-
PlayerState 是单个玩家的观测,里面只包含它在牌桌上能看到的信息。 你的这个提议在实现上应该会很复杂,需要在 PlayerState 之外再定义另一个 state 结构,类似于 v1 被舍弃的 oracle 信息一样,然后 encode 还要带上这个 state,再然后在协议上也要做修改,使你说的这种「卡顿」可被观测到。我个人觉得这个尝试不一定很值。 |
Beta Was this translation helpful? Give feedback.
0 replies
-
很多在线麻将都会加入一些随机的延迟时间来防止观测鸣牌取消操作。 |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
我不知道该如何称呼它 暂定为"鸣牌取消 ",指在牌打出时,因为其他玩家要选择吃碰杠等操作,然后取消.使下家没有立即摸牌.同时牌谱没有记录.
但我们能通过它判断其他玩家是否存在两张或以上相同的牌或下家存在吃相关的牌.
虽然在牌谱中并没有鸣牌等待的操作,但是我们完全可以计算出来.且这在游戏中这也是可观测的信息.
我计划添加4个通道 将鸣牌等待添加到Dahai发起者的kawa_item.sutehai属性之中.
但我遇到了问题: 因为这是我第一次接触Rust语言,我不知道该如何访问其他玩家的牌组. PlayerState似乎只有玩家自身的手牌
我是否要同时创建所有玩家的PlayerState?
因为以上的问题,目前我通过预处理生成新的牌谱,实现强化训练和推理:但对于牌谱解析需要提前转换.也无法使用online训练
这是一个失败的尝试
Beta Was this translation helpful? Give feedback.
All reactions