π
<-

MEGR dessin 2.0.2 (Axe parser)

Assembleur, Axe, C/C++, ICE...

MEGR dessin 2.0.2 (Axe parser)

Message non lude kindermoumoute » 28 Mai 2010, 19:18

Voici MEGR2.0 dessin fait en Axe parser, celle ci est 9 fois plus rapide que le crayon de base 2nd=>Draw=>A (je vous laisse en juger par vous même).


- Fonctions de dessins :
* Dessiner des rectangles noir, blanc, ou qui inverse les pixels
* Dessiner des cercles.
* Ecrire du texte sur l'écran.
* Effacer l'écran.
* Enregistrer l'écran dans 9 Pic de la calculatrice (Pic1 à Pic9), qui sont donc réutilisable dans n'importe quel programme TI-Basic, Axe ou autre.
* 3 vitesse pour le crayon (oui c'est trop rapide quand on le laisse au maximum, donc je met des pause pour que ce soit plus agréable à utiliser en fonction des besoins).


- Fonctions du menu principale :
* On peut regarder 2 images en même temps pour faire apparaître 3 niveaux de couleurs.
* On peut regarder, supprimer et modifier n'importe quel image enregistrer entre Pic1-Pic9.

A venir :
- Refonte total de l'interface (menu..etc).



Touches :
menu principale :
2nd == nouveau dessin : mène aux options de dessins.

1 == voir image : sélectionner l'image avec les touches 1 à 9, puis appuyez sur entrer pour revenir au menu principale.

2 == modifier une image : sélectionner l'image avec les touches 1 à 9, ensuite allé aux options de dessins.

3 == Voir 3 degré de couleurs à partir de 2 images (comme pour "voir image", sauf que il faut faire la manip 2 fois pour a appeler la deuxième image).

4 == Supprimer image : sélectionner l'image avec les touches 1 à 9, puis l'image est supprimé et l'on revient au menu.

Clear == quitter



Options de dessins:

ALPHA == retourner au menu principale

Laissez 2nd enfoncé pour déssiner (noir).
Laissez Del enfoncé pour gommer (blanc).
Les flèches = bouger le curseur.
math = vitesse maximal (sans pause).
Apps = pause de 50 millisecondes dans la boucle.
Prgm = pause de 100 millisecondes dans la boucle.
Vars = pause de 200 millisecondes dans la boucle.
1 = Sauver l'écran dans la variable Pic1.
2 = Sauver l'écran dans la variable Pic2.
3 = Sauver l'écran dans la variable Pic3.
4 = Sauver l'écran dans la variable Pic4.
5 = Sauver l'écran dans la variable Pic5.
6 = Sauver l'écran dans la variable Pic6.
7 = Sauver l'écran dans la variable Pic7.
8 = Sauver l'écran dans la variable Pic8.
9 = Sauver l'écran dans la variable Pic9.
Clear = effacer écran.

+ == insérer texte, la police de base est en minuscule sans inversion de couleur, pour la modifier il faut appuyer sur alpha :
1 fois = minuscule inversé.
2 fois = Grande police normal.
3 fois = Grande police inversé.
4 fois = revient à minuscule normal.
Une fois que vous avez fini de taper votre texte, appuyez sur entrer.

Laissez Del+F1 enfoncé pour faire le rectangle vide (blanc) ; Note vous pouvez relâcher la touche Del une fois que le curseur a disparu.
Laissez F1 enfoncé pour faire le rectangle plein (noir).
Laissez F2 enfoncé pour faire le rectangle inversé.
Laissez F3 enfoncé pour faire un cercle, ensuite utilisez les flèches gauche et droite pour la taille.


Lien de téléchargement :
ICI


Source :
 
Show/Hide spoilerAfficher/Masquer le spoiler
Code: Tout sélectionner
:.MEGR2.0
:[C0A0502C160B0702→Pic1
:"Pic1→Str1
:"Pic2
:[00]
:"Pic3
:[00]
:"Pic4
:[00]
:"Pic5
:[00]
:"Pic6
:[00]
:"Pic7
:[00]
:"Pic8
:[00]
:"Pic9
:[00]
:":PIC →Str14
:"MEGR2.0 DRAW :→Str15
:"2ND:NEW→Str16
:"1:LOOK→Str17
:"2:CHANGE→Str18
:"3:LOOK GRAYSCALE→Str19
:"4:DELETE→Str20
:"CLR:QUIT→Str21
:0→Q→F→E→R→G→W→H→K
:1→I→T
:31→X+16→Y
:0→H→W
:ClrHome
:ClrDraw
:ClrDrawsupr/sup
:Repeat getKey(15)
:Text(0,0,Str15
:Text(0,14,Str16
:Text(0,21,Str17
:Text(0,28,Str18
:Text(0,35,Str19
:Text(0,42,Str20
:Text(0,49,Str21
:If getKey(34) or getKey(26) or getKey(18) or getKey(35) or getKey(54)
:If getKey(54)
:sub(A
:End
:If getKey(34)
:1→G
:sub(M
:If M
:0→M
:sub(B
:End
:End
:If getKey(26)
:1→G→Q
:sub(M
:If M
:0→M
:sub(B
:End
:End
:If getKey(18)
:1→K
:sub(M
:If M
:0→M
:sub(B
:End
:End
:If getKey(35)
:sub(M
:If M
:0→M
:DelVar Str1+I
:ClrHome
:Text(0,0,"DELETED PIC",((I/4)+1)►Dec)
:Repeat getKey(9)
:End
:End
:End
:ClrDrawsupr/sup
:ClrDraw
:ClrHome
:End
:End
:Return
:
:Lbl B
:GetCalc(Str1+I)→R
:R→DispGraph
:StoreGDB
:Archive Str1+I
:1→I
:!If G
:StorePic
:1→G
:Repeat getKey(9)
:End
:sub(M
:If M
:0→M
:Goto B
:End
:End
:!If Q
:Repeat getKey(9)
:If K
:DispGraphsupr/sup
:End
:End
:0→G→Q→K
:Return
:Else
:ClrHome
:0→G→Q→K
:End
:
:Lbl A
:Pause 500
:Repeat getKey(48)
:Pt-Change(X,Y,Pic1)
:DispGraph
:Pt-Change(X,Y,Pic1)
:If getKey(54)
:Pxl-On(X,Y)
:End
:If getKey(56)
:Pxl-Off(X,Y)
:End
:sub(I
:If I≠1
:If M
:0→M
:DelVar Str1+I
:End
:DispGraph
:StoreGDB
:GetCalc(Str1+I,768)→A
:conj(Lsub6/sub,A,768)
:Archive Str1+I
:1→I
:End
:If getKey(10)
:DispGraph
:sub(IN)
:End
:If getKey(51)
:sub(CI)
:End
:If getKey(53) or getKey(52)
:If getKey(53)
:1→R
:End
:If getKey(53) and getKey(56)
:2→R
:End
:While getKey(53) or getKey(52)
:sub(R
:End
:If R
:ref(X,Y,W,H)
:Else
:rref(X,Y,W,H)
:End
:If R=2
:rref(X,Y,W,H)
:End
:0→W→H→R
:End
:If getKey(15)
:ClrHome
:ClrDraw
:End
:sub(T
:If getKey(1) and (Y≠63
:Y+1→Y
:End
:If getKey(2) and (X≠0
:X-1→X
:End
:If getKey(3) and (X≠95
:X+1→X
:End
:If getKey(4) and (Y≠0
:Y-1→Y
:End
:End
:
:Lbl R
:StorePic
:If R
:ref(X,Y,W,H)supr/sup
:Else
:rref(X,Y,W,H)supr/sup
:End
:DispGraphsupr/sup
:ClrDrawsupr/sup
:sub(T
:If getKey(1) and ((H+Y)≠64
:H+1→H
:End
:If getKey(2) and (W≠0
:W-1→W
:End
:If getKey(3) and ((X+W)≠96
:W+1→W
:End
:If getKey(4) and (H≠0
:H-1→H
:End
:Return
:
:Lbl CI
:ClrDrawsupr/sup
:StorePic
:0→R
:While getKey(51)
:Circle(X,Y,R)
:DispGraphsupr/sup
:ClrDraw
:sub(T
:If getKey(2) and (R≠0
:R-1→R
:End
:If getKey(3)
:R+1→R
:End
:End
:RecallPic
:If R
:Circle(X,Y,R)
:End
:DispGraph
:0→R
:Return
:
:Lbl IN
:X→A
:Y→B
:0→F
:"WRMH"→GDB5
:det(3)
:"VQLG"
:det(3)
:"ZUPKFC"
:det(1)
:" YTOJEB"
:det(2)
:"XSNIDA"
:Repeat C=9
:getKey→C
:If C=48
:F+1→F
:If F=4
:0→F
:End
:!If F
:Fix 2
:Fix 0
:End
:If F=1
:Fix 3
:End
:If F=2
:Fix 1
:Fix 2
:End
:If F=3
:Fix 3
:End
:End
:If A≠96
:If C10 and (C48)
:If {C+GDB5-11}→D
:Text(A,B,D►Frac
:A+5→A
:End
:End
:End
:End
:StoreGDB
:0→A→B→C→D→F
:Fix 0
:Fix 2
:Return
:
:Lbl T
:If getKey(47)
:1→T
:End
:If getKey(39)
:50→T
:End
:If getKey(31)
:100→T
:End
:If getKey(23)
:200→T
:End
:Pause T
:Return
:
:Lbl M
:ClrHome
:Repeat E=9
:E+1→E
:F+6→F
:Text(0,F,E►Dec,Str14,E►Dec
:End
:0→E→F
:Repeat I≠1
:sub(I
:End
:
:Lbl I
:If getKey(34)
:0→I
:End
:If getKey(26)
:4→I
:End
:If getKey(18)
:8→I
:End
:If getKey(35)
:12→I
:End
:If getKey(27)
:16→I
:End
:If getKey(19)
:20→I
:End
:If getKey(36)
:24→I
:End
:If getKey(28)
:28→I
:End
:If getKey(20)
:32→I
:End
:UnArchive Str1+I
:If GetCalc(Str1+I)
:1→M
:End


Un petit screen :
Image
Tutoriel sur l'axe parser, un langage de programmation pour z80 ultra rapide et beaucoup plus facile que l'ASM !
Avatar de l’utilisateur
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 2.6%
 
Messages: 849
Inscription: 30 Sep 2009, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ecole d'ingénieur informatique et industriel

Re: MEGR dessin 2.0.2 (Axe parser)

Message non lude kindermoumoute » 29 Mai 2010, 10:24

Pour l'instant on déplace avec les flèches directionnelles, on dessine en laissant appuyer 2nd, ça gomme automatiquement quand cette touche n'est pas pressé, et il y a 4 cran de vitesse (MATH = normal (le plus rapide), APPS = pause de 50ms dans la boucle (un peu moins rapide), PRGM = pause de 100ms (encore moins rapide), VARS = pause de 200ms (le plus lent)), on enregistre en appuyant sur la touche 1 (après on pourra appuyer sur la touche 2 pour enregistrer dans l'image 2, touche 3 pour l'image 3.. etc), alpha pour retourner au menu, et dans le menu Clear pour quitter.
Tutoriel sur l'axe parser, un langage de programmation pour z80 ultra rapide et beaucoup plus facile que l'ASM !
Avatar de l’utilisateur
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 2.6%
 
Messages: 849
Inscription: 30 Sep 2009, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ecole d'ingénieur informatique et industriel

Re: MEGR dessin 2.0.2 (Axe parser)

Message non lude Kiligolo » 29 Mai 2010, 10:54

Bravo!!! :#top#:
Avatar de l’utilisateur
Kiligolo
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 84.3%
 
Messages: 1465
Inscription: 17 Mai 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 1reS

Re: MEGR dessin 2.0.2 (Axe parser)

Message non lude kindermoumoute » 12 Sep 2010, 18:02

Mise à jour, tout est indiqué dans mon premier post, sauf un truc, lors de la compilation j'ai pris le fichier anglais.. donc pas de "nouveau" mais plutôt "new" ^^'


EDIT : si un modo pouvait rajouter ça à la BDD de TI-BANK, je mettrais éventuellement à jour pour de prochaine version, merci.
Tutoriel sur l'axe parser, un langage de programmation pour z80 ultra rapide et beaucoup plus facile que l'ASM !
Avatar de l’utilisateur
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 2.6%
 
Messages: 849
Inscription: 30 Sep 2009, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ecole d'ingénieur informatique et industriel

Re: MEGR dessin 2.0.2 (Axe parser)

Message non lude kindermoumoute » 12 Sep 2010, 21:34

Désolé je corrige un bug (les programmes ici crashait au démarrage ^^).
Tutoriel sur l'axe parser, un langage de programmation pour z80 ultra rapide et beaucoup plus facile que l'ASM !
Avatar de l’utilisateur
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 2.6%
 
Messages: 849
Inscription: 30 Sep 2009, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ecole d'ingénieur informatique et industriel

Re: MEGR dessin 2.0.2 (Axe parser)

Message non lude kindermoumoute » 15 Sep 2010, 14:31

Mise à jour!!
Correction de quelques beaucoup de bug, rajout de 3 fonction :
- Dessiner un rectangle plein (comme un cliqué glissé).
- Dessiner un rectangle inversé (inverse les couleur dans le rectangle, et se fait également comme un cliqué glissé).
- Effacer l'écran.


J'ai mit dans le dossier la source, et les exécutable pour Ion, Mirage OS, doors CS, sans shell, et sous forme d'application.
Tutoriel sur l'axe parser, un langage de programmation pour z80 ultra rapide et beaucoup plus facile que l'ASM !
Avatar de l’utilisateur
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 2.6%
 
Messages: 849
Inscription: 30 Sep 2009, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ecole d'ingénieur informatique et industriel

Re: MEGR dessin 2.0.2 (Axe parser)

Message non lude Loulou 54 » 29 Sep 2010, 16:20

Claasse !

Tu pourrais faire aussi des trucs du genre :
* Ouvrir une image et la positionner avec le curseur
* Différentes fonctions comme rotation, symétrie, grossir...
* Enregistrer une partie de l'écran

(si c'est faisable..) :=):
En effet je ne sais pas trop comment marche les z80. On peut enregistrer des images de différente taille ?
Je pense oui : c'est indispensable pour les jeux ! :D:
Mes programmes => ici !
Avatar de l’utilisateur
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 1.7%
 
Messages: 1988
Images: 8
Inscription: 02 Aoû 2009, 00:00
Localisation: 54, près de Metz
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ingé Logiciel chez Amazon

Re: MEGR dessin 2.0.2 (Axe parser)

Message non lude Kiligolo » 29 Sep 2010, 16:22

Loulou 54 a écrit:En effet je ne sais pas trop comment marche les z80. On peut enregistrer des images de différente taille ?
Je pense oui : c'est indispensable pour les jeux ! :D:

On peut faire des sprites mais à part ça je ne pense pas... :'(:
Avatar de l’utilisateur
Kiligolo
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Prochain niv.: 84.3%
 
Messages: 1465
Inscription: 17 Mai 2010, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: 1reS

Re: MEGR dessin 2.0.2 (Axe parser)

Message non lude kindermoumoute » 29 Sep 2010, 16:35

Loulou 54 a écrit:Claasse !

merci
Loulou 54 a écrit:* Ouvrir une image et la positionner avec le curseur

L'utilité?
Loulou 54 a écrit:* Différentes fonctions comme rotation, symétrie, grossir...
* Enregistrer une partie de l'écran
(si c'est faisable..) :=):

ou lala, on est en Axe parser la! pas sur un vrai PC ^^ (et si je retourne l'écran de 90°, il manque des pixel :/), mais je vais réfléchir à la symétrie.
Loulou 54 a écrit:En effet je ne sais pas trop comment marche les z80. On peut enregistrer des images de différente taille ?

Théoriquement, oui ; pratiquement.. rien est adapté pour, et ça ne s'adaptera à rien du tout (mon but est comme même de pouvoir réutiliser les images).


EDIT : MISE à jour regarder le premier post!
Tutoriel sur l'axe parser, un langage de programmation pour z80 ultra rapide et beaucoup plus facile que l'ASM !
Avatar de l’utilisateur
kindermoumouteProgrammeur
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 2.6%
 
Messages: 849
Inscription: 30 Sep 2009, 00:00
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ecole d'ingénieur informatique et industriel

Re: MEGR dessin 2.0.2 (Axe parser)

Message non lude Loulou 54 » 29 Sep 2010, 17:04

Bah en fait mon programme TI-MAGE sur 89 fait ces fonctions. L'avantage est justement de pouvoir dessiner des sprites pour des jeux ! Ou des images de fond composées d'éléments qui se répètent par exemple !
= Oui j'ai oublié la fonction copier-coller. C'est à dire une fonction avec laquelle tu peux copier un rectangle de l'écran et le recoller n'importe où tu veux, autant de fois que tu veux ! Et tu pourrais aussi faire ça à partir d'un fichier.

La fonction rotation, ça permet, par exemple de mettre du texte à l'envers, ou vertical, voir même penché à 45° (tout cela est faisable dans mon TI-MAGE par exemple) La fonction grossissement peut aussi être pratique au niveau du texte.

En fait, moi j'avais fait TI MAGE justement pour les fonctions inaccessibles interactivement dans l'écran graphique, pas tellement pour les outils. (mes outils de crayon, gomme, etc sont même moins bien que ceux d'origine)

C'est à dire, oui, placer une image où tu veux, copier coller, tourner, grossir *2, ANNULER-RETABLIR une action ! (ça aussi c'est très pratique ! Tu peux peut-être y songer ! ;) )

:#top#:
Mes programmes => ici !
Avatar de l’utilisateur
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Prochain niv.: 1.7%
 
Messages: 1988
Images: 8
Inscription: 02 Aoû 2009, 00:00
Localisation: 54, près de Metz
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: Ingé Logiciel chez Amazon

Suivante

Retourner vers Langages alternatifs

Qui est en ligne

Utilisateurs parcourant ce forum: ClaudeBot [spider] et 5 invités

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
7034 utilisateurs:
>7002 invités
>24 membres
>8 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)