Autorisation : Membre
Nb de messages : 2164
Inscrit le : Sam 23 Jan 2010, 20:09
Posté le : Mar 28 Jui 2011, 9:17
Hello, je vous explique:
ça fait depuis que j'ai commencé à programmer que j'ai envie de la faire, la matrice, mais j'ai jamais réussi a en faire une bien.
On dirait pas comme ça, mais soit c'est super dur, soit je suis super nul.
La plus réaliste que j'ai fait ressemble à ça, si vous pouvez faire mieux je vous en serait reconnaissant, vous m'aurez prouvé que c'était possible.
Code
:ClrHome
:Repeat getkey
:" insérez ici la liste de tous les caractères alphanumériques et caractères spéciaux disponibles sur votre TI, pensez aux stats (ça diffère selon les modèles et les applications langues des 83+) "->Str1
:randint(1,16->B
:randInt(1,16->C
:randint(1,16->D
:For(A,1,8
:Output(A,B,sub(Str1,randint(1,lenght(Str1)),1
:If A>1:Output(A-1,C,sub(Str1,randint(1,lenght(Str1)),1
:If A<7:Output(A+2,D,sub(Str1,randint(1,lenght(Str1)),1
:Output(A,B," "
:If A>1:Output(A-1,C," "
:If A<7:Output(A+2,D," "
:End
:End
Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Mar 28 Jui 2011, 9:32
Je pourais proposer:
Code
:ClrHome
:" insérez ici la liste de tous les caractères alphanumériques et caractères spéciaux disponibles sur votre TI, pensez aux stats (ça diffère selon les modèles et les applications langues des 83+) " -> Str1
:lenght(Str1 -> L
:L-3 -> L //remplacer 3 par nombre de carractères tirrés à la fois -1
:Repeat getkey
:Disp sub(Str1,randint(1,L),4)+sub(Str1,randint(1,L),4)+sub(Str1,randint(1,L),4)
+sub(Str1,randint(1,L),4) //remplacez 4 par le nombre de carractères à tirer à la fois, par contre il faut veiller à ce que le total face bien 16
:End
Variante (moins fluide mais plus varié
Code
]:ClrHome
:" insérez ici la liste de tous les caractères alphanumériques et caractères spéciaux disponibles sur votre TI, pensez aux stats (ça diffère selon les modèles et les applications langues des 83+) " -> Str1
:lenght(Str1 -> L
::Repeat getkey
:Disp sub(Str1,randint(1,L-5),6)+sub(Str1,randint(1,L-4),5)+sub(Str1,randint
(1,L-3),4)+sub(Str1,randint(1,L),1)
:End
Sandro
PS : tu peu aussi regarder le faux virus que j'ai posté il y a 2-3 semaines
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes
Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Dim 03 Juil 2011, 14:11
Personne n'a de version où ça se déplace vers le bas?
---------------------- En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Dim 03 Juil 2011, 14:17
Je crois que pour ça il faudrait de l'ASM, sinon ce ne serrait pas assez fluide : déjà que de faire remonter avec des "Disp" c'est assez long, faire décendre demanderrait de tout reafficher à chaque coups et de faire d'innombrables "sous-chaine(" (une des instructions les plus lentes de la TI quand la chaîne est longue).
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes
Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Dim 03 Juil 2011, 15:37
Je vois. Ou alors on laisse tomber tous les symboles et on en prend que 2 ou 3 comme "!" ou"°" par exemple. Je vais essayer et si c'est pas trop moche je le poste.
---------------------- En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Dim 03 Juil 2011, 17:05
Idée basée sur ça : les minuscules en fête sur 83 On utilise du basic 83+ dans une 83 pour faire bugguer l'affichage.
Mais méfiance, une commande de ce genre pose parfois des problèmes car la calculatrice interprête certains caractères n'importe comment.
Suivez le lien pour plus de précisions.
Cette idée ne fonctionne malheureusement que sur ti83 puisqu'il faut faire bugguer les lettres minuscules originaires d'une 83+.
Cela marche sur ma 82statfr et sûrement sur une 82stat.
Je n'ai pas réussi sur 82.
Il faut en tout cas changer de lettres car les systèmes sont suffisamment différents.
Vous devez avoir un éditeur + un câble ou un émulateur.
J'ai tout testé avec wabbitemu.
Pour 83 :
Code
While 1
randInt(1,6->X
Output(1,1,sub("fgjmoy",X,1
End
Pour 82statfr :
Code
While 1
randInt(1,8->X
Output(1,1,sub("hijkoqxy",X,1
End
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 178
Inscrit le : Sam 02 Avr 2011, 12:53
Posté le : Dim 03 Juil 2011, 19:08
Ton screen la on dirait étrangement un code ASM .z80 !
---------------------- "Des millions de gens ont vu tomber une pomme, Newton est le seul a s'être demandé pourquoi ."
"L'urgent est fait, l'impossible est en cours.
un probléme a toujours une solution, la solution est de trouver le probléme, pour les miracles, prévoir un délai ...
"
Autorisation : Membre
Nb de messages : 1387
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Dim 03 Juil 2011, 21:05
Si par ".z80" tu entant un fichier non compilé (en format ***.z80), alors là suremment pas (il n'y à pas tous ces carractères spéciaux). Moi je trouve que ça ressemble plutôt à un code pour TI83+ transphéré par copier-coler avec un éditeur de programme ou alors à la forme compilée d'un code ASM pour shell (ion, SOS, Ashell, ...).
Sandro
PS : chapeau Linkakro!
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes
Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Lun 04 Juil 2011, 16:33
Voila un matrix du même genre que l'original. Il reste quelques petits trucs à modifier mais ça marche bien et c'est fluide et assez varié, le tout pour 380 octets
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]
lbl1
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
goto1 //euh bah là on revient au début ^^ ^^
Quelqu'un peut le tester? (et me dire ce qu'il en pense accessoirement )
edit: ça te parait plus clair persalteas?
---------------------- En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Lun 04 Juil 2011, 19:10
C'est tout bête en fait. J'édite mon précedent message pour que tu comprennes mieux
---------------------- En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 04 Juil 2011, 20:43
C'est très beau.
Mais c'est complexe. Et les fautes de frappe et abscences de majuscules ne m'ont pas aidé lors de la copie vers TI-Program-Editor.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 72
Inscrit le : Jeu 26 Mai 2011, 16:41
Posté le : Lun 04 Juil 2011, 21:19
Désolé mais comme je n'ai pas le cable je recopie tout dans un bloc note avant de copier-coller. C'est normal donc qu'il y ait quelques erreurs. Et merci à vous deux persalteas et linkakro d'avoir testé mon programme. ça me fait chaud au coeur
---------------------- En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)