dessin pour Sharp PC1500 ( pas de programme )
tir du magazine Hebdogiciel N65

	Vous allez pouvoir ds maintenant dmontrer  vos amis vos talents de dessinateur. En effet, ce programme permet de dessiner point par point, modifier l'chelle, sauvegarder votre oeuvre.

Mode d'emploi :
	On lance le programme par DEF A. On a le choix entre 2 fonctions : analyse pour le dessin manuel et mmorisation des coordonnes des points, dessin pour reproduire automatiquement un dessin mmoris.

Fonction analyse :
	Les dplacements du stylo sont commands par les touches du pav numrique.
	L'affichage de X et de Y facilite le contrle des dplacements. Lorsque le stylo est  la position voulue, on appuie sur Enter, ce qui mmorise les coordonnes du point et effectue le trac entre le point prcdent et le point actuel.
	On a,  gauche de l'cran, le nombre de points dj stocks et,  droite, le nombre de points restants ( au total 1023 ).
	La touche C permet le choix de la couleur et/ou le dplacement du stylo sans trac ( fonction GLCURSOR ). Par exemple, si l'on veut amener le stylo en 100,150, on appuie sur C, on entre le numro de la couleur, puis X=100 et Y=150. Le stylo se place alors, sans trac, aux coordonnes indiques.
	Si une erreur est constate aprs mmorisation, chaque appui sur la touche E fait reculer d'un point. Le stylo se place aux coordonnes affiches et le trac peut tre repris  partir de cette position. Les nouvelles coordonnes remplacent celles des points errons.
	La touche F permet de revenir en mode TEXT  la fin du trac. N'importe quel dessin peut tre ralis de cette faon. Pour reprer facilement les coordonnes de chaque point, il faut superposer un calque quadrill de 0  216 pour l'axe des X et de 0  255 pour l'axe des Y.

fonction dessin :
	On peut reproduire automatiquement un dessin mmoris  une chelle quelconque infrieur  2 ( le recul du papier est limit  512 points ). Le dessin est centr dans le sens horizontal et le cadre est extensible ou compressible dans le sens vertical.
	Le contenu de la mmoire peut tre sauvegard sur cassette par DEF S. On entre le nom donn au dessin. Le chargement se fera par CLOAD M"nom".

Programme :
1 "A":CLEAR:GRAPH:I=1
5 INPUT "analyse (a) ou dessin (d)";M$
6 IF M$="d" INPUT "chelle:";I:IF I>2 LET I=2
8 LINE -(216,-(255*I)),0,B:GLCURSOR (0,-(255*I)):SORGN:A=&38C5
9 IF M$="d" THEN 65
10 WAIT 0:I=1:M=0:T=0
12 PRINT (A-&38C5)/2;": x=";X;" y=";Y;" :";(&40C3-A)/2
13 A$=INKEY$:IF A$="" THEN 13
15 IF A$="c" INPUT "color:";C:X=255:Y=C:GOSUB 55:Y=C:GOSUB 55:GOSUB 75
16 INPUT "x=";X,"y=";Y:GOTO 50
20 IF ASC A$=&0D LET T=0:GOTO 50
25 IF A$="e" LET A=A-2:W=PEEK (A-2):Z=PEEK (A-1):GLCURSOR (W,Z):X=W:Y=Z:GOTO 12
26 D=VAL A$:GOSUB D+30:GOTO 40
30 GOTO 12
31 X=X-1:Y=Y-1:RETURN
32 Y=Y-1:RETURN
33 X=X+1:Y=Y-1:RETURN
34 X=X-1:RETURN
35 RETURN
36 X=X+1:RETURN
37 X=X-1:Y=Y+1:RETURN
38 Y=Y+1:RETURN
39 X=X+1:Y=Y+1:RETURN
40 IF X>216 LET X=216
41 IF X<0 LET X=0
42 IF Y>255 LET Y=255
43 IF Y<0 LET Y=0
45 GLCURSOR (X,Y)
46 GOTO 12
50 GOSUB 55:GOSUB 75:GOTO 12
55 IF A>&40C1 BEEP 3:PAUSE "plus de mmoire":GOTO 80
60 BEEP 1:POKE A,X,Y:POKE &40C3,INT(A/256)*256):RETURN
65 M=(216-(216*I))/2:T=0
70 X=PEEK A:Y=PEEK(A+1):IF A=(PEEK &40C3*256)+PEEK &40C4+2 THEN 80
75 IF X=255 COLOR Y:T=9:GOTO 79
76 IF T=9 GLCURSOR ((X*I)+M,Y*I):T=0:GOTO 78
77 LINE ((W*I)+M,Z*I)-((X*I)+M,Y*I)
78 W=X:Z=Y
79 A=A+2:RETURN
80 GLCURSOR (0,0):TEXT:LF 2:END
85 "S":BEEP 2:INPUT "cass.en.enr...nom";N$:CSAVE MN$;&38C5,&40C4:END