我是Javascript / Jquery的初学者,我的任务是制作一个“猜单词游戏”
我不知道如何在一个单词中混合字母,然后如何在每个按钮上放一个单词。
我有一个长度为6个字母的单词数组。当用户点击“开始”按钮时,正在采用整个阵列的随机字。这是它的代码:
var words = ["abacus", ".....", "zygote"]
$( "#start" ).on('click', function() {
var rand = Math.floor( Math.random() * words.length );
alert(words[rand]);
});
这是我到目前为止所得到的。警报只是检查代码是否正确。 所以我的实际任务是在我所拥有的单词中混合字符,然后将其分散为6个按钮。
我不是要求代码,只是为了可能的解决方案,但任何事情都会受到赞赏 提前谢谢,
答案 0 :(得分:0)
在这篇文章中描述了随机播放的字母:How do I shuffle the characters in a string in JavaScript?
然后用for循环遍历所有洗牌的字母,并为每个字母创建一个按钮。
为您创建了一个示例var word = "myword";
var shuffledWord = word.shuffle();
for (var i = 0; i < shuffledWord.length; i++ ) {
createButton(shuffledWord[i]);
}
function createButton(letter) {
$("body").append($("<button/>").html(letter).on("click", function() {
// Here your button handling code
alert($(this).html());
}))
}
答案 1 :(得分:0)
您可以查看String.prototype.split()函数,您可以使用该函数将该单词分解为6个字母的数组,然后您可以查看Array.prototype.sort()函数,您可以使用它可以使用随机操作来随机化这些字母,然后你可以迭代随机字母数组,将每个字母分配给不同的按钮。像这样:
var scrambledWord = words[rand].split('').sort(function () {
var random = Math.random() * 2;
if (random < 1) {
return 1;
} else if (random > 1) {
return -1;
} else {
return 0;
}
});
要将每个字母分配给不同的按钮,您可以使用像jQuery这样的库来循环数组项时创建一个新按钮,并将它们注入容器中。