我正在创建一个刽子手游戏,我正在从预定义的数组中选择一个随机单词。
像这样:
// Select random word to guess
function getWord() {
var a = new Array('one', 'two', 'three', 'four');
return a[parseInt(Math.random() * a.length)];
}
我想做的是阻止它两次或两次以上选择同一个词。目前,当使用一个小的单词数组时,它有时会连续重复同一个单词2或3次。
我不太确定如何着手解决这个问题。
首先,我想也许把这个词插入一个新的变量中,然后进行比较,但不确定这是一个很好的方法
任何想法都会有帮助。谢谢
您可以使用array splice
移除随机位置的元素,然后当数组长度为0
时,重新初始化它
类似这样的东西:
var all_words = [];
function getWord() {
if (all_words.length === 0) {
all_words = new Array('one', 'two', 'three', 'four');
}
var randIndex = parseInt(Math.random() * all_words.length);
var chosenWord = all_words.splice(randIndex, 1);
return chosenWord;
}
这是一个演示。