Новое в программировании и попытка завершить игру с угадыванием слов. Я столкнулся с ошибкой с моими циклами, где 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>
Вы использовали 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 = "";
Я добавил это в решение, указанное в моей ссылке выше.
document.getElementbyId is not a function
Это именно то, что говорит ошибка. Капитализация имеет значение в программировании