Bonsoir à tous.
Sous ce titre ma foi peu explicite se cache un sushi, sûrement tout bête, mais qui m'ennuie.
Donc plutôt que de parler pendant 107 ans, je mets directement un morceau de code que j'essayerai d'expliquer aussi bien que possible après, avec mon problème :
Donc voilà un début d'esquisse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 def musique(): x = 40 for n in range (20): y = choice(ordonneesAlea) # on choisit aleatoirement une note via son ordonnee part.create_oval(x,y-5,x+10,y+5,width=2,outline=) # on trace la note correspondante x = x + 20 # on cree l'ecart entre 2 notes en incrementant la valeur de x
Pour expliquer un peu le truc, on nous a demandé de gérer une partition avec l'affichage aléatoire de notes, lesdites notes pouvant être en noires, ou colorées.
Je suis ici parti d'un dico regroupant tout : la note ("do", "re", etc...) en clef, et un tuple (ordonnée,couleur) en valeur. N'arrivant pas trop à gérer ça comme je l'entendais, j'ai soutiré deux listes du dico : une pour les ordonnées, l'autre pour les couleurs. (ordonneesAlea correspondant ici à celle des ordonnées)
Donc le traçage des 20 notes aléatoires ne pose pas de problèmes. Cependant, la partie "colorées" en pose un peu plus. Comme j'ai pas trop réussi à gérer mon dictionnaire, je cherche à connaître le rang de mon 'y' dans la liste, afin de pouvoir soutirer la couleur correspondante via un c0uleurs['rangDeY'], vu que les rang se correspondent entre les deux listes, sachant que le passage en coloré ne doit pas modifier les randoms valeurs de y pour l'affichage en cours. (Vous suivez ? ^^)
Donc voilà, si vous pouviez m'aiguiller sur la manière de faire avec mes doubles listes, voir avec la façon de faire directement sur le dictionnaire (j'ai pas réussi à choisir l'ordonnée aléatoire de chaque note directement dans le dictionnaire, je dois mal m'y prendre je pense, ça doit se faire), ça m'enlèverait une épine du pied
PS : pour info, je vous mets la tête de mon dico, si c'est possible, je préfère autant bosser avec le dico qu'avec mes listes, ça fait plus propre et plus sérieux
Code : Sélectionner tout - Visualiser dans une fenêtre à part dicoNotesGlobal = {"do":(75,"green"),"re":(70,"orange"),"mi":(65,"red"),"fa":(60,"blue"),"sol":(55,"light blue"),"la":(50,"purple"),"si":(45,"pink"),"doh":(40,"green"),"reh":(35,"orange"),"mih":(30,"red"),"fah":(25,"blue"),"solh":(20,"light blue"),"lah":(15,"purple")}
Partager