Javascript随机正确答案
我想在其他插槽之间随机生成错误的编号 正确答案是4,但我想让其他插槽在正确答案之间给出错误答案 有人能给我一个实现这一目标的线索吗?提前谢谢你 对不起,我的英语不好,如果你不明白我的问题Javascript随机正确答案,javascript,random,Javascript,Random,我想在其他插槽之间随机生成错误的编号 正确答案是4,但我想让其他插槽在正确答案之间给出错误答案 有人能给我一个实现这一目标的线索吗?提前谢谢你 对不起,我的英语不好,如果你不明白我的问题 var operators = { "signOne": [ { sign: "+", method: function(a,b) {return a+b} },
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);
这是我正确答案的输出。您可以计算真实答案
calcAnswer()
,然后创建一个函数来创建一个小于真实答案的随机数calcOtherAnswers()
,其中只要结果答案
(4或任何情况)然后生成一个数字。尝试使用Math.random();函数生成随机数
HTML
<div id="first"></div>
<div id="second"></div>
<div id="third"></div>
我看到你发布了关于javascript的问题,我正在发布一个假设使用该语言的答案。
在Mozilla上,您可以使用函数选择最大值和最小值
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
}
输入适当的最小值和最大值
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);
这是我正确答案的输出。您可以:
- 建立一个包含正确答案、较小错误答案和较大错误答案的列表
- 使用自定义随机函数对列表进行排序
代码:
示例输出:
[2, 8, 4]
如果需要,正确答案在列表中的位置将由list.indexOf(答案)给出代码>一种简单的方法是使用数组。将正确的值推入其中,然后创建一个循环,该循环创建随机数,如果它们还不在数组中,则将它们相加,直到数组具有所需的大小/长度。这样创建图案。正确答案始终是答案的最大值,这将导致通过选择中间值可以赢得的测验。玩家不需要解决数学任务,只要他注意到模式就可以找到答案。@MalteKöhrer我完全同意,但我认为这就是OP的要求。事实上,他并没有具体说明答案的位置是否应该改变。这是我自己的假设。谢谢你的回答。
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]