Bug en javascript

Résolu/Fermé
Diego987 Messages postés 64 Date d'inscription vendredi 28 décembre 2018 Statut Membre Dernière intervention 9 janvier 2024 - Modifié le 5 avril 2020 à 18:13
jordane45 Messages postés 38040 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 février 2024 - 5 avril 2020 à 20:55
Bonjour,
J'ai un code que je n'arrive pas à faire marcher . Le code html est :

<!DOCTYPE html>
<html>
  <head>
      <title>Jeu du serpent</title>
      <h1>hello</h1>
      <script src="script4.js"></script>
  </head>

  <body>

  </body>

</html>


et le code javascript est :

window.onload = function()
{
    var cancasWidth = 900;
    var canvasHeigth = 600;
    var blockSize = 30;
    var ctx;
    var delay = 100;
    var snakee;

    init();

    function init()
    {
      var canvas = document.createElement('canvas');
      canvas.width = canvasWidth;
      canvas.height = canvasHeight;
      canvas.style.border = "1px solid";
      document.body.appendChild(canvas);
      ctx = canvas.getContext('2d');
      snakee = new Snake([[6,4],[5,4],[4,4]]);
      refreshCanvas();
    }

    function refreshCanvas()
    {
        ctx.clearRect(0,0,canvasWidth, canvasHeight);
        snakee.draw();
        setTimeout(refreshCanvas,delay);
    }

    function drawBlock(ctx, position)
    {
        var x = position[0] * blockSize;
        var y = position[1] * blockSize;
        ctx.fillRect(x ,y , blockSize, blockSize);
    }

      function Snake(body)
    {
        this.body = body;
        this.draw = function()
        {
          ctx.save();
          ctx.fillStyle = "#ff0000";
          for (var i = 0; i < this.body.length; i++)
          {
              drawBlock(ctx, this.body[i]);
          }
          ctx.restore();
        };

    }

}


Est-ce que ça marche pour vous? Je viens de vérifier toutes les ligne 3 fois et je n'arrive pas à débuger la situtation. Je n'ai qu'une page avec hello qui s'affiche et nommé jeu du serpent. Normalement selon la démo, je devrais avoir un cadre noir et un serpent sous la fornme de trois carrés rouge les uns à côtés des autres.
Merci d'avance de vos réponses.
Diego




Configuration: Macintosh / Chrome 80.0.3987.149

3 réponses

jordane45 Messages postés 38040 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 février 2024 4 622
Modifié le 5 avril 2020 à 18:19
Bon

Sans parler du fait que tu as toujours autant de mal à position ton code html au bon endroit
Voici ton code corrigé au niveau du html
<!DOCTYPE html>
<html lang="fr">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
       <title>Jeu du serpent</title>
    </head>
    <body> 
        <h1>hello</h1>
        <script src="script4.js"></script>
 </body>    
</html>


... tu as également un souci avec le nom de tes variables.


Il faut corriger la déclaration de ta variable comme ceci
Au lieu de
var cancasWidth = 900;

remplacer par :
var canvasWidth  = 900;




Cordialement,
Jordane
1
Diego987 Messages postés 64 Date d'inscription vendredi 28 décembre 2018 Statut Membre Dernière intervention 9 janvier 2024
5 avril 2020 à 20:41
Salut il doit y avoir autre chose car ça ne marche toujours pas??
0
jordane45 Messages postés 38040 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 février 2024 4 622
5 avril 2020 à 20:45
Que t'affiches la console ?
Tu testes bien directement dans un navigateur internet hein ? (pas depuis bracket..) ?
0
jordane45 Messages postés 38040 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 février 2024 4 622 > jordane45 Messages postés 38040 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 février 2024
Modifié le 5 avril 2020 à 20:48
Car oui, il y a bien autre chose... un souci de dyslexie:-)
var canvasHeight = 600;
0
Diego987 Messages postés 64 Date d'inscription vendredi 28 décembre 2018 Statut Membre Dernière intervention 9 janvier 2024
Modifié le 5 avril 2020 à 21:07
yes!!!!!!!!!!!!
Merci c'était la dysyexie...
par contre j'utilise le bracket.
Pourrais-tu me dire comment tester directement? Merci
0
jordane45 Messages postés 38040 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 février 2024 4 622
5 avril 2020 à 20:55
Pense à mettre le sujet en Résolu.
0