2016-04-27 5 views
0

я кодирования игру и в игре, когда вы умрете, я хочу конкретную игру за текст, который будет отображаться в соответствии с счетом, используя innerHTLM и если/иначе, еслипеременной Javascript с InnerHtml не работает

Я последовал за некоторые но он, похоже, не работает и не знает почему.

Вот код:

<div id="game-over"> 
     <h3><font color="orange">Tu as courus <span id="score"></span> mètres.</font></h3> 
     <font color="orange"><h1 id="customegotext">Error text not found</h1></font> 
     <a href="javascript:void(0)" class="button restart">Ressayer ?</a> 
    </div> 
    </div> 
    <script> 
    var scoretext; 
    if ("score" < 45) { 
     scoretext = "Text1"; 
    } else if ("score" > 100) { 
     scoretext = "Text2"; 
    } else if ("score" > 500) { 
     scoretext = "Text3"; 
    } else if ("score" > 750) { 
     scoretext = "Text4"; 
    } 
    document.getElementById("customegotext").innerHTML = scoretext; 
</script> 

Подробнее:

  • Переменная «оценка» является Calculater в отдельном файле .js в предписанных в технических заданиях index.html (файл, где ошибка присутствует) по этой строке кода

<script type="text/javascript" src="ljdm.js"></script>

  • Игра работает отлично (.html, .js и .css правильно связаны кодом)

  • Я новичок в программировании

Спасибо за помощь мне!

EDIT: Вот полный код игры.

Index.html:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>LE JEU DES MANDARINES</title> 
    <link rel="stylesheet" href="ljdm.css" type="text/css" media="screen"> 
    <script type="text/javascript" src="jquery.2.1.1.min.js"></script> 
</head> 
<body> 
    <div class="wrapper"> 
    <div class="sound sound-off"></div> 
    <div id="menu"> 
     <div id="progress"> 
     <div id="percent">Téléchargement: <span id="p"></span></div> 
     <progress id="progress-bar" value="0"></progress> 
     </div> 
     <div id="main"> 
     <h1>LE JEU DES MANDARINES</h1> 
     <ul> 
      <li><a href="javascript:void(0)" class="button play">JOUER</a></li> 
      <li><a href="javascript:void(0)" class="button credits">Les Credits</a></li> 
      <li><a href="javascript:void(0)" class="button howto">Comment Jouer</a></li> 
     </ul> 
     </div> 
     <div id="credits"> 
     <ul> 
     <li class="maincredits">Inspiration Première/Vidéo des Mandarines/Notre Maître a tous : <a href="https://www.youtube.com/user/legrandjd" target="_blank">LeGrandJD</a></li> 
     <li class="maincredits">Chef de projet/Idée du Jeu : <a href="https://twitter.com/k0spwn/" target="_blank">k0spwn</a></li> 
     <li class="maincredits">Graphiste : <a href="https://twitter.com/seveko00" target="_blank">Seko00</a></li> 
     </ul> 
     <ul> 
      <li class="artwork">Inspiration Première/Vidéo des Mandarines/Notre Maître a tous : <a href="https://www.youtube.com/user/legrandjd" target="_blank">LeGrandJD</a></li> 
      <li class="artwork">Character design and art: <a href="https://www.youtube.com/user/legrandjd">LeGrandJD (Julien Donzé)</a></li> 
      <li class="artwork">Animation du personnage : Seko00</li> 
      <li class="artwork">Les Plateformes: Seko00</li> 
     </ul> 
     <ul> 
      <li class="music">La Musique: <a href="https://www.youtube.com/watch?v=aHrc_F8xMXE" target="_blank">LeGrandJD (Julien Donzé)</a></li> 
      <li class="music">Jump sound effect: <a href="http://opengameart.org/content/platformer-jumping-sounds" target="_blank">dklon</a></li> 
      <li class="music">Game over music: <a href="https://twitter.com/k0spwn/" target="_blank">k0spwn</a></li> 
     </ul> 
     <ul> 
      <li class="developer">Developeurs : <a href="https://twitter.com/k0spwn/" target="_blank">k0spwn</a> et <a href="https://twitter.com/seveko00" target="_blank">Seko00</a></li> 
      <li class="developer">Developeur de la base Javascript/CSS : <a href="http://blog.sklambert.com/" target="_blank">Steven Lambert</a></li> 
     </ul> 
      <li class="addcredits">Remerciements : <br>- Etienne LAZURE <br>- Jimmy VALECILLOS <br>- Paul ALEXANDROPOULOS <br>- LeGrandJD (Evidemment) <br>- La 11VP2 (Pour nous avoir laissez travaillé en paix)</li> 
     <ul> 
     </ul> 
     <a href="javascript:void(0)" class="button back">Retour au jeu</a> 
     </div> 
     <div id="howto"> 
     <ul> 
      <h2><font color="blue">Réfere toi a ce magnifique dessin pour apprendre a jouer:</font><h2> 
     </ul> 
     <a href="javascript:void(0)" class="button back">Retour au jeu</a> 
     </div> 
    </div> 
    <canvas id="canvas" width="800" height="480"> 
     <p>Ton naviguateur Internet n'a pas les fonctionnalitée requise pour jouer a ce jeu</p> 
     <p>Veuillez télécharger un naviguateur plus récent comme <a href="www.google.com/chrome/‎">Google Chrome</a> pour pouvoir jouer</p> 
    </canvas> 
    <div id="game-over"> 
     <h3><font color="orange">Tu as courus <span id="score"></span> mètres.</font></h3> 
     <font color="orange"><h1 id="customegotext">Error text not found</h1></font> 
     <a href="javascript:void(0)" class="button restart">Ressayer ?</a> 
    </div> 
    </div> 
    <script> 
    var scoretext; 
    if (score > 0) { 
    scoretext = "Text1"; 
} 

if (score > 45) { 
    scoretext = "Text2"; 
} 

if (score > 100) { 
    scoretext = "Text2"; 
} 

if (score > 500) { 
    scoretext = "Text3"; 
} 

if (score > 750) { 
    scoretext = "Text4"; 
} 
    document.getElementById("customegotext").innerHTML = scoretext; 
</script> 
    <script type="text/javascript" src="ljdm.js"></script> 
</body> 
</html> 

Весь код, который работает со счетом в файле .js:

function gameOver() { 
    stop = true; 
    $('#score').html(score); 
    $('#game-over').show(); 
    assetLoader.sounds.bg.pause(); 
    assetLoader.sounds.gameOver.currentTime = 0; 
    assetLoader.sounds.gameOver.play(); 



// draw the score 
    ctx.font = '15pt Calibri'; 
    ctx.fillStyle = 'red'; 
    ctx.fillText('Score: ' + score + 'm', canvas.width - 450, 50); 
+1

«оценка» - это строка, «оценка» является переменной. Если у вас есть «оценка» как глобальная переменная, вам просто нужно удалить кавычки. –

ответ

2

Переменная score записывается в виде строки. Вы должны написать без кавычек, как так:

<script> 
    var scoretext; 
    if (score < 45) { 
     scoretext = "Text1"; 
    } else if (score > 100) { 
     scoretext = "Text2"; 
    } else if (score > 500) { 
     scoretext = "Text3"; 
    } else if (score > 750) { 
     scoretext = "Text4"; 
    } 
    document.getElementById("customegotext").innerHTML = scoretext; 
</script> 
+0

Спасибо, но теперь он показывает «undefined» – k0spwn

2

Это: if ("score" < 45) сравнивает строку в целое число.

Измените его на if (score < 45), который будет переменной (int) целым числом.

4

Если «оценка» - это переменная, вы должны использовать переменную score, а не строку.

так, что-то вроде

var scoretext; 
if (score < 45) { 
    scoretext = "Text1"; 
} else if (score > 100) { 
    scoretext = "Text2"; 
} else if (score > 500) { 
    scoretext = "Text3"; 
} else if (score > 750) { 
    scoretext = "Text4"; 
} 
document.getElementById("customegotext").innerHTML = scoretext; 

хотя неясно, в вопросе, когда этот код выполняется. Если он добавлен на страницу после завершения игры с использованием ajax/dynamic html, она может работать, иначе что-то должно запускать код для запуска.

также, что-то еще о тексте, вам может потребоваться отменить инструкции if или вынуть elses.

if (score < 45) { 
    scoretext = "Text1"; 
} 

if (score > 100) { 
    scoretext = "Text2"; 
} 

if (score > 500) { 
    scoretext = "Text3"; 
} 

if (score > 750) { 
    scoretext = "Text4"; 
} 
+0

Спасибо, но теперь он показывает «undefined» (где должна быть игра над текстом) – k0spwn

+0

проверьте, что такое значение 'score'. Вы можете «оповещать (оценивать)» или «console.log (оценка)» и проверять консоль на значение. –

+0

, если счет от 46 до 100, scoretext не будет определен. –

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