Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 702
Réponses : 5
Type : discussion
Etat : réponses autorisées

Prog MUHZIC

Persalteas le 04/07/2010 à 13:08
voilà une animation toute conne, mais que j'ai eu du mal à programmer:
ça simule un lecteur de musique, avec les barres qui montent et qui descendent.


Aidez moi à l'améliorer si vous avez des idées.


Code

EffEcr
Output(2,1,"****************** PERSALTEAS **** CALCULETTE ****  PLAYER   *****
*************"
For(G,1,500):End
EffEcr
8->G:8->H:8->I
8->J:8->K
EffEcr
Lbl 1
entAléat(1,2)->A
entAléat(1,2)->B
entAléat(1,2)->C
entAléat(1,2)->D
entAléat(1,2)->E
If G=8:2->A
If H=8:2->B
If I=8:2->C
If J=8:2->D
If K=8:2->E
If G=1:1->A
If H=1:1->B
If I=1:1->C
If J=1:1->D
If K=1:1->E
If A=1:Then
G+1->G
Output(G,2,"  "
End
If A=2:Then
Output(G,2,"XX"
G-1->G
End
If B=1:Then
H+1->H
Output(H,5,"  "
End
If B=2:Then
Output(H,5,"XX"
H-1->H
End
If C=1:Then
I+1->I
Output(I,8,"  "
End
If C=2:Then
Output(I,8,"XX"
I-1->I
End
If D=1:Then
J+1->J
Output(J,11,"  "
End
If D=2:Then
Output(J,11,"XX"
J-1->J
End
If E=1:Then
K+1->K
Output(K,14,"  "
End
If E=2:Then
Output(K,14,"XX"
K-1->K
End
If codeTouche=/=0:Goto 1
EffEcr
Effvar patati et patata...  //tous les trucs de fin d'un prog, quoi.




hésitez pas à faire du copier coller, ce programe est énervant à recopier.
Sangohan38 le 04/07/2010 à 19:45
Je pense qu'on peut le simplifier comme cela:

Code
EffEcr
Output(2,1,"****************** PERSALTEAS **** CALCULETTE ****  PLAYER   *****
*************"
For(G,1,500):End
ClrList L1
10->dim(L1
EffEcr
For(A,6,10
8->L1(A
End
Lbl 1
For(A,1,5
entAléat(1,2)->L1(A
End
For(A,6,10
If L1(A)=8:2->L1(A-5
If L1(A)=1:1->L1(A-5
End
For(A,1,5
L1(A+5)+(L1(A)=1)->L1(A+5)
If L1(A)=1:Output(L1(A+5),3A-1,"  "
If L1(A)=2:Output(L1(A+5),3A-1,"XX"
L1(A+5)-(L1(A)=2)->L1(A+5)
If codeTouche=/=0:Goto 1
EffEcr
Effvar patati et patata...  //tous les trucs de fin d'un prog, quoi.


Sangohan38
Akmdad le 04/07/2010 à 20:23
vive les listes!!!
Persalteas le 05/07/2010 à 10:46
oh oui!
bien, Sangohan!
comment n'y avais-je pas pensé!
c'est effectivement nettement mieux et plus clair.et moins lourd puisque ça prend moins de variables.

merci!
Sangohan38 le 05/07/2010 à 14:16
Ca prend autant de variable car toutes tes lettres sont transformées en listes.
Après pour la place, je suis pas sur vu que pour une indiquer une liste il faut au miniimum 3 caractères la ou l'utilisation d'une lettre en prend qu'un.
Recopiez-le pour voir si il est vraiment plus légé.

Sangohan38
Persalteas le 05/07/2010 à 15:49
ça enlève pas mal de EffVar.