Я очень новичок в Javascript/JQuery, и моя задача - сделать "угадывание словесной игры",
Я понятия не имею, как смешивать буквы одним словом, а затем, как поместить одну букву слова на кнопку.
У меня есть массив слов длиной 6 букв. Когда пользователь нажимает кнопку "Старт", происходит случайное слово всего массива. Это его код:
var words = ["abacus", ".....", "zygote"]
$( "#start" ).on('click', function() {
var rand = Math.floor( Math.random() * words.length );
alert(words[rand]);
});
Это то, что у меня есть до сих пор. Предупреждение только для проверки правильности кода. Так что для меня актуальной задачей является сочетание символов в слове, которое у меня есть, а затем его распространение на 6 кнопок.
Я не прошу код, только для возможных решений, но все будет оценено Спасибо заранее,
Вы можете посмотреть в функцию 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, чтобы просто создать новую кнопку, когда вы перебираете элементы массива и вводите их в контейнер.
Перемешать буквы описывается в этом сообщении: Как перетасовать символы в строке в JavaScript?
Затем повторите все перетасованные буквы с помощью цикла for и создайте кнопку для каждой буквы.
Я привел пример для вас по адресу http://jsfiddle.net/Mz39e/
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());
}))
}