我正在构建一个随机拼写测验,它工作正常。为了使它更好,我想添加很多单词,但如果我这样做十个,我只希望用户正确拼写其中的 10 个单词。我的问题是我从哪里开始?
问问题
90 次
1 回答
1
假设你有你的话在一个列表中:
var words:Array = ['chicken', 'pig', 'cow', 'sheep'];
随机排列单词列表
Fisher-Yates实现取自http://bost.ocks.org/mike/shuffle/
function shuffle(array) {
var m = array.length, t, i;
// While there remain elements to shuffle…
while (m) {
// Pick a remaining element…
i = Math.floor(Math.random() * m--);
// And swap it with the current element.
t = array[m];
array[m] = array[i];
array[i] = t;
}
return array;
}
var shuffledWords:Array = shuffle(words);
trace(shuffledWords); // Prints ['sheep', 'chicken', 'cow', 'pig']
取一片
var selectedWords = shuffledWords.slice(0, 2);
trace(selectedWords); // Prints ['sheep', 'chicken']
在这种情况下,切片仅包含两个元素,但您可以将其更改为 10 或您想要的任何数字。
现在您可以使用单词 inselectedWords
来进行拼写测验。
于 2012-11-24T21:56:30.110 回答