Autorisation : Membre
Nb de messages : 128
Inscrit le : Ven 06 Nov 2015, 19:22
Posté le : Sam 09 Avr 2016, 20:59
Ton truc de défilement marche juste sur une donnée prédéfinie, ça je savais faire mais moi ce que je veux c'est garder mes nombres qui sont apparus aléatoirement c'est pour ça que c'est compliqué
Autorisation : Membre
Nb de messages : 85
Inscrit le : Dim 13 Déc 2015, 16:27
Posté le : Sam 09 Avr 2016, 23:09
Au lieu de les afficher, incréments les dans une liste alors. Ensuite tu met "Disp L1" et tu fait défiler les valeurs grâce au flèche gauche - droite ....
---------------------- La programmation : l'avenir d'hier ...........
mes prgm pour ti82 : PrgmHEURE , PrgmCHRONOMÈTRE , PrgmQUITTER
Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Dim 10 Avr 2016, 13:36
J'ai regardé un peu ce que faisait ton programme. Un screen pour qu'on soit d'accord là dessus :
Donc ce que tu veux c'est que l'animation se fasse dans l'autre sens ? Qu'il parte du haut pour aller vers le bas et que la dernière ligne change (ici c'ets la première qui change). C'est ce que je comprends de ton premier message.
L'idée va être de créer des chaînes de caractères, comme ca tu pourras les déplacer comme tu veux après, et faire un défilement dans le même style que le mien. Donc ce que j'imagine c'est un morceau de code pour créer une chaîne de 0 et de 1 aléatoire (boucle for, c'est rapide), on stocke cette chaîne (ou on la garde dans Ans, mais tu vois le principe), on la "fait tomber" avec un code de défilement, et retour à la case départ pour la 2e chaîne, ...
Autorisation : Membre
Nb de messages : 128
Inscrit le : Ven 06 Nov 2015, 19:22
Posté le : Lun 11 Avr 2016, 19:41
Oui mon programme fait bien ça,
mais je pense que pour que vous compreniez il faut que je vous explique comment va être mon programme au final (c'est un remake d'un ancien programme du forum qui a malheureusement disparu). Donc dans ce programme le but va être de diriger un personnage pour qu'il évite tous les 1 (et passe donc sur les 0)sans sortir des limites (/) donc pour cela il faut un défilement de ce type:
Donc la ligne 8 passe à la place de la 7 pareil pour la 7 avec la 6 et ainsi de suite jusqu'à la 1 qui disparait et ça recommence à l'infini.
Donc je m'étais trompé dsl
mon code aurait du ressembler a ça :
J'avais aussi trouver une autre façon mais pas du tout optimisée (le programme n'est pas fini et ne peux pas encore fonctionner).
Code
Menu("Difficultée","Facile",10,"Moyen",11,"Difficile",12,"Quitter",13
Lbl 10
W->1
Goto 0
Lbl 11
W->2
Goto 0
Lbl 12
W->3
Lbl 0
EffEcr
0->S
Lbl 1
1->Y
6->X
Output(Y,X,"V
If Y=5:Goto 2
Y+1->Y
V->-1
V+1->V
Lbl 2
If A=2 ou A=3: Goto 55
entAléat(0,1->A
entAléat(0,1->B
entAléat(0,1->C
entAléat(0,1->D
entAléat(0,1->E
If W=1 et A+B+C+D+E>1:Goto 1
If W=2 et A+B+C+D+E>3:Goto 1
If W=3 et A+B+C+D+E>4:Goto 1
Lbl 55
If F=2 ou F=3:Goto 97
entAléat(0,1->F
entAléat(0,1->G
entAléat(0,1->H
entAléat(0,1->I
entAléat(0,1->J
If W=1 et F+G+H+I+J>1:Goto 55
If W=2 et F+G+H+I+J>3:Goto 55
If W=4 et F+G+H+I+J>4:Goto 55
Lbl 97
If K=2 ou K=3:Goto 96
entAléat(0,1->K
entAléat(0,1->L
entAléat(0,1->M
entAléat(0,1->N
entAléat(0,1->O
If W=1 et K+L+M+N+O>1:Goto 97
If W=2 et K+L+M+N+O>3:Goto 97
If W=3 et K+L+M+N+O>4:Goto 97
Lbl 96
If P=2 ou P=3:Goto 95
entAléat(0,1->P
entAléat(0,1->Q
entAléat(0,1->R
entAléat(0,1->T
entAléat(0,1->U
If W=1 P+Q+R+T+U>1:Goto 96
If W=2 P+Q+R+T+U>3:Goto 96
If W=3 P+Q+R+T+U>4:Goto 96
Lbl 95
Lbl 3
If A=2 ou A=3:Goto 99
Output(S,4,A
Output(S,5,B
Output(S,6,C
Output(S,7,D
Output(S,8,E
If S<8:S+1->S
A+2->A
If V=1:Goto 99
Goto 1
Lbl 99
If F=2 ou F=3:Goto 94
Output(S,4,F
Output(S,5,G
Output(S,6,H
Output(S,7,I
Output(S,8,J
If S<8:S+1->S
F+2->F
If V=1:Goto 94
Goto 1
Lbl 94
If K=2 ou K=3:Goto 93
Output(S,4,K
Output(S,5,L
Output(S,6,M
Output(S,7,N
Output(S,8,O
If S<8:S+1->S
K+2->K
If V=1:Goto 93
Goto 1
Lbl 93
If P=2 ou P=3:Goto 92
Output(S,4,P
Output(S,5,Q
Output(S,6,R
Output(S,7,T
Output(S,8,U
If S<8:S+1->S
P+2->P
Lbl 92
If P=2 ou P=3:
S-1->S
P-2->P
A-2->A
F-2->F
K-2->K
1->V
If V=1:Goto 3
Goto 2
Lbl 13
Stop
Bon voilà ce code là est loin d'être fini et de toute façon il est trop lent mais faut pas oublier que je suis un noob car j'ai oublié de préciser mais je n'ai jamais lu de tutos et j'ai appris en recopiant les programmes des autres.
Donc j'ai essayé de comprendre les chaînes grâce à ce tuto mais j'ai pas trop compris comment toi tu voulais faire
Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Lun 11 Avr 2016, 22:44
Ok, c'est à peut près ce que j'avais compris. Mon idée est de créer des chaînes de 0 et de 1 aléatoires et de les faire avancer toutes en même temps. POur une chaîne aléatoire de 0 et de 1 :
Code
"/
For(I,1,7
If randInt(0,1
Then
Ans+"1
Else
Ans+"0
End
End
Ans+"/
(un peu lent à mon goût malheureusement, mais on en est pas encore à l'optimisation)
Une fois que t'as ca, tu peux stocker, ou faire défiler direct. Pas le temps de coder ca maintenant de mon côté, mais si quelqu'un comprend ce que je veux faire...
Autorisation : Membre
Nb de messages : 128
Inscrit le : Ven 06 Nov 2015, 19:22
Posté le : Mer 13 Avr 2016, 17:20
Bon j'abandonne ce projet il est pour l'instant trop compliqué pour moi mais par contre je vais bientôt sortir un programme multi-fonctionnalités qui se trouvera entre le style utilitaire et jeu
Autorisation : Membre
Nb de messages : 128
Inscrit le : Ven 06 Nov 2015, 19:22
Posté le : Ven 15 Avr 2016, 22:17
Salut ,
j'ai un problème dans mon nouveau programme mais je ne vois pas lequel:
Code
If A=0
Then
0->X:3->Y
If A=1
Then
1.5->X:2.5->Y
If A=2
Then
2.5->X:1.5->Y
A=3
Then
3->X:0->Y
End
(le code n'est pas complet)
Voilà dans mon code même si A est = à une bonne valeur X et Y sont toujours = a 0.(c'est le seul problème et si il est résolu je peux poster mon programme ).
Merci d'avance pour votre réponse.
Autorisation : Membre
Nb de messages : 504
Inscrit le : Ven 07 Déc 2012, 20:09
Posté le : Sam 16 Avr 2016, 13:27
Tu as oublié de fermer tes conditions. La syntaxe est
Code
If [condition]
Then
[consequences]
End
Or ici tu n'as qu'un seul end qui se réfère à la dernière condition ouverte, et comme le programme ferme automatiquement les autres conditions, ça fait que toutes les conditions dépendent du résultat de la première.
En bref, ferme tes conditions directement après leur conséquence
Autorisation : Membre
Nb de messages : 128
Inscrit le : Ven 06 Nov 2015, 19:22
Posté le : Mer 20 Avr 2016, 20:41
Pardon pour la réponse très tardive
Non ça c'était bon mais de toute façon j'ai perdu le programme alors qu'il ne me restais que ce problème mais bon j'en ai fait 3 autres intéressants (je pense que je vais en sortir un par jour).