Aller au menu - Aller au contenu

Icône Ecrire un texte défilant

Mise à jour : 22/08/2008
315 visites depuis 7 jours , dont 8 sur ce chapitre , classé 319/777
Votre mission, si vous l'acceptez : écrire un texte défilant de gauche à droite, puis, lorsqu'il touche le bord droit de l'écran, défilant dans l'autre sens, et dès qu'il touche le bord gauche de l'écran, recommencer l'opération.
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Les outils

Quels outils vous faut-il ?
  • Locate, pour l'affichage du texte
  • des boucles

Une solution

Voici une solution, parmi tant d'autres :
Code : Autre - Une solution pour le problème du texte défilant
1
2
3
4
5
6
7
8
9
10
11
12
-1
0->A
While 1
2((Ans=-1)−0.5)
A+Ans->A
For A->A To 11(Ans=1)+1 Step Ans
Locate A−(A>1),4," "
Locate A,4,"VIVE ZOZOR"
For 1->X To 333
Next
Next
WhileEnd
Instructif, ce TP, non ?
Allez hop, on passe au suivant (il est encore mieux :D ).
Chapitre précédent Sommaire Chapitre suivant

Partager

1 commentaire pour "Ecrire un texte défilant"
Note moyenne : 3.18 / 4 (17 votes)
Pseudo Commentaire
Hors ligne tornade19 # Posté le 25/03/2011 à 17:46:46

Une petite amélioration : :)
Code : Autre
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
1->X
1->Y
0->I

While 1
Locate X,Y,"Zozor"

If X=21            'Si on arrive à un bout de l'écran
Then 0->X          'On remet X à 0 (Elle sera incrémentée à la fin de la boucle principale)
Y+1->Y             'On incrémente Y
IfEnd

If Y=8             'Meme chose pour Y, mais cette fois, seulement lorsqu'il est égal a 8
Then 1->Y          '(cas exceptionnel quand Y=7 est quand même incrémenté,
IfEnd              'sans quoi on s'arrêterait a Y=6)

While I<6          'Boucle qui sert à rien, pour ralentir le programme,
Locate 1,1,""      'autrement trop rapide
I+1->I
WhileEnd

X+1->X             'Incrémentation de X
0->I               'Remise à 0 de I
ClrText            'On efface tout, ...

WhileEnd           'Et on recommence ! :p


Voila, ce code balaye entièrement l'écran. Arrivé à la fin de la ligne, il passe à la suivante;

Voir tous les commentaires