V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fhefh
V2EX  ›  生活

一年一度的年会又到了,亲们,你们的抽奖程序怎么写

  •  
  •   fhefh · 2016-11-23 22:46:12 +08:00 · 4973 次点击
    这是一个创建于 2906 天前的主题,其中的信息可能已经有所发展或是发生改变。
    22 条回复    2016-11-24 23:29:42 +08:00
    Senevan
        1
    Senevan  
       2016-11-23 22:57:11 +08:00 via Android
    想起来一个,今年 js 开发者大会用的的 raffle.js,github 上搜可找到
    murmur
        2
    murmur  
       2016-11-23 23:12:41 +08:00
    以前在学校 有年会的时候 感觉抓乒乓球比电脑抽奖好多了 主要是可以让嘉宾(领导)参与互动
    DeepCold
        3
    DeepCold  
       2016-11-23 23:35:23 +08:00
    @Senevan 搜出来的感觉 star 都好少,不敢确定是不是。
    能否麻烦再花点时间帮忙甄别一下,搜索链接如下:
    https://github.com/search?utf8=%E2%9C%93&q=raffle

    十分感谢!!
    green15
        4
    green15  
       2016-11-23 23:39:34 +08:00 via iPhone
    @murmur 全员 review 代码(●—●)
    CloudnuY
        5
    CloudnuY  
       2016-11-24 01:28:28 +08:00
    print(random());
    when button.click()
    print(老板的 phoneNumber);

    (逃
    CloudnuY
        6
    CloudnuY  
       2016-11-24 01:29:07 +08:00
    ⤴️ 思路代码,不考虑语法可行 hhhhhh
    skydiver
        7
    skydiver  
       2016-11-24 02:20:24 +08:00 via Android   ❤️ 1
    自己写肯定写不对的…标准答案是使用 http://random.org 上面生成的真随机数
    ericls
        8
    ericls  
       2016-11-24 05:54:32 +08:00
    真正的随机是否存在都还存在争议吧。。。

    只需要做到无法预测就好。。。 比如观察布朗运动之类的
    redtea
        9
    redtea  
       2016-11-24 07:31:11 +08:00
    需要先研究一下计算机程序设计艺术卷 2 半数值算法
    shinwood
        10
    shinwood  
       2016-11-24 08:38:09 +08:00
    从来都是 Visual Basic ,简单粗暴。放三个 list ,一个 list 存姓名,一个 list 存已中奖名单,一个 list 存剩下多少人。

    每次抽奖随机生成 1 到 count(剩下名单)的数字,从剩下的人中删掉,加入已中奖名单。
    waruqi
        11
    waruqi  
       2016-11-24 08:46:09 +08:00 via iPhone
    别忘了加 seed
    renyijiu
        12
    renyijiu  
       2016-11-24 09:31:57 +08:00
    在知乎上看到过一个简洁的思路,用数组存工号之类的,然后开始从 0 开始循环遍历,点击的时候停住,删除这个再继续

    和 10 楼差不多,只是这个是循环。
    Phariel
        13
    Phariel  
       2016-11-24 09:32:34 +08:00 via Android
    stacker
        14
    stacker  
       2016-11-24 09:49:11 +08:00
    Senevan
        15
    Senevan  
       2016-11-24 10:50:27 +08:00 via Android
    @DeepCold 第二个,希望能提供一点思路,不谢~
    Senevan
        16
    Senevan  
       2016-11-24 10:51:03 +08:00 via Android
    @DeepCold jsconfcn/raffle
    cjjia
        17
    cjjia  
       2016-11-24 11:00:30 +08:00 via Android
    @renyijiu 人多的话,排在首位和末位会不会很尴尬。。
    renyijiu
        18
    renyijiu  
       2016-11-24 12:53:47 +08:00
    @cjjia 不影响啊,重复循环的话就是个圈,位子在哪来说是一样公平的
    Quaintjade
        19
    Quaintjade  
       2016-11-24 13:23:24 +08:00 via Android
    我公司向来都是 Excel 抽的,老板按住 F9...
    jiangzhuo
        20
    jiangzhuo  
       2016-11-24 14:35:13 +08:00
    留一个后门端口,这个问题留到年会的时候慢慢改(没办法,我们年会主持人太精,变着规则方法抽奖),反正年会都好几个小时,苦逼程序员运维坐在角落也没啥事,掏出笔记本随时改改脚本注入进去。
    lonenol
        21
    lonenol  
       2016-11-24 20:38:06 +08:00
    都是用票根抽奖啊...可以排除掉没参加年会的..
    fenngBig
        22
    fenngBig  
       2016-11-24 23:29:42 +08:00 via iPhone
    难道你们没有需求排除中高层吗 😄
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1720 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:45 · PVG 00:45 · LAX 08:45 · JFK 11:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.