CODINGLISTINGS ★ AMSTRAD'S FOLIES ★

Amstrad's FoliesCoding Listings
En cette période de vacances où le temps se prête plus aux soirées dansantes et autres festivités qu'aux réflexions au coin du feu, nous vous proposerons un petit programme d'animations lumineuses. Bien que la vitesse d'enchaînement de chacune de ses séquences soit figée, nous l'avons calculée de manière à ce qu'elle coïncide au mieux avec le tempo de la majeure partie des musiques rythmées actuelles. Nul besoin, donc, de connecter, d'une façon ou d'une autre, l'ordinateur à une chaîne hi-fi pour pouvoir l'utiliser.

Enfin, si vous avez réalisé l'adaptateur Péritel pour Amstrad que nous avons décrit dans l'une des précédentes rubriques “Electronique amusante”, il vous sera d'une grande utilité. En effet le moniteur couleur d'origine étant de dimensions relativement modestes, les effets lumineux générés par le programme seront beaucoup plus satisfaisants sur un écran de grandes dimensions; donc sur celui d'un téléviseur utilisé en mode Péritel. Ces quelques précisions apportées, passons donc à l'écriture du programme.

Afin de disposer de l'ensemble des couleurs proposées par la machine nous utiliserons le mode 0. La ligne 10 se chargera donc de sa mise en place ainsi que de l'effacement de l'écran. Notre programme dispose de 5 animations différentes, il vous sera néanmoins possible, d'en créer d'autres. Pour que l'animation soit aussi variée que possible l'ordre en sera tiré tout à fait au hasard.

Pour cela, chaque animation est placée dans une sous-routine différente et la variable SUB, déterminée de manière aléatoire par la ligne 50, aiguillera, grâce à l'instruction ON SUB GOSUB de la ligne 60, le programme vers la sous-routine choisie. Notons que nous avons volontairement favorisé le tirage de certaines séquences; c'est pour cette raison que leur numéro se trouve répété plusieurs fois sur cette ligne.

Après l'exécution de chaque sous-routine le programme reviendra donc en ligne 70 et sera rebouclé (GOTO 50) pour passer à la séquence suivante.

Le reste du programme n'étant constitué que d'une succession de sous-routines n'ayant aucun lien entre elles, étudions-les donc une à une.

Droites aléatoires

Cette sous-routine occupe les lignes 110 à 210. Elle a pour effet de tracer sur l'écran une série de droites d'orientation, de longueur et de couleur variables avec déplacement horizontal de l'ensemble de l'écran. Indépendamment de cela, la couleur du pourtour de l'image sera sans cesse modifiée. Pour réaliser cette première animation, l'instruction RND (tirage d'un nombre aléatoire) sera utilisée de nombreuses fois. La variable “a” permettra de modifier le sens du déplacement horizontal de l'écran.

Ensuite la boucle formée autour de I déterminera le nombre total de droites tracées. La mise en place de celles-ci sera assurée par les lignes 130 et 140. 130 fixe le point de départ à l'aide de PLOT, et 140 le point d'arrivée, ainsi que la couleur, grâce à DRAW.

Ici encore, ces trois paramètres seront choisis de manière aléatoire. Une courte pose, de durée variable, est placée en ligne 150.

Elle évite une exécution trop rapide de l'animation, auquel cas la majeure partie de ses effets passeraient inaperçus. Vient ensuite la modification de la couleur du bord de l'écran, ligne 160, puis la commande du déplacement horizontal. Notons que celle-ci est un peu particulière ; en effet, elle ne fait normalement pas partie du vocabulaire standard du basic de l'Amstrad. Nous demanderons directement au processeur vidéo inclus dans l'ordinateur de décaler sa “marge” soit à droite, soit à gauche.

Cette opération sera assurée par l'ordre OUT de la ligne 170. Afin de ne pas perturber le fonctionnement des autres animations nous demanderons au processeur vidéo de revenir à une marge normale en utilisant de nouveau OUT à la ligne 200. La séquence ainsi achevée, le programme retournera dans la boucle de tirage des animations grâce au RETURN placé en 210. Le damier

Placée de 250 à 540, cette sous-routine trace un damier en perspectives sur l'écran. L'animation sera créée par le changement de couleur des lignes du damier. Ici, le fond de l'écran ainsi que les bords seront noirs ; la ligne 260 se chargera de cette opération. De 270 à 300 le damier sera tracé en utilisant, comme précédemment, PLOT et DRAW dans une boucle. Le changement de couleur sera obtenu par les lignes 310 à 380. Chaque nouvelle couleur sera fixée par la variable C. Cette séquence se répétera tant que F, variable de répétition, n'aura pas pour valeur 0. Cette animation se terminera par un effet de “travelling” construit autour de trois instructions OUT et exécuté des lignes 410 à 520. La marge standard sera de nouveau demandée en 530, puis le programme reviendra dans la boucle de départ de tirage aléatoire des séquences.

Les courbes pleines

Nous jouerons ici sur des combinaisons de cosinus pour représenter des formes. Le changement de couleur rapide des bords de l'écran donnera un peu de vie à cette animation comprise entre les Ügnes 580 et 670 du programme. Deux boucles, créées autour des variables P et I, seront employées pour sa réalisation. Nous trouverons ensuite le tracé réalisé, comme toujours, par PLOT et DRAW en ügne 610 et 620.

que P sera utilisé pour fixer la couleur de la courbe en cours de représentation. Les modifications de couleur du bord de l'écran seront assurés par la ligne 630. Une fois les deux boucles effectuées, le programme passera à la détermination de l'animation suivante, après avoir effacé l'écran, en raison de l'ordre RETURN de la ligne 670.

Le tronc de cône

Cette animation tentera de représenter un tronc de cône réalisé avec des tubes fluorescents multicolores et le présentera sous trois angles de vue différents. Ici les fonctions sinus et cosinus de l'ordinateur seront mises en œuvre. Le tracé, comparable dans son principe aux précédents, sera assuré par les lignes 750 et 760. Comme pour les figures déjà décrites, après avoir effectué les deux boucles tournant autour des variables C et I le programme passera à l'animation suivante après avoir effacé l'écran (ordres CLS, puis RETURN des lignes 790 et 800).

Les faisceaux

Ici nous simulerons les faisceaux issus de projecteurs de couleur. L'animation sera créée par l'effet de changement de couleur, avec simulation de balayage, des divers projecteurs. Cette animation, encore réalisée sur un fond noir, est comprise entre les lignes 840 et 970 du programme.

Les points de départ des divers projecteurs seront ici déterminés de manière indépendante les uns des autres (ordres PLOT des lignes 870, 890, 910 et 930), seuls les faisceaux, tracés par DRAW, seront fonction de la boucle dépendant de I et de couleur variable ; A, B et C commandant le choix de la couleur. Cette séquence se terminera encore une fois par RETURN afin que le programme revienne vers le choix de la séquence suivante.

Voici donc nos diverses séquences décrites. La frappe de ce programme ne doit pas poser de problème particulier, toutes les instructions étant tapées en clair. Son exécution, après frappe, sera commandée en tapant RUN.

Henri-Pierre PENEL , Science&Vie n°826

★ EDITEUR: Science&Vie
★ ANNÉE: 1986
★ AUTEUR: Henri-Pierre PENEL

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listings:
» Amstrad  s  Folies    (Science  et  Vie)    FRENCHDATE: 2020-04-22
DL: 260
TYPE: ZIP
SiZE: 5Ko
NOTE: Uploaded by CPCLOV ; 40 Cyls
.HFE: Χ

» Amstrad  s  Folies    (Science  et  Vie)    LISTING    FRENCHDATE: 2016-03-11
DL: 261
TYPE: PDF
SiZE: 423Ko
NOTE: 2 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding Src's » Losange (CPC Infos)
» Coding Src's » Music Galore (Amstrad Computer User)
» Coding Src's » Disc - Header Reader (Your Computer)
» Coding Src's » RAMTEST and MACHINE TYPE routine (CPC Attack)
» Coding Src's » Figuras en 3-D (Amstrad Especial)
» Coding Src's » Random Lissajoux Figures
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 496 millisecondes et consultée 1472 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.