TEST:拍手游戏

我说的拍手游戏是指这个小时候的游戏:AB用手势表示装弹、防卫和开枪,每拍两次手给出手势,胜出的条件是开枪时对方在装弹或者先装满五颗子弹。用(+)(=)(―)表示装弹、防卫、开枪,有(―)<(=)<(+)<(―),类似于剪刀石头布。我用程序试验在很简单的条件下游戏的胜负情况。

网上介绍的规则要复杂得多,还有人在上大学前用 C# 实现过局域网对战版本。程序似乎难以模拟这类猜拳游戏的同步场景。这个游戏也可以实现为其他场景。比如,房间里有钱币,AB每一次或者不进入房间,或者进入房间偷走一个钱币,或者进入房间放回一个钱币。先偷走M个钱币的胜出,或者进入房间放回钱币而(看见)对方偷走钱币时胜出。

假设:
  1. 双方设定在当前双方装弹数目为ab时,自己出某个手势的概率,保存在TABLE_A/B。
  2. TABLE_B中(+)(=)(-)的概率都设为p、r、q。例外:b=0时,不允许(-),q≡0,r≡1-p;a=0时,没有必要(=),r≡0,q≡1-p。
  3. TABLE_A通过置换TABLE_B对应单元中(+)(=)(-)的概率得到。我希望A胜的概率PA总大于1/2。

在b=0或a=0时,合理的置换只有一个,如下图所示。但a+b=0时,双方P(+)≡1。

按照(―)<(=)<(+)<(―),a>0,b>0时的置换如下图所示。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值