【发布时间】:2017-02-23 13:07:52
【问题描述】:
我有一个乘法游戏,我想要一个随机数 12 次,但是如果没有重复一个数字,我怎么能得到它。这是我尝试过的,但我不断返回“未定义”。 (我使用的是 Firefox 51.0.1)
$(".input").val("");
var numbers_used = [];
var current_number = 0;
var max_num = 12;
var base_number = parseInt(prompt("Enter which table you want to practice.", "5"));
var maxScore = 12;
var questionsAnswered = 0;
var questionsAnsweredCorrect = 0;
var questionsAnsweredWrong = 0;
var asked1 = false;
var asked2 = false;
var asked3 = false;
var asked4 = false;
var asked5 = false;
var asked6 = false;
var asked7 = false;
var asked8 = false;
var asked9 = false;
var asked10 = false;
var asked11 = false;
var asked12 = false;
function new_random_number() {
var new_current_number = Math.round(Math.floor((Math.random() * max_num) + 1));
return new_current_number;
}
function overallNumber() {
current_number = new_random_number();
if((current_number == 1 && !asked1) ||
(current_number == 2 && !asked2) ||
(current_number == 3 && !asked3) ||
(current_number == 4 && !asked4) ||
(current_number == 5 && !asked5) ||
(current_number == 6 && !asked6) ||
(current_number == 7 && !asked7) ||
(current_number == 8 && !asked8) ||
(current_number == 9 && !asked9) ||
(current_number == 10 && !asked10) ||
(current_number == 11 && !asked11) ||
(current_number == 12 && !asked12)
){
if(current_number == 1)
asked1 = true;
if(current_number == 2)
asked2 = true;
if(current_number == 3)
asked3 = true;
if(current_number == 4)
asked4 = true;
if(current_number == 5)
asked5 = true;
if(current_number == 6)
asked6 = true;
if(current_number == 7)
asked7 = true;
if(current_number == 8)
asked8 = true;
if(current_number == 9)
asked9 = true;
if(current_number == 10)
asked10 = true;
if(current_number == 11)
asked11 = true;
if(current_number == 12)
asked12 = true;
return current_number;
} else overallNumber();
当我不断调用此函数时,它开始返回“未定义”。任何解决方案?谢谢 :)
【问题讨论】:
-
用户数组来存储你的变量请不要写20行代码你可以写3...
-
我建议使用一个数组来保存使用过的数字,只要你发现你生成的数字已经在那个使用过的数字数组中,就一直生成一个随机数
-
一个词...循环!
-
@ZakTheHat 你试过什么?向我们展示您尝试过什么但没有奏效
标签: javascript html undefined