Получение ошибки при запуске кода в консоли JS

#javascript

#javascript

Вопрос:

Я работаю над собственной приключенческой игрой на JS с некоторыми HTML и CSS для пользовательского интерфейса и дизайна.

Когда я выбираю опцию «Подземелье», отображаются другие варианты, такие как «Я думаю, я вздремну» и т. Д. Но ни одна из этих кнопок не работает… Я получаю сообщение об ошибке «Неперехваченная ошибка ссылки: направление 4 не определено Строка: 1 Неперехваченная ошибка ссылки: направление 4 не определено»

Я знаю, что это простое решение, но, похоже, я не могу в этом разобраться…

Вот мой код по внешней ссылке: https://shrib.com/#Bailee7abrjpg

 function Direction (Choice) {
  if (Choice == 'left' || Choice == 'right') {
    document.getElementById('result').innerHTML = '<br><br>A giant black spider descends from the ceiling!<br>You look up and it stares at you through bloody red eyes.<br> <br>Do you run for your life or stay?'
    document.getElementById('left1').style.display = 'none'
    document.getElementById('right1').style.display = 'none'
    document.getElementById('escape1').style.display = 'none'
    document.getElementById('result').style.display = 'inline'
    document.getElementById('left2').style.display = 'inline'
    document.getElementById('right2').style.display = 'inline'
    document.getElementById('escape2').style.display = 'inline'
  }

  if (Choice == 'escape') {
    document.getElementById('result').innerHTML = '<br>GAME OVER<br><br>'
    document.getElementById('left1').style.display = 'none'
    document.getElementById('right1').style.display = 'none'
    document.getElementById('escape1').style.display = 'none'
    document.getElementById('tryagain').style.display = 'block'
    document.getElementById('result').style.display = 'inline'
  }
}

function Direction2 (Choice) {
  if (Choice == 'left2') {
    document.getElementById('result2').innerHTML = '<br><br>You run away from the spider and see three rooms. Choose one to enter.<br><br>'
    document.getElementById('left2').style.display = 'none'
    document.getElementById('right2').style.display = 'none'
    document.getElementById('escape2').style.display = 'none'
    document.getElementById('result2').style.display = 'inline'
    document.getElementById('A').style.display = 'inline'
    document.getElementById('B').style.display = 'inline'
    document.getElementById('C').style.display = 'inline'
  }

  if (Choice == 'right2') {
    document.getElementById('result2').innerHTML = "<br><br>The spider caught you in its web. You're trapped...<br> <br> GAME OVER <br>"
    document.getElementById('left2').style.display = 'none'
    document.getElementById('right2').style.display = 'none'
    document.getElementById('escape2').style.display = 'none'
    document.getElementById('tryagain').style.display = 'inline'
    document.getElementById('result2').style.display = 'inline'
  }

  if (Choice == 'escape2') {
    document.getElementById('result2').innerHTML = '<br>GAME OVER<br>'
    document.getElementById('left2').style.display = 'none'
    document.getElementById('right2').style.display = 'none'
    document.getElementById('escape2').style.display = 'none'
    document.getElementById('tryagain').style.display = 'inline'
    document.getElementById('result2').style.display = 'inline'
  }
}

function Direction3 (Choice) {
  if (Choice == 'A') {
    document.getElementById('result3').innerHTML = "<br><br>You enter a dark dungeon. There's weapons hanging on the wall and everything is covered in dust. It seems like no one has been here for a long time. But, there's a candle still lit on the table..."
    document.getElementById('A').style.display = 'none'
    document.getElementById('B').style.display = 'none'
    document.getElementById('C').style.display = 'none'
    document.getElementById('result3').style.display = 'inline'
    document.getElementById('blue').style.display = 'inline'
    document.getElementById('red').style.display = 'inline'
    document.getElementById('yellow').style.display = 'inline'
    document.getElementById('green').style.display = 'inline'
    document.getElementById('pink').style.display = 'inline'
  }

  if (Choice == 'B') {
    document.getElementById('result3').innerHTML = '<br>You approach a dark oak chest. The lock is broke and you open it up. Brilliant golden light beams up to brighten the room. There are treasures of every kind in the chest. Oh no! A dragon! You died. GAME OVER<br>'
    document.getElementById('A').style.display = 'none'
    document.getElementById('B').style.display = 'none'
    document.getElementById('C').style.display = 'none'
    document.getElementById('tryagain').style.display = 'inline'
    document.getElementById('result3').style.display = 'inline'
  }

  if (Choice == 'C') {
    document.getElementById('result3').innerHTML = "<br>An enormous dragon breathing fire into the air! It's chained to the wall, but it looks like it wants to break free! It has broken free! And its breathing fire down onto everything! You've burned alive. GAME OVER <br>"
    document.getElementById('A').style.display = 'none'
    document.getElementById('B').style.display = 'none'
    document.getElementById('C').style.display = 'none'
    document.getElementById('tryagain').style.display = 'inline'
    document.getElementById('result3').style.display = 'inline'
  }
}

function Direction5 (Choice) {
  if (Choice == 'red2') {
    document.getElementById('result5').innerHTML = '<br>Choice 2'
    document.getElementById('result5').style.display = 'inline'
    document.getElementById('blue2').style.display = 'none'
    document.getElementById('red2').style.display = 'none'
    document.getElementById('yellow2').style.display = 'none'
    document.getElementById('pink2').style.display = 'none'
    document.getElementById('green2').style.display = 'none'
    document.getElementById('yes').style.display = 'inline'
    document.getElementById('no').style.display = 'inline'
  }

  if (Choice == 'blue2' || Choice == 'yellow2' || Choice == 'pink2' || Choice == 'green2') {
    document.getElementById('result5').innerHTML = "<br><br>I see the exit! I'm free!"
    document.getElementById('result5').style.display = 'inline'
    document.getElementById('blue2').style.display = 'none'
    document.getElementById('red2').style.display = 'none'
    document.getElementById('yellow2').style.display = 'none'
    document.getElementById('pink2').style.display = 'none'
    document.getElementById('green2').style.display = 'none'
    document.getElementById('tryagain').style.display = 'inline'
  }
}

function Direction6 (Choice) {
  if (Choice == 'yes') {
    document.getElementById('result6').innerHTML = '<br><br>Yes Option<br>'
    document.getElementById('yes').style.display = 'none'
    document.getElementById('no').style.display = 'none'
  }

  if (Choice == 'no') {
    document.getElementById('result6').innerHTML = '<br><br>No Option'
    document.getElementById('yes').style.display = 'none'
    document.getElementById('no').style.display = 'none'
    document.getElementById('tryagain').style.display = 'inline'
  }
}

function TryAgain () {
  Direction()
  document.getElementById('result3').style.display = 'none'
  document.getElementById('result4').style.display = 'none'
  document.getElementById('result5').style.display = 'none'
  document.getElementById('result6').style.display = 'none'
  document.getElementById('left1').style.display = 'inline'
  document.getElementById('right1').style.display = 'inline'
  document.getElementById('escape1').style.display = 'inline'
  document.getElementById('left2').style.display = 'none'
  document.getElementById('right2').style.display = 'none'
  document.getElementById('escape2').style.display = 'none'
  document.getElementById('result').style.display = 'none'
  document.getElementById('result2').style.display = 'none'
  document.getElementById('tryagain').style.display = 'none'
}
 

Комментарии:

1. не могли бы вы поместить код здесь, в сообщение, пожалуйста, проблема в ссылке!

2. согласно ошибке, у вас не определено Direction4. У вас есть Direction1, Direction2, Direction3, Direction5, вы пропустили 4.

3. Привет, кто-то особенный. Я заметил это и определил Direction4, но, похоже, это не исправило ошибку! Это создало новую ошибку. Поэтому я снова удалил Direction4, поскольку по какой-то причине это, похоже, не решило проблему. Возможно, я неправильно создал Direction4, когда пытался реализовать исправление

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

5. Вы можете обернуть свой код двумя наборами тройных обратных меток («), чтобы он был правильно отформатирован.