imyip
V2EX  ›  问与答

怎么控制抽奖概率?程序如何设置

  •  
  •   imyip · Jul 7, 2015 · 8579 views
    This topic created in 3990 days ago, the information mentioned may be changed or developed.
    现在公司要做一个转盘抽奖程序,现给出每个奖品的数量和结束时间(估计奖品可以不用抽完....),请问如何合理安排中奖概率呢?
    P.S 使用PHP语言开发,前端做好了
    12 replies    2015-07-07 13:44:16 +08:00
    b821025551b
        1
    b821025551b  
       Jul 7, 2015
    看你打算发多少了,多发概率就大,少发概率就小呗
    66beta
        2
    66beta  
       Jul 7, 2015
    我做过一个傻办法的,先判断还有没有库存,有就rand(0,1)
    然后根据活动天数,平均分配下每天的库存
    sy1989
        3
    sy1989  
       Jul 7, 2015
    先估算下来抽奖的人数,之后人数按前一天的算
    imyip
        4
    imyip  
    OP
       Jul 7, 2015
    @b821025551b 公司那边不给概率,预计不了抽奖人数 怕设计概率高了,人都抽不到了
    @66beta 我现在的思路也是这样 平均每天分出来
    yeyeye
        5
    yeyeye  
       Jul 7, 2015
    不给概率 不预计人数

    这需求牛逼。得,小兄弟,你设置个选项给他们自己选吧。
    yeyeye
        6
    yeyeye  
       Jul 7, 2015
    接楼上,其实就是一个总数里面随机挑选一条出来就可以了 要抽多少个 就抽取多少次 人为控制

    这样的缺点是要人一个个去抽取
    c24c4fe8
        7
    c24c4fe8  
       Jul 7, 2015
    预先将结果写到表里面 用的时候前台显示个动画就行了。
    c24c4fe8
        8
    c24c4fe8  
       Jul 7, 2015
    怎么还不能编辑自己已经发布的消息呢

    预先将哪些中奖的结果算好放到表里面, 用的时候前台显示个动画就行了。
    soolby
        9
    soolby  
       Jul 7, 2015
    你们产品经理是干嘛的 -。-
    imyip
        10
    imyip  
    OP
       Jul 7, 2015
    @yeyeye 我后台设置概率让他们填,并且红字提示
    @c24c4fe8 对呀,用户进来就确定是否中奖了
    @soolby 产品经理开完会就不见人了
    gamexg
        11
    gamexg  
       Jul 7, 2015
    告诉你一个很简单的办法,按时间随机。

    预先把获奖结果平均分配到抽奖时间里面去,例如:

    总奖励数/总抽奖小时 = 每小时中奖次数。然后在每小时的时间段里面在随机分配本小时的奖励,例如第一个奖励随机到了15分31秒,那么15分31秒之后第一个抽奖的就会中这个奖。

    不过你需要估计一下夜间是不是有人抽奖,分配多少奖励等。还要控制一下最高奖是打算在什么时段出。中奖时间点完全可以提前生成,出现夜间抽奖预期错误等也可以重新生成之后的中奖时间点。
    elyamen
        12
    elyamen  
       Jul 7, 2015
    为什么不买个靶子用射的办法?还能增添趣味性和刺激性。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5129 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 74ms · UTC 05:41 · PVG 13:41 · LAX 22:41 · JFK 01:41
    ♥ Do have faith in what you're doing.