Bug en javascript

Résolu
Diego987 Messages postés 75 Statut Membre -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
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

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    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;
    


    1
  2. Diego987 Messages postés 75 Statut Membre
     
    Salut il doit y avoir autre chose car ça ne marche toujours pas??
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Que t'affiches la console ?
      Tu testes bien directement dans un navigateur internet hein ? (pas depuis bracket..) ?
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832 > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Car oui, il y a bien autre chose... un souci de dyslexie:-)
        var canvasHeight = 600;
        
        0
  3. Diego987 Messages postés 75 Statut Membre
     
    yes!!!!!!!!!!!!
    Merci c'était la dysyexie...
    par contre j'utilise le bracket.
    Pourrais-tu me dire comment tester directement? Merci
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Pense à mettre le sujet en Résolu.
      0