我正在为小学生创造一种“打鼹鼠”风格的游戏,他们必须根据给定的总和点击正确的数字。
目前该程序正在生成这样的额外总和。
function createPlusSum(total) {
console.log(total)
var int1 = Math.ceil(Math.random() * total);
var int2 = total - int1;
$('#target').html(int1 + ' + ' + int2 + ' = ?');
}
我已经为减法再次做了这个并且它有效,但我不知道从哪里开始随机化是否产生加法或减法问题。这是产生减法问题的函数。
function createTakeSum(total) {
console.log(total)
var int1 = Math.ceil(Math.random() * total);
var int2 = total + int1;
$('#target').html(int2 + ' - ' + int1 + ' = ?');
}
我用它来创建额外的总和
createPlusSum(total);
我怎么说我想要
createPlusSum(total);
或
createTakeSum(total);
答案 0 :(得分:1)
我会再次使用随机数字:
var rand = Math.floor(Math.random()*2);
switch (rand) {
case 0:
createPlusSum(total);
break;
case 1:
createTakeSum(total);
break;
}
答案 1 :(得分:1)
试试这个:
function createSum() {
total = Math.ceil(Math.random() * 10);
if(Math.random() > 0.5)
{
createTakeSum(total);
} else {
createPlusSum(total)
}
}
答案 2 :(得分:0)
我并不是说你应该这样做,但我只是提供一个彻底的替代答案。 (对不起,如果代码错了。我对JS有点生疏。
{
0: createPlusSum,
1: createTakeSum
}[Math.floor(Math.random() * 2)](total);
答案 3 :(得分:0)
您可以将函数分配给数组字段并随机调用它们。
var func = new Array();
func[0] = function createPlusSum(total) {....};
func[1] = function createTakeSum(total) {....};
var rand = Math.floor(Math.random() * func.length);
func[rand](total);
这应该可以解决问题,而且你可以添加任意数量的函数,只需将它们附加到“func”-array
答案 4 :(得分:0)
这是一个在给定范围内创建随机“添加”或“减去”问题的脚本,并在console.log中发布正确的答案:
<div id="target"></div>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.3.min.js" type="text/javascript"></script>
<script type="text/javascript">
var total = {low: 10, high: 30}; // range
jQuery(document).ready(function() {
var total = Math.floor(Math.random() * (total.high - total.low) + total.low);
var int1 = Math.floor(Math.random() * total);
var int2 = total - int1;
if (Math.random() > 0.5) { // add
var question = int1 + ' + ' + int2 + ' = ?';
var answer = total;
}
else { // subtract
var question = total + ' - ' + int1 + ' = ?';
var answer = int2;
}
$('#target').html(question);
console.log('Correct answer: ' + answer);
});
</script>
这是工作jsFiddle example