Salut tout le monde!! ça fait vraiment super longtemps que je n'ai pas posté sur le forum, et pour cause, j'étais entré en prépa et j'avais moins de temps (ou pas)
bref, quoi qu'il en soit je reviens aujourd'hui et OH SURPRISE je vois un programme matrix. Je me permet donc de remettre le mien que j'avais déjà posté mais qui s'est trouvé un peu noyé sous les autres sujets. Il s'agit de la "vraie" animation matrix comme dans le film avec des lignes qui descendent et des caractères aléatoires. enjoy
Code
"[chaine de N symboles]"->chaine1 //ne choisissez pas N trop grand!!!! 10 ou 12 suffisent pour faire un rendu sympa
effecr
0->I:0->[theta]
While 1
entaleat(1,16->A //ces 4 lignes donnent la position
entaleat(1,16->B //des symboles qui descendent
entaleat(1,16->C //ici en positions A B C et D, auxquelles
entaleat(1,16->D //on associera plus tard respectivement I J K et L pour les éffacer sans perturber l'écriture des nouvelles lignes.
for(X,1,8
ouput(X,A,sous-chaine(chaine1,entaleat(1,N),1 // ces lignes définissent
if X>2
ouput(X-2,B,sous-chaine(chaine1,entaleat(1,N),1 //les symboles qui
if X>4
ouput(X-4,C,sous-chaine(chaine1,entaleat(1,N),1 //vont apparaitre
if X>6
ouput(X-6,D,sous-chaine(chaine1,entaleat(1,N),1 // à chaque fois.
if [theta]:then
if X [inférieur ou égal à]6 //celles ci n'opèrent qu'a partir de
output(X+2,J," "
if X [inférieur ou égal à] 4 // la deuxième lecture de la boucle car
output(X+4,I," "
if X [inférieur ou égal à]6 //theta n'est alors pas à la bonne valeur
output(X+2,K," "
output(X,L," " //ce qui rend la condition non remplie. Elles effacent progressivement les symboles à partir des coordonnées associées : A et I, B et J etc...
end:end
A->I:B->J:C->K:D->L //c'est là qu'on associe les variables pour pouvoir effacer correctement après
for(X,3,8
if X [inférieur ou égal à] 4
ouput(X+4,B,sous-chaine(chaine1,entaleat(1,N),1 //ici on continue les lignes
if X [inférieur ou égal à] 6
ouput(X+2,C,sous-chaine(chaine1,entaleat(1,N),1 //commencées dans le
ouput(X,D,sous-chaine(chaine1,entaleat(1,N),1 //premier for
output(X-2,I," " //et ici on commence à effacer la colonne A qui est finie
if X>4
output(X-4,J," " //pareil avec B
if X>6
output(X-6,K," " //et avec C
end
1->[theta] // on donne à theta la valeur nécéssaire à la validation de la condition dans le premier for
End //euh bah là on revient au début ^^ ^^