CODINGAMSTRAD CPC 464 - CRÉER DE NOUVELLES INSTRUCTIONS

Nouvelles Instructions 013

2. LES COORDONNÉES GRAPHIQUES RELATIVES ET ABSOLUES

LES COORDONNÉES ABSOLUES

L'écran du CPC peut être considéré comme un repère orthonormé. dont l'origine se situe au coin inférieur gauche, l'axe des X (abscisses) allant de 0 à 639, et l'axe des Y (ordonnées) de 0 à 399 :

Les coordonnées dites absolues sont toujours exprimées en fonction de l'origine. Exemple : le point A, de coordonnées absolues (6,3). Il faut savoir en outre que, lorsque vous allumez la machine, le curseur graphique (qui peut être considéré comme la pointe du crayon permettant de dessiner sur l'écran) est positionné en (0,0). Mais dès qu'un point quelconque est dessiné grâce à l'instruction BASIC PLOT, le curseur graphique se retrouve positionné sur ce point. La règle générale est que le curseur se trouve toujours sur le dernier point dessiné, ou à l'extrémité de la dernière ligne dessiné.

Les lignes peuvent être dessinées avec l'instruction BASIC DRAW la ligne est tracée à partir de la position du curseur graphique à ce moment là, jusqu'au point dont les coordonnées absolues suivent l'instruction DRAW (il s'agit bien de coordonnées absolues, et l'extrémité de la ligne sera indépendante de la position du curseur.

Essayez par exemple de lancer le programme suivant, qui trace deux lignes:

10 MODE 1
20 PLOT 200,300
30 DRAW 300,250
40 PLOT 150,100
50 DRAW 300,250

Voici ce que vous obtenez :

* La ligne 20 dessine un point de coordonnées absolues (200,300). Par la même occasion, le curseur y est positionné.
* La ligne 30 trace une droite à partir du curseur graphique jusqu'à la position de coordonnées absolues (300,250). Il s'agit de la droite 1, Le curseur se trouve maintenant en (300,250).
* La ligne 40 dessine un point de coordonnées (150,250) et y fixe le curseur graphique.
* La ligne 50, enfin, trace une droite à partir du curseur graphique jusqu'à une position absolue (300,250).

LES COORDONNEES RELATIVES

Les coordonnées dites relatives sont toujours exprimées en fonction de la position du curseur graphique à ce moment-là (c'est-à-dire comme si la position de ce dernier représentait l'origine des axes).
Un point de coordonnées relatives peut être dessiné en BASIC grâce à l'instruction PLOTR.

Exemple
10 MODE 1
20 PLOT 100, 50 (dessin du point A, en coordonnées absolues)
30 PLOTR 50, 60 (dessin du point B, en coordonnées relatives)
40 PLOTR 80,10 (dessin du point C, en coordonnées relatives)

On peut effectivement constater que les coordonnées absolues de B sont (150,110), mais ses coordonnées relatives par rapport à A (où se trouve le curseur quand B est dessiné) sont bien (50,60). D'une manière moins orthodoxe, on pourrait dire que B est plus à droite que A de 50 et plus haut de 60.

De la même manière, les coordonnées absolues de C sont (230,120), et ses coordonnées relatives par rapport à B sont (80,10).

Les "lignes relatives" peuvent être tracées grâce à l'instruction BASIC DRAWR : tracé d'une ligne à partir de la position du curseur graphique à ce moment là, jusqu'à une position dont les coordonnées relatives à ce curseur suivent l'instruction DRAW.

Exemple
10 MODE 1 : PLOT 100,200: DRAW 70,-90

L'extrémité B de la droite a pour coordonnées absolues (170,110), et pour coordonnées relatives par rapport à A (70,-90). Elle est en effet de 70 plus à droite que A, et de 90 plus basse que B.

En langage machine, nous utiliserons les deux routines suivantes :

&BBED qui est l'équivalent de PLOTR.
&BBF9 qui est l'équivalent de DRAWR.

Notons enfin qu'il est possible de positionner le curseur graphique à une position absolue donnée, sans rien dessiner, grâce à l'instruction BASIC MOVE, dont la routine équivalente, que nous utiliserons en langage machine, est &BBC0.

★ ANNÉE: ???
★ AUTEUR: JEAN-CLAUDE DESPOINE

Page précédente : Nouvelles Instructions 012
Je participe au site:

» 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 704 millisecondes et consultée 2090 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.