Устранение ошибок js при игре в слова

1

Новое в программировании и попытка завершить игру с угадыванием слов. Я столкнулся с ошибкой с моими циклами, где jslint сообщает мне, что проблема "use strict". Я получаю неопределенное сообщение об ошибке на консоли. Не могу понять, почему даже после обширного поиска в Google.

Ниже приведен список js и соответствующий html внизу. Любая помощь была бы так оценена!


var randomWordArr = ['Tyrannosaurus', 'Stegosaurus', 'Velociraptor'];

//choose random word from the dino array
var randomWord = randomWordArr[Math.floor(Math.random() * randomWordArr.length)];

var s;
var count = 0;

var answerArray = [];


function startGame() {
  // Set up the answer array
  for (var i = 0; i < randomWord.length; i++) {
    answerArray[i] = "_";
  }

  s = answerArray.join(" ");
  document.getElementById("answer").innerHTML = s;
}

function Letter() {
  //get the letter typed in the box
  var letter = document.getElementById("letter").value;

  //make sure we have a guess(can add more checks liek only letters, etc)
  if (letter.length > 0) {
    for (var i = 0; i < randomWord.length; i++) {
      if (randomWord[i] === letter) {
        //assign it to letter
        answerArray[i] = letter;
      }
    }

    count++;
    document.getElementbyId("counter").innerHTML = "No. of clicks " + count;
    document.getElementbyId("answer").innerHTML = answerArray.join(" ");
  }
}

onload = "startGame()";
<form id="hangmanForm">
<input id="letter" type="text">
<input type="button" value="letter" onClick="Letter()" />
     <p id="answer"></p>
     <p id="counter"></p>
     <p id="stat"></p>
</form>
  • 0
    Можете ли вы добавить точную ошибку?
  • 1
    document.getElementbyId is not a function Это именно то, что говорит ошибка. Капитализация имеет значение в программировании
Показать ещё 2 комментария
Теги:

1 ответ

0
Лучший ответ

Вы использовали getElementbyId() в своем javascript. Это должен быть getElementById(), то есть он должен иметь верхний регистр B для By.

Следовательно, код должен быть:

document.getElementById("counter").innerHTML = "No. of clicks " + count;
document.getElementById("answer").innerHTML = answerArray.join(" ");

Чтобы разрешить запуск кода, вам нужно вызвать функцию StartGame в конце java-скрипта, используя следующую строку кода:

startGame();

Вы можете найти рабочую версию кода здесь.

Дальнейшее улучшение, которое можно сделать с точки зрения самой игры, заключается в том, что текстовое поле письма можно очистить после каждой записи, чтобы оно было готово для следующего ввода. Это можно сделать следующим образом:

document.getElementById("letter").value = "";

Я добавил это в решение, указанное в моей ссылке выше.

  • 1
    Опечатки не по теме. Комментирование уместно; пометка / голосование по закрытию уместно; нет ответа, если опечатка - единственное, что вы отвечаете.
  • 0
    Спасибо! Я должен был поймать это. Однако есть ошибка, вызываемая задолго до этого с помощью: for (var i = 0; i <randomWord.length; i ++) {
Показать ещё 4 комментария

Ещё вопросы

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