我想在其他广告位之间随机生成错误的数字。
例如:正确答案是4,但我想让其他老虎机在正确答案之间给出错误的答案。
有人能给我一个实现这个目标的线索吗?提前谢谢你!
抱歉我的英语不好,如果你没有得到我的问题。
var operators = {
"signOne": [
{
sign: "+",
method: function(a,b) {return a+b}
},
{
sign: "-",
method: function(a,b) { return a-b}
}
]};
var selectedOperatorA = Math.floor(Math.random()*operators.signOne.length);
this.hiddenTotalValue = operators.signOne[selectedOperatorA].method(this.valueA, this.valueB);
这是我正确答案的输出。
答案 0 :(得分:1)
你可以:
代码:
var answer = 9 - 5,
list = [
answer,
answer - 1 - ((Math.random() * 10) | 0),
answer + 1 + ((Math.random() * 10) | 0)
];
list.sort(function(a, b) { return Math.random() - 0.5; });
console.log(list);
示例输出:
[2, 8, 4]
如果需要,列表中正确答案的位置将由list.indexOf(answer);
给出。
答案 1 :(得分:0)
您可以计算真实答案calcAnswer()
,然后创建一个函数来创建比实际答案calcOtherAnswers()
小result
的随机数,只要answer
< dynamic_cast
(4或您的情况下的任何内容)然后生成一个数字。
答案 2 :(得分:0)
尝试使用Math.random();函数生成随机数。
<强> HTML 强>
<div id="first"></div>
<div id="second"></div>
<div id="third"></div>
<强> JS 强>
var first = Math.floor((Math.random() * 10) + 1);
var second = Math.floor((Math.random() * 10) + 1);
while( second === first ){
second = Math.floor((Math.random() * 10) + 1);
}
var third = Math.floor((Math.random() * 10) + 1);
while( third === first || third === second ){
third = Math.floor((Math.random() * 10) + 1);
}
$("#first").html(first);
$("#second").html(second);
$("#third").html(third);
答案 3 :(得分:0)
我看到你发布了javascript的问题,我发布了一个假设该语言的答案。 从Mozilla的documentation,您可以使用函数选择最大值和最小值。
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
}
输入正确的min和max值
答案 4 :(得分:0)
var operators = {
"signOne": [
{
sign: "+",
method: function(a,b) {return a+b}
},
{
sign: "-",
method: function(a,b) { return a-b}
}
]};
var selectedOperatorA = Math.floor(Math.random()*operators.signOne.length);
this.hiddenTotalValue = operators.signOne[selectedOperatorA].method(this.valueA, this.valueB);
这是我正确答案的输出。
答案 5 :(得分:0)
执行此操作的一种简单方法是使用数组。你将正确的值推入其中,然后有一个创建随机数的循环,如果它们不在数组中,则添加它们 - 直到数组具有所需的大小/长度。