Javascript - как смешать буквы в 6-буквенное слово и поместить каждую букву в определенную кнопку

0

Я очень новичок в Javascript/JQuery, и моя задача - сделать "угадывание словесной игры",

Я понятия не имею, как смешивать буквы одним словом, а затем, как поместить одну букву слова на кнопку.

У меня есть массив слов длиной 6 букв. Когда пользователь нажимает кнопку "Старт", происходит случайное слово всего массива. Это его код:

var words = ["abacus", ".....", "zygote"]
$( "#start" ).on('click', function() {
var rand = Math.floor( Math.random() * words.length );
alert(words[rand]);
});

Это то, что у меня есть до сих пор. Предупреждение только для проверки правильности кода. Так что для меня актуальной задачей является сочетание символов в слове, которое у меня есть, а затем его распространение на 6 кнопок.

Я не прошу код, только для возможных решений, но все будет оценено Спасибо заранее,

Теги:

2 ответа

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, чтобы просто создать новую кнопку, когда вы перебираете элементы массива и вводите их в контейнер.

0

Перемешать буквы описывается в этом сообщении: Как перетасовать символы в строке в 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());

    }))    

}
  • 0
    Спасибо за ваши ответы, очень признателен!
  • 0
    Если вы считаете это ответом на свой вопрос, отметьте его как ответ :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню