没有作弊的抽奖程序

2017-03-16 14:55:28 +08:00
 xuboying

之前总是看到调侃要 review 抽奖程序的梗,突发奇想,直接在 IDE 里抽奖效果如何。

5335 次点击
所在节点    分享创造
40 条回复
xuboying
2017-03-16 16:23:46 +08:00
@typcn 求发个 asm 版本的
xuboying
2017-03-16 16:31:02 +08:00
@shoaly 我觉得你说的有道理,感觉是梗的诉求错了,要 review 代码的同学洗洗睡觉吧
binux
2017-03-16 16:39:59 +08:00
@xuboying “梗是基于程序员的”,你是野生程序员吧
jiangzhuo
2017-03-16 17:19:33 +08:00
只要让所有人都信服就行了,无所谓公平不公平。本来大家就是想看看这群人里谁气运最好,奖品就归谁。既然是比气运就很容易了。
拿年会抽奖这事来说,所有人聚集到一个屋子里,密封好,放毒气,同时死掉,看来世谁投胎比较好就行了。
stnaw
2017-03-16 17:20:09 +08:00
用彩票号码当种子
EricInBj
2017-03-16 17:22:43 +08:00
我们抽奖是用北京车牌摇号一样的做法。
伪随机算法,签到顺序形成数组,抽下标。
种子数可以现场产生,每一桌随便找个人,说一个数字,然后把所有桌子的数字连起来。
当然也可以去第三方网站产生一个随机数。

不过现场产生的互动性效果好一点。
EricInBj
2017-03-16 17:23:58 +08:00
@sTnaw 这种有个问题,就是说种子得在抽奖编号产生之后确定下来才行。要不然还是可以操作的。过不了 review ,哈哈。
xierch
2017-03-16 19:47:36 +08:00
https://blog.sorz.org/p/p2p-lucky-draw/
谁来把这个实现一下吧(
loading
2017-03-16 19:58:45 +08:00
随便拿一台手机,打开 codepen.io
用浏览器跑 js 。
xierch
2017-03-16 20:24:58 +08:00
@xierch 其实很简单啊,就是每个人自己生成一个随机数,藏着。所有人先公布 hash ,再公布随机数,
最后用所有人的随机数据合起来生成结果。只要保证自己的数别人猜不到,就行了。

先订好协议,取个帅气的名字,注册个时髦的域名,吸引不同的人写一些不同语言平台的开源实现。

抽奖的时候,无所谓的人看着就好;想参与的人自己掏出手机开个网页、装个 app ,注入熵;认真的人,自己 review 代码自己编译或者干脆自己照着协议写一个。

多好,现在就差一个程序员了。
sgissb1
2017-03-16 21:38:17 +08:00
关键你录屏的时候如何证明你没有插帧了?
xuboying
2017-03-16 22:31:09 +08:00
@sgissb1 哥哥,用的时候观众自己上来看吧。重建工程也可以的,就 5 行。
RqPS6rhmP3Nyn3Tm
2017-03-17 02:44:05 +08:00
开个浏览器, random.org
再不济买个摇奖机,物理的怎么作弊
blackboar
2017-03-17 09:43:39 +08:00
你怎么保证 IDE 没被动过手脚!

问题的关键不在于用什么技术的,要找出一种办法让大多数人觉得公平就可以了,总是有个别人觉得有内幕有什么办法。
sgissb1
2017-03-17 10:23:22 +08:00
@xuboying 大哥,现在可以动态插入帧的。。。所以我只想说天下没有不舞弊的事情,因为不舞弊要做到公正公开。因为你直播也好,录播也罢,就算把人聚集在电脑前写代码抽奖也一样,如何证明每一幅画面就是原始的真实的。
sgissb1
2017-03-17 10:23:46 +08:00
@blackboar 这个场子砸的我点 32 个赞!
xuboying
2017-03-17 13:29:19 +08:00
@sgissb1 取消抽奖环节,结贴
xuboying
2017-03-17 13:31:55 +08:00
@blackboar 没有办吧保证 IDE 没有被动过手脚,也不能保证发给你的奖品是真货,所以取消抽奖环节吧。
sgissb1
2017-03-17 13:54:21 +08:00
@xuboying 从抽奖到放弃, 2333333 。你被大家各种压制的飞起
sobigfish
2017-03-18 15:47:02 +08:00
我还见过直接用微信摇一摇的
-。- 其实感觉这样的节奏还行,谁也作不了弊(除非你加了抽奖主持的微信号,[可能]会再也摇不到你)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/347926

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX