2016-10-07 6 views
-2

Я пытаюсь построить игру палача, и мне нужна помощь в логике. Я нахожусь в классе новичков, поэтому я хочу попытаться построить его, используя синтаксис новичков. Что я пытаюсь выяснитьЛогика игры палача с javascript

2) Моя проблема в том, что мне нужно отображать тире (-), которые представляют пустые строки, и они должны быть одинаковой длины случайно выбранного слова. Кроме того, каждый раз, когда письмо правильно догадывается, мне нужно заменить тире правильно выбранной буквой. Решение, о котором я подумал, делает пустой массив, а затем присваивает ему знаки штриха в цикле for, который является длиной строки, а затем заменяет индексы конкретных тире совпадающими буквами, но я не уверен, будет ли это работать ,

var randomWords = ['rock', 'paper', 'scissors']; 
var numWins = 0; 
var chosenWord = randomWords[Math.floor(Math.random() * randomWords.length)]; 
document.onkeyup = function(event) { 
    // var userGuess = String.fromCharCode(event.keyCode).toLowerCase(); 
    var dashes = ""; 
    for (var x = 0; x < chosenWord.length; x++) { 
     dashes += " - "; 
     // document.getElementById("word").innerHTML = blankLines; 
     // document.getElementById("word").innerHTML = ; 
    } 
    document.getElementById("word").innerHTML = dashes; 

Попытка заменить тире буквой в строках ниже. Но и прокомментированный код, и коды без комментариев работают. Вот почему я имею в виду использование пустой массив, но не уверен, если я могу заполнить его с данными, используя цикл FOOR

 // for (x = 0; x < chosenWord.length; x++) 
    // { 
    //   dashes[x] = "a"; 
    //   dahes.charAt(x) = 'a'; 
    // } 
    dashes.charAt(0) = "a"; 
    document.getElementById("test2").innerHTML = dashes; 
+0

Если вы не уверены, если он будет работать, вы должны попробовать и узнать;) Ваша идея замены строк в массиве является хорошим, и я хотел бы предложить вам пойдите таким образом. Читайте в ['join'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join). Это поможет вам много, когда вы хотите отобразить то, что находится в массиве. –

+0

Кажется, вы на самом деле не задали вопрос. Stack Overflow - это не бесплатная служба написания кода. Проверьте [ask]. – zzzzBov

ответ

0

Это один должен работать. В первом случае (если в слове есть пробел), он отображает пробелы. Во втором случае он заменяет каждую букву слова тире.

var dashes = ""; 
 

 

 
for (i = 0; i < chosenWord.length; i++) { 
 
    if (chosenWord.charAt(i) == " ") { 
 
    dashes += " "; 
 
    } else { 
 
    dashes += "-"; 
 
    } 
 
}

+0

Я сделал эту игру несколько месяцев назад, я могу отправить вам код, если хотите. –

+0

Хорошо, конечно. Но я не буду смотреть на него, пока я не буду полностью в тупике и ничего не сделаю. – henhen

Смежные вопросы