Voici un programme qui va effacer: une ligne, un cercle, un carré (de base parallèle à
, un triangle, un texte ou une figure quelconque sans effacer le reste (sauf croisement de figure)
comment ça marche et bien on vient demander le type et la position de l'item, puis on inverse les pixel d'un rectangle contenant l'objet, on vient "redessiner" l'objet sur lui même puis on ré-inverse le rectangle ce qui efface la forme (au début j'inversait la totalité de l'écran mais c'était long).
Code
menu("qu'effacer","ligne",0,"cercle",1,"carré",2,"triangle",3,"texte",4,"forme",5
Lbl 0
Input("x",A
Input("y",B
Input("x'",C
Input("y'",D
0->Z
Goto 6
Lbl 1
Input("x",E
Input("y",F
Input("rayon",G
E+G->A
F+G->B
E-G->C
F-G->D
1->Z
Goto 6
Lbl 2
Input("x1",A
Input("y1",B
Input("x2",C
Input("y2",D
Input("x3",E
Input("y3",F
2->Z
Goto 6
Lbl 3
Lbl 4
(pour les figures et les triangles il faut utiliser un système de liste)
Lbl 5
Lbl 6
(ici il faudrait placer un convertisseur de position type dessin au type texte sur 4 autre variable que A,B,C,D)
For(X,A,C
For(Y,B,D
pxl-change(X,Y
End
End
If Z=0
Ligne(A,B,C,D
If Z=1
Cercle(E,F,G
If Z=2
Then
Ligne(A,B,A,D
Ligne(A,B,C,B
Ligne(C,D,A,D
Ligne(C,D,C,B
End
If Z=3
If Z=4
If Z=5
For(X,A,C
For(Y,B,D
pxl-change(X,Y
End
End
Le système restera incomplet tant que je n'ai pas confirmation du fait qu'il n'existe pas de formule qui efface les formes.