2014-10-31 2 views
-2

Хорошо, вот мой код, кто-нибудь знает, как это исправить? он даже не запустится.Ошибка синтаксиса Javascript: отсутствует) после списка аргументов: на col 61

<!DOCTYPE html> 

<html> 
<head> 
<title>Hiding Game</title> 
<meta charset="UTF-8" /> 
<link rel="stylesheet" type="text/css" href="proj3.css" /> 
</head> 
<body> 

<script type="text/javascript"> 
    var counter = 0; 
     document.writeln("<table>") 
     document.writeln("<th>Day</th>") 
     document.writeln("<th>Hiding Place</th>") 
     document.writeln("<th>Explosion</th>") 
    do{ 
     counter = counter + 1 
     var hide = Number(prompt("It is day " + counter + ". Where will you hide (1, 2, 3, or 4)?")); 
     var explosionLocation = Math.floor(Math.random() * 4) + 1; 
      if (hide <1 || hide >4) { 
       alert("That is not a valid choice.") 
      } 
      else { 
       alert("Hiding place " + explosionLocation + " has exploded!") 
       if (hide !== explosionLocation) { 
        alert("You have survived!") 
        document.writeln("<tr><th>" + counter + "</th><td class='survived'>" + hide + "</td><td class='survived'>" + explosionLocation + "</td></tr>") 
       } 
       else { 
       alert("You have died. You survived for a total of " counter - 1 " days.") 
       document.writeln("<tr><th>" + counter + "</th><td class='died'>" + hide + "</td><td class='survived'>" + explosionLocation + "</td></tr>"") 
       document.writeln("<tr colspan='3'><td>"'Survived for ' + counter - 1 + ' days""</td></tr>") 
       } 
      } 
    } while (explosionLocation !== hide) 




</script> 

Если кто-то может помочь ему было бы весьма признателен. Код должен генерировать игру, в которой пользователь пытается избежать шанса на смерть от 1 до 4.

+1

У вас есть опечатка в конце этой строки. Слишком много кавычек. –

+1

Вам следует научиться устранять неполадки в коде. Это то, что вы будете делать все время при программировании. Если вы просто не можете обнаружить ошибку, попробуйте прокомментировать строки вокруг данной области, пока ошибка не исчезнет, ​​а затем внимательно изучите свой синтаксис. –

+2

Я думаю, вы должны попробовать немного сложнее, прежде чем размещать свой вопрос здесь –

ответ

0

Это должно быть минимальным, чтобы получить код работает:

var counter = 0; 
    document.writeln("<table>") 
    document.writeln("<th>Day</th>") 
    document.writeln("<th>Hiding Place</th>") 
    document.writeln("<th>Explosion</th>") 
do{ 
    counter = counter + 1 
    var hide = Number(prompt("It is day " + counter + ". Where will you hide (1, 2, 3, or 4)?")); 
    var explosionLocation = Math.floor(Math.random() * 4) + 1; 
     if (hide <1 || hide >4) { 
      alert("That is not a valid choice.") 
     } 
     else { 
      alert("Hiding place " + explosionLocation + " has exploded!") 
      if (hide !== explosionLocation) { 
       alert("You have survived!") 
       document.writeln("<tr><th>" + counter + "</th><td class='survived'>" + hide + "</td><td class='survived'>" + explosionLocation + "</td></tr>") 
      } 
      else { 
      alert("You have died. You survived for a total of " + (counter - 1) + " days.") 
      document.writeln("<tr><th>" + counter + "</th><td class='died'>" + hide + "</td><td class='survived'>" + explosionLocation + "</td></tr>") 
      document.writeln("<tr colspan='3'><td>Survived for " + (counter - 1) + " days</td></tr>") 
      } 
     } 
} while (explosionLocation !== hide) 

Три основные линии, которые были изменены следующие:

  alert("You have died. You survived for a total of " + (counter - 1) + " days.") 
      document.writeln("<tr><th>" + counter + "</th><td class='died'>" + hide + "</td><td class='survived'>" + explosionLocation + "</td></tr>") 
      document.writeln("<tr colspan='3'><td>Survived for " + (counter - 1) + " days</td></tr>") 
      } 

Несколько котировок были несоответствующими, и вам нужно разместить круглые скобки вокруг counter - 1, если вы хотите, чтобы на самом деле делали математику. В противном случае JavaScript смущает то, о чем вы просите, когда вы размещаете - в середине объединения строк.

+0

ОК спасибо! и знаете ли вы, есть ли способ сделать это просто сказать «день», если результат всего 1 день? –

+0

Вам нужно будет обернуть эту часть кода в инструкции if и проверить, является ли результат всего за один день до принятия решения о выходе «дня» или «дней». – KoratDragonDen

1

Вы забыли Concat строку с символом + в последние 3 предупреждений

alert("You have died. You survived for a total of " + (counter - 1) + " days.") 
document.writeln("<tr><th>" + counter + "</th><td class='died'>" + hide + "</td><td class='survived'>" + explosionLocation + "</td></tr>") 
document.writeln("<tr colspan='3'><td>Survived for " + (counter - 1) + " days</td></tr>") 
+0

ОК спасибо! и знаете ли вы, если есть способ сделать это, просто скажите «день», если результат будет только 1 день –

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