IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Tableaux, boucle for et r�p�tition


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre � l'essai
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juillet 2019
    Messages
    3
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 31
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Juillet 2019
    Messages : 3
    Par d�faut Tableaux, boucle for et r�p�tition
    Bonjour � tous,

    Nouvel apprenant dans le monde de la programmation, j'effectue mes premiers pas sur le site Khanacademy. Tout se passe tr�s bien pour moi, j'ai assimil� beaucoup de choses. Cependant, je suis tomb� sur mon premier obstacle. L'enchainement d'apprentissage des boucles while/for, et des tableaux.

    Ici, je dois r�aliser une petite animation de gouttes de pluie en mettant en �xecution les tableaux (pour le nombre de goutte), la boucle "for" pour r�p�ter l'incr�mentation de la goutte vers le bas sur l'axe Y. Je dois int�grer une partie de code pour r�p�ter la fonction draw ind�finiment sous forme de condition. C'est � dire, quand les gouttes touchent le sol, elles repartent d'en haut pour � nouveau toucher le sol.

    Voici la partie de code qui est donn� :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    var xPositions = [200];
    var yPositions = [0];
     
    draw = function() {
        background(71, 71, 71);
     
        for (var i = 0; i < xPositions.length; i++) {
            noStroke();
            fill(0, 200, 255);
            ellipse(xPositions[i], yPositions[i], 10, 10);
            yPositions[i] += 5;
        }
     
    };
    J'ai essay� un tas de choses, bien que mes connaissances soient tr�s l�g�res. Je n'ai pas r�ussi � effectuer la r�p�tition. J'ai essay� �galement via une condition If (mouseIsPressed), sans r�sultat non plus.

    Merci d'avance pour vos r�ponses !

  2. #2
    Expert confirm�
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Ao�t 2003
    Messages
    3 684
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activit� : danseur

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 3 684
    Par d�faut
    Bonjour,

    Il manque un peu de code pour mieux comprendre ce que tu as fait; un lien vers le rendu serait int�ressant;

  3. #3
    Expert confirm�
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activit� : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par d�faut
    Je crois deviner l�intention ici :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    var xPositions = [200];
    var yPositions = [0];
    Tu as voulu d�finir un tableau � 200 emplacements pour x, et un tableau vide pour y. En r�alit�, JavaScript a cr��, pour chacune de ces deux variables, un tableau � 1 emplacement contenant le nombre 200 pour x et le nombre 0 pour y.

    En fait, �a ne sert pas � grand chose de donner une taille de d�part � un tableau en JavaScript, � part quand on cherche � optimiser (et encore, je ne crois pas que ce soit une bonne id�e personnellement). La taille d�un tableau est dynamique et �volue en fonction des choses qu�on y met. En l�occurence, tu peux tr�s bien d�clarer deux tableaux vides :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    var xPositions = [];
    var yPositions = [];
    Et sp�cifier en dur dans la boucle for le nombre d�it�rations, et ainsi le nombre d��l�ments qui seront ins�r�s dans les tableaux.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    for (var i = 0; i < 200; i++) {
      ...
    }
    Mais un r�flexe � adopter, d�s qu�on rencontre une valeur en dur dans le code, est de se poser la question : � est-ce que je n�ai pas int�r�t � utiliser une constante ? �
    Ton cours en ligne n�a peut-�tre pas encore abord� le sujet des constantes, mais s�il est bien fait, il y viendra bient�t. Les constantes permettent d��viter les r�p�titions et de n�avoir qu�un seul endroit � modifier dans le code quand on veut changer la valeur, par exemple mettre 300 � la place de 200.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    const ITERATIONS = 200;
     
    ...
     
    for (var i = 0; i < ITERATIONS; i++) {
      ...
    }
    Pour terminer, un petit conseil : pense � utiliser la console F12 pour examiner tes variables d�s que tu as un doute
    La FAQ JavaScript � Les cours JavaScript
    Touche F12 = la console → l�outil indispensable pour d�velopper en JavaScript !

  4. #4
    Membre �m�rite
    Femme Profil pro
    Autre
    Inscrit en
    Janvier 2017
    Messages
    340
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Autre

    Informations forums :
    Inscription : Janvier 2017
    Messages : 340
    Par d�faut
    Bonjour,
    C'est une possibilit� Watilin, d'un autre c�t�, il dit que c'est une partie de code donn�e... Il n'y a peut-�tre bien qu'une goutte pour d�marrer.

    Citation Envoy� par Adnbnt Voir le message
    C'est � dire, quand les gouttes touchent le sol, elles repartent d'en haut pour � nouveau toucher le sol.
    Essayer ceci en fin de boucle :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    if(yPositions[i]>ySol) {
    	yPositions[i]=0;
    }
    "ySol" �tant soit � remplacer directement par la valeur souhait�e, soit � d�finir sous forme de variable ou constante par ailleurs.

Discussions similaires

  1. [Tableaux] boucle , for , while
    Par marty499 dans le forum Langage
    R�ponses: 4
    Dernier message: 09/04/2008, 11h10
  2. [Tableaux] Boucle for dans condition de if
    Par Lenorah dans le forum Langage
    R�ponses: 5
    Dernier message: 03/03/2008, 18h06
  3. R�ponses: 3
    Dernier message: 04/08/2006, 19h24
  4. [Eval] Probl�me de boucle for sur des tableaux
    Par battle_benny dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 12/01/2006, 23h55
  5. [Tableaux] boucle for et instruction continue
    Par reg11 dans le forum Langage
    R�ponses: 4
    Dernier message: 16/12/2005, 18h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo