【发布时间】:2017-07-24 23:28:05
【问题描述】:
我不确定这是否是发布的正确位置,因为这更多的是代码背后的逻辑,而不是关于实际代码的问题,但我将从这里开始。我在一个为期 3 天的会议上经营一个展位。每个参加会议的人都会得到一个印有号码的礼包。在我的展位,他们可以检查他们的号码是否是中奖号码。我正在创建一个简单的网络工具,它有一个旋转的轮子动画来检查他们是否是获胜者之一。
假设有 2000 人参加会议(只有 4 个“大奖”,其他人都赢了一支笔”现在代码设置为简单的 if else 语句,说明您的号码是否为 w、x、y ,或者z你是赢家,其他人都赢了一支笔。我们在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 大赢家根本不出现在展位上,让我们剩下的奖品。我缺少这背后的逻辑吗?我有点不知所措。
鉴于我在上面试图解释的逻辑,有没有更好的方法来做到这一点?提出的一个想法是让获胜者成为一天中特定时间后第一个到展位的人,但不太确定如何实现这一点
【问题讨论】:
-
除此之外,还有WheelDecide,它提供了您正在寻找的东西。
-
我已经构建了类似的东西。我只是在制作这个的逻辑方面更多地寻求帮助。强迫获胜者在特定时间段内确保有获胜者,但不是所有的获胜者都发生在第一天,(即使这种可能性非常低
-
可以这样做,在整个活动过程中随机产生4个时间点,每个时间点后第一个来到展位的人获胜。这样你就不必担心它们被选得太近了,而且你还拥有你想要的随机元素。为此,请围绕随机时间生成器构建一些逻辑,但您选择生成时间的日期。 stackoverflow.com/questions/31378526/…
-
@88jayto 谢谢!这就是我一直在寻找的答案!
标签: javascript jquery