Autorisation : Membre
Nb de messages : 37
Inscrit le : Dim 08 Sep 2013, 15:30
Posté le : Sam 14 Sep 2013, 15:38
Bonjour,
voici un petit projet : l’effaceur
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).
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.
---------------------- testeur de touche rapidement :
While 1
codetouche->A
If A=/=0
disp A
End
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 14 Sep 2013, 16:12
Seules les lignes, les Pt et les Pxl permettent d'effacer naturellement.
L'idée d'inverser est géniale.
Mais pas utilisable dans un autre programme fluide comme un jeu.
Tu n'auras pas besoin de convertir les repères. Il existe aussi bien Pt-Change que Pxl-Change.
Pour changer de repère ce serait
X2=Xmin2+(X1-Xmin1)*(Xmax2-Xmin2)/(Xmax1-Xmin1)
en adaptant les données.
Remarque : j'ai créé cette formule moi-même, cela n'empêche pas quelqu'un d'autre de l'avoir inventé aussi.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 37
Inscrit le : Dim 08 Sep 2013, 15:30
Posté le : Sam 14 Sep 2013, 20:55
Étant donné que les ligne sont finalement effaçable je pense ne pas me casser la tête et je vais utiliser l'inversion uniquement pour les cercles cela sera plus efficace mais c'est presque decevant de voir mon idée réduite à ce point là
Rapidement je n'utilise pas pt-change car il comporte des bugs que j'ai remarqué en faisant le changement total de l'écran et px-change fonctionne mieux
Merci d'avoir mis à ma disposition ce code :-)
PS Au fait les forums types ti 82 ti82 stat et tous : sont-il censé comporté des programmes ou plutôt des problèmes matériel ou en bref suis-je dans la bonne rubrique (car il y a aussi la rubrique programmes des membres)?
---------------------- testeur de touche rapidement :
While 1
codetouche->A
If A=/=0
disp A
End
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Sam 14 Sep 2013, 23:15
J'espère que ce n'est pas moi qui t'ai blessé par mon manque de tact.
Dommage en effet que le TI-Basic ne permette pas de faire ça efficacement.
Je connais un seul bug sur les Pt. La réinitialisation innattendue de Y par certaines fonctions (dont les Pt) suite à certaines modifications du graphe. http://tout82.free.fr/forum/sujet.php?sujet=2068
réponse au PS :
Une question sur un modèle donné devrait aller dans la rubrique dédiée, mais une question sur la programmation même d'un modèle précis peut aller dans la rubrique aide à la progra. On a le choix dans des cas comme ça. De même une connexion à une ti82 devrait aller dans la rubrique de connexion, mais on peut la mettre aussi dans ti82...
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)