我正在考虑改编半流行的纸牌游戏.我想让它在没有中央服务器的情况下运行,而我正试图想出一个不必信任客户就会让作弊变得不可能的方案.
我看到的基本问题是每个玩家都有几堆牌(平局牌,当前牌和弃牌牌).任何一个玩家都不可能改变这些桩的构成,除非游戏规则允许(即绘制或丢弃牌),玩家也不能知道他们或他们的对手的桩是什么.
我觉得应该有一些方法可以使用像公钥加密这样的东西来完成这个,但我一直在我的方案中找到漏洞.任何人都可以建议一个协议或指向我这个主题的一些资源?
[编辑]好的,所以我一直在考虑这个问题,这是我想出的一个想法.如果你可以戳它的任何漏洞,请告诉我.
在随机播放时,玩家有一堆牌,其价值为他们所知.他们采用这些值,将随机盐连接到每个值,然后哈希它们.他们记录盐,并将哈希传给他们的对手.
对手连接他们自己的盐,再次哈希,然后将哈希洗牌并将牌组传回原来的牌手.
我相信在这一点上,牌组已被随机化,玩家都无法了解这些价值观.然而,当一张牌被抽出时,对手可以揭示他们的盐,允许第一个玩家确定原始值是什么,并且当玩牌时玩家展示他们自己的盐,允许对手验证牌值.
我想使用数组切片来修剪我的数组,即
a_trimmed = a[trim_left:-trim_right]
Run Code Online (Sandbox Code Playgroud)
这很好,除非trim_right是0,我得到a[trim_left:0],这是一个空数组.
我想我能做到
a[trim_left:a.shape[0]-trim_right]
Run Code Online (Sandbox Code Playgroud)
但它更丑陋.表达这种最简洁的方法是什么?
有人知道OpenCV是否能够加载多帧TIFF堆栈?我正在使用带有python 2.6的OpenCV 2.2.0.
有一段时间我一直试图想出一个好的方法来图形化地表示数据系列及其估计的错误.
最近我看到了一些图表,其中数据被绘制成一条线,背景"带状"填充了绘制数据+/- sigma的线之间的区域.
这种类型的图是否有名称,是否有任何python工具包能够制作这样的图?
使用matplotlib伪造它的简单方法也很有用 - 现在我只绘制三条线,但我不知道如何填充它们之间的区域.
我想修补一些使用来自外部模块的对象的代码。
该对象的一种方法在各处都被调用,我需要在所有这些调用中设置一个新的默认kwarg。
与其添加太多重复的代码,不如更改对象方法会更好。什么是最干净的方法?
python ×4
cryptography ×1
encryption ×1
graph ×1
image ×1
matplotlib ×1
numpy ×1
opencv ×1
scipy ×1