抽奖的“随机数”生成器背后的逻辑?

时间:2017-07-24 23:28:05

标签: javascript jquery

我不确定这是否是发布的正确位置,因为这是代码背后的逻辑,而不是关于实际代码的问题,但我将从这里开始。我在一个为期3天的会议上开了一个摊位。每个参加会议的人都会得到一个带有号码的礼品袋。在我的摊位,他们可以检查他们的号码是否是中奖号码。我正在创建一个简单的Web工具,它具有一个旋转轮动画,可以检查它们是否是获胜者之一。

假设有2000人参加会议(只有4个“大奖”,其他人都赢了笔“现在代码设置为简单的if else语句,如果你的号码是w,x,y ,或者你是胜利者,其他人都赢了笔。我们在1-2000的范围内随机设置中奖号码(或者特别选择它们并不重要,我不认为)。

这是代码的简单版本:

HTML

<p>
Numbers 1-4 are winning numbers
</p>

<form id="form">
    <input id="code" type="text" name="code" placeholder="Code" onfocus="this.placeholder=''" onblur="this.placeholder='Code'">
</form>
<button id="submit">Submit your number</button>
<div class="prize">

</div>

JS

$( document ).ready(function() {
  $( "#submit" ).click(function(){
      $('.prize').addClass('show');
      var prize = document.getElementById('code').value;
          console.log(prize);
          if (prize == 1){
              $('.prize').html('<span style="color:red">YOU WIN AN IPAD</span>');
          } else if (prize == 2){
              $('.prize').html('<span style="color:red">YOU WIN AN IPAD</span>');
          } else if (prize == 3){
              $('.prize').html('<span style="color:red">YOU WIN AN IPAD</span>');
          } else if (prize == 4){
              $('.prize').html('<span style="color:red">YOU WIN AN IPAD</span>');
          } else {
              $('.prize').html('<span style="color:red">YOU WIN A PEN</span>');
          }
  });
});

CSS

.prize{
  display: none;
}
.prize.show{
  display: block;
}

这是小提琴:https://jsfiddle.net/zm6gjkvt/

我遇到的问题是我们希望这有一个更随机的感觉就像拉斯维加斯轮盘赌表,看看你是否击中了中奖号码。此外,即使赔率非常低,我们也不希望所有的大赢家都在第一天,而且我们不想让4位大赢家冒险出现在我们面前剩下的奖品。这背后有一个逻辑,我错过了吗?我有点不知所措。

鉴于上面我试图解释的逻辑是否有更好的方法来做到这一点?提出的一个想法是在一天的某个时间之后成为第一个参加展位的人,不太确定如何实现这一目标

1 个答案:

答案 0 :(得分:0)

<88> @ 88Jayto回答了我的问题,我在寻找什么。在另一个问题之后随机生成4次:Generate random date between two dates and times in Javascript