2017-10-10 5 views
0

Je crée un programme qui va randomiser et charger 6 images différentes les unes à côté des autres chaque fois que le mouss est cliqué.Conseils pour raccourcir mon code p5.js (pour la boucle?)

function mousePressed() { 
    randomNum1 = floor(random(0,6)); 
    randomNum2 = floor(random(0,6)); 
    randomNum3 = floor(random(0,6)); 
    randomNum4 = floor(random(0,6)); 
    randomNum5 = floor(random(0,6)); 
    randomNum6 = floor(random(0,6)); 

    image(dieImages[randomNum1],0,0); 
    image(dieImages[randomNum2],100,0); 
    image(dieImages[randomNum3],200,0); 
    image(dieImages[randomNum4],300,0); 
    image(dieImages[randomNum5],400,0); 
    image(dieImages[randomNum6],500,0); 
} 

Je suis sûr que je peux utiliser une boucle quelque part, mais je ne suis pas positif comment. Toute aide serait appréciée. Merci!

Répondre

0

Vous utilisez déjà un tableau pour vos images. Le tableau dieImages contient essentiellement un tas de variables d'image. Pourquoi ne pas faire la même chose pour vos numéros aléatoires?

La syntaxe pourrait ressembler à ceci:

randomNum[0] = floor(random(0,6)); 
randomNum[1] = floor(random(0,6)); 
randomNum[2] = floor(random(0,6)); 
randomNum[3] = floor(random(0,6)); 
randomNum[4] = floor(random(0,6)); 
randomNum[5] = floor(random(0,6)); 

que vous pourriez réduire à utiliser une boucle for:

for(var i = 0; i < randomNum.length; i++){ 
    randomNum[i] = floor(random(0,6)); 
} 

Ensuite, vos appels image() utiliser les variables randomNum comme index. Si les nombres aléatoires sont dans un tableau comme nous venons de le voir, alors les image() lignes pourraient être ceci:

image(dieImages[randomNum[0]],0,0); 
image(dieImages[randomNum[1]],100,0); 
image(dieImages[randomNum[2]],200,0); 
image(dieImages[randomNum[3]],300,0); 
image(dieImages[randomNum[4]],400,0); 
image(dieImages[randomNum[5]],500,0); 

que vous pourriez réduire à être ceci:

for(var i = 0; i < randomNum.length; i++){ 
    image(dieImages[randomNum[i]], i * 100, 0); 
} 

Side note: il pourrait être plus facile si vous refactorisez ce code pour utiliser un objet qui contient une image et une position, au lieu de deux parallel arrays qui contiennent des données connexes dans les index correspondants.

+0

Salut, pouvez-vous me dire ce que 'randomNum.length' fait ici? –

+0

@KatK Votre meilleur ami est Google. Essayez de chercher quelque chose comme "longueur de tableau JavaScript" pour une tonne de résultats. Faites-moi savoir si vous avez une question plus précise après avoir parcouru ceux-ci. –