Ti mapping
5 participants
Page 1 sur 3
Page 1 sur 3 • 1, 2, 3
Ti mapping
Après le succès de mon IDE de Ti-basic "CMD".... (ok j'arrête ).
Bref je me lance dans un nouveau projet toujours en Ti-basic, qui s'appellerais "TIMAPING".
Le but étant, de créer ce que l'on appel des "cartes mentales", mais dans une version grandement simplifiée. pour ceux qui ne connaissent pas les logiciels de création de cartes mentales, MINDOMO en est un très bon qu'on utilisent dans nos cours de SI au lycée.
[Vous devez être inscrit et connecté pour voir cette image]
Biensûr le principal problème vient de la taille de l'écran de la Ti.
Je réfléchis donc sur comment gérer au mieux cet inconvénient: Je pensais déjà à un système d'onglets entre lesquels on pourrais switcher via les touches F1, F2...
Donc si vous avez des idées à m'apporter n'hésitez pas, c'est fait pour ça !
Bref je me lance dans un nouveau projet toujours en Ti-basic, qui s'appellerais "TIMAPING".
Le but étant, de créer ce que l'on appel des "cartes mentales", mais dans une version grandement simplifiée. pour ceux qui ne connaissent pas les logiciels de création de cartes mentales, MINDOMO en est un très bon qu'on utilisent dans nos cours de SI au lycée.
[Vous devez être inscrit et connecté pour voir cette image]
Biensûr le principal problème vient de la taille de l'écran de la Ti.
Je réfléchis donc sur comment gérer au mieux cet inconvénient: Je pensais déjà à un système d'onglets entre lesquels on pourrais switcher via les touches F1, F2...
Donc si vous avez des idées à m'apporter n'hésitez pas, c'est fait pour ça !
maxence- Or 4
- Sexe :
Age : 27
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-84+
Re: Ti mapping
au lieu de faire un ecran avec toute les carte fais un defilemen tu place une carte au milieu de l'ecran et quand tu appuie sur la fleche de droite ou de gauche sa change de carte
cependant en ti basic sa va etre un peu lent mais fais un systeme de menus c'est plus simple
cependant en ti basic sa va etre un peu lent mais fais un systeme de menus c'est plus simple
nikitouzz- Platinum 1
- Sexe :
Age : 28
Messages : 1834
Date d'inscription : 16/01/2011
Points Forum : 7
Points Concours : 6
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic 68K
- - TI-Basic Nspire
- - TI-73
- - TI-76.fr
- - TI-82 Stats.fr
- - TI-83+
- - TI-84+
- - TI-92
- - TI-Nspire
- - TI-Nspire CX
Re: Ti mapping
En fait ce qu'on appel carte dans "carte mental" c'est l'ensemble, et non pas un seul "cadre" qu'on appel sujet.
Le but serai d'essayer de caler j'usqu'a 4 sujets par ecran, et quand je disais des "onglets" c'etais justement un moyen de parser la carte en 5 ecran diferents via les touches F1, F2 etc...
Pour l'instant je reflechis à oú mettre le titre, car en principe il est au milieu de l'écran...
Le but serai d'essayer de caler j'usqu'a 4 sujets par ecran, et quand je disais des "onglets" c'etais justement un moyen de parser la carte en 5 ecran diferents via les touches F1, F2 etc...
Pour l'instant je reflechis à oú mettre le titre, car en principe il est au milieu de l'écran...
maxence- Or 4
- Sexe :
Age : 27
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-84+
Re: Ti mapping
...en basic ? sa va être extrêmement lent
il faut trouver un autre moyen
quand au titre principal l’écriture est trop grosse pour le mettre au milieu de l’écran, met le plutot sur le coter droit au milieu.
il faut trouver un autre moyen
quand au titre principal l’écriture est trop grosse pour le mettre au milieu de l’écran, met le plutot sur le coter droit au milieu.
nikitouzz- Platinum 1
- Sexe :
Age : 28
Messages : 1834
Date d'inscription : 16/01/2011
Points Forum : 7
Points Concours : 6
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic 68K
- - TI-Basic Nspire
- - TI-73
- - TI-76.fr
- - TI-82 Stats.fr
- - TI-83+
- - TI-84+
- - TI-92
- - TI-Nspire
- - TI-Nspire CX
Re: Ti mapping
Iln'y aura pas de defilmnt donc le fait que ce soit lent n'est pas un probleme.
Ce sera comme si on chargeai les differentes pages, une fois affichees, il n'y aura pas beacouos d'actions possibles.
Ce sera comme si on chargeai les differentes pages, une fois affichees, il n'y aura pas beacouos d'actions possibles.
maxence- Or 4
- Sexe :
Age : 27
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-84+
Re: Ti mapping
Cool, mais tu devrais le faire en Axe Parser si tu veux un truc correcte et fluide.
PS : En SI, vous utilisez mindview ? (c'est vachement pratique pour les TPE/TPE)
PS : En SI, vous utilisez mindview ? (c'est vachement pratique pour les TPE/TPE)
kindermoumoute- Or 4
- Sexe :
Age : 30
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-83+
Re: Ti mapping
oui fais le en axe parser c'est un tres bon langages tres simple
nikitouzz- Platinum 1
- Sexe :
Age : 28
Messages : 1834
Date d'inscription : 16/01/2011
Points Forum : 7
Points Concours : 6
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic 68K
- - TI-Basic Nspire
- - TI-73
- - TI-76.fr
- - TI-82 Stats.fr
- - TI-83+
- - TI-84+
- - TI-92
- - TI-Nspire
- - TI-Nspire CX
Re: Ti mapping
oui fais le en axe parser c'est un tres bon langages tres simple
pas besoin de me présenter l'axe, je connais déjà, j'ai déjà fait un doodle jump, un snake, pas mal de tests de RPG (je n'ai pas abndoner mon vieux projet, j'attend d'avoir plus de notions).
Mais les raisons qui me poussent a utiliser le basic sont:
Le rendre accessible a un max de gens, en particulier au lycee, comme pour CMD lui aussi réalisé en basic.
Mon mnque de notions dans ce langage, que je pense pas savoir maitriser. Je ne vois meme pas comment demander une phrase a l'utilisateur.
Apres je veux bien le réaliser en axe quand meme, mais dans ce cas la il va vous falloir m'aider massivement
maxence- Or 4
- Sexe :
Age : 27
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-84+
Re: Ti mapping
moi je veux bien t'aider
pour demander une phrase a l'utilisateur il faut faire une routine avec un getkey pour chaque lettre
pour demander une phrase a l'utilisateur il faut faire une routine avec un getkey pour chaque lettre
nikitouzz- Platinum 1
- Sexe :
Age : 28
Messages : 1834
Date d'inscription : 16/01/2011
Points Forum : 7
Points Concours : 6
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic 68K
- - TI-Basic Nspire
- - TI-73
- - TI-76.fr
- - TI-82 Stats.fr
- - TI-83+
- - TI-84+
- - TI-92
- - TI-Nspire
- - TI-Nspire CX
Re: Ti mapping
En effet ça me parraissait etre une solution, mais je pensais qu'il y avait beacoup plus simple, finalement non. J'accepte ton aide avec plaisir , et aussi celle de tous ceux qui le veulent
maxence- Or 4
- Sexe :
Age : 27
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-84+
Re: Ti mapping
il y a plus simple mais largement plus compliquer a coder je ne sais meme pas si je serais faire...
parceque la fonctions input en ace renvoie un nombre hexadecimal et avec quelque manip on peut faire en sorte que sa devienne des lettre :D
parceque la fonctions input en ace renvoie un nombre hexadecimal et avec quelque manip on peut faire en sorte que sa devienne des lettre :D
nikitouzz- Platinum 1
- Sexe :
Age : 28
Messages : 1834
Date d'inscription : 16/01/2011
Points Forum : 7
Points Concours : 6
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic 68K
- - TI-Basic Nspire
- - TI-73
- - TI-76.fr
- - TI-82 Stats.fr
- - TI-83+
- - TI-84+
- - TI-92
- - TI-Nspire
- - TI-Nspire CX
Re: Ti mapping
La fonction input en axe ne sert pas a creer un pointeur ? Si c'est le cas on ne peut pas le faire devenir une lettre
maxence- Or 4
- Sexe :
Age : 27
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-84+
Re: Ti mapping
La fonction input en Axe permet de manipuler une chaîne de tokens (voir le premier chapitre de la 3ème partie !).
Par contre pour créer un truc qui relève chaque lettre, il faut utiliser la commande inData(getKey,Data(Code touche de chaque lettre).
J'ai pas le temps là, demain BAC. Mais oui on peut t'aider !
Par contre pour créer un truc qui relève chaque lettre, il faut utiliser la commande inData(getKey,Data(Code touche de chaque lettre).
J'ai pas le temps là, demain BAC. Mais oui on peut t'aider !
kindermoumoute- Or 4
- Sexe :
Age : 30
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-83+
Re: Ti mapping
je pensais pas a cette technique kinder mais bon
la fonctions input renvoie une chaine ou un seul tokens, les tokens sont convertible en numero donc voila
la fonctions input renvoie une chaine ou un seul tokens, les tokens sont convertible en numero donc voila
nikitouzz- Platinum 1
- Sexe :
Age : 28
Messages : 1834
Date d'inscription : 16/01/2011
Points Forum : 7
Points Concours : 6
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic 68K
- - TI-Basic Nspire
- - TI-73
- - TI-76.fr
- - TI-82 Stats.fr
- - TI-83+
- - TI-84+
- - TI-92
- - TI-Nspire
- - TI-Nspire CX
Re: Ti mapping
Oui j'ai ete lire le tuto apres. En fait je pensais que cette commande n'avais rien a voir avec celle en basic, et quelle transformait une variable normale en pointeur uniquement.
maxence- Or 4
- Sexe :
Age : 27
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-84+
Re: Ti mapping
non pas du tout et meme de toute facon un pointeur est recuperable...
nikitouzz- Platinum 1
- Sexe :
Age : 28
Messages : 1834
Date d'inscription : 16/01/2011
Points Forum : 7
Points Concours : 6
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic 68K
- - TI-Basic Nspire
- - TI-73
- - TI-76.fr
- - TI-82 Stats.fr
- - TI-83+
- - TI-84+
- - TI-92
- - TI-Nspire
- - TI-Nspire CX
Re: Ti mapping
Je vois pas comment tu veux t'y prendre...sachiix69 a écrit:la fonctions input renvoie une chaine ou un seul tokens, les tokens sont convertible en numero donc voila
Mon code en plus élaboré :
- Code:
:Input()
:Disp L1
:Return
:
:Lbl Input
:~1->I
:While 1
:While 1
:getKey
:inData(,Data(9,33,47,39,31,46,38,30,22,14,45,37,29,21,13,44,36,28,20,12,43,35,27,19,11,42,34,26
:EndIf
:Return!If -1
:-1??~68
:+98*256->{I+++L1}r
:Disp
:End
kindermoumoute- Or 4
- Sexe :
Age : 30
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-83+
Re: Ti mapping
Oui je veux bien, mais déjà moi qui débute en axe je ne comprend pas ton code
maxence- Or 4
- Sexe :
Age : 27
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-84+
Re: Ti mapping
en meme temps il l'a optimiser presque au max
normal que tu ne comprenne pas
met toi a l'axe c'est trop bien
normal que tu ne comprenne pas
met toi a l'axe c'est trop bien
nikitouzz- Platinum 1
- Sexe :
Age : 28
Messages : 1834
Date d'inscription : 16/01/2011
Points Forum : 7
Points Concours : 6
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-Basic 68K
- - TI-Basic Nspire
- - TI-73
- - TI-76.fr
- - TI-82 Stats.fr
- - TI-83+
- - TI-84+
- - TI-92
- - TI-Nspire
- - TI-Nspire CX
Re: Ti mapping
Bon, ce topic est pas là pour essayer de convertir Maxence à l'Axe, donc retour au sujet s'il vous plaît.
(matrefeytontias en mode Modo )
(matrefeytontias en mode Modo )
matrefeytontias- Platinum 1
- Sexe :
Age : 26
Messages : 1383
Date d'inscription : 28/09/2011
Etudes : 1ère S SI
Points Forum : 90
Points Concours : 7
Langages :- - ASM TI-82 Stats / TI-83
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - Lua Nspire
- - Ndless Nspire
- - TI-83+.fr
- - TI-Nspire CAS
Re: Ti mapping
Non, pas besoin de me convertir j'en fait déjà je vous ai dit, c'est juste que je suis mauvais .
Le plus gros problème je pense va être de créer l'appvar qui va mémoriser chaque "bulle de texte" et son emplacement...
Je pensais déjà a une variable qui servirais de "point de repère", et les coordonnées des "bulles" seraient ajoutées à cette variable. On aurais donc juste à la faire varier pour déplacer toute les carte, vous me suivez ?
Le plus gros problème je pense va être de créer l'appvar qui va mémoriser chaque "bulle de texte" et son emplacement...
Je pensais déjà a une variable qui servirais de "point de repère", et les coordonnées des "bulles" seraient ajoutées à cette variable. On aurais donc juste à la faire varier pour déplacer toute les carte, vous me suivez ?
maxence- Or 4
- Sexe :
Age : 27
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-84+
Re: Ti mapping
matrefeytontias, mon message est parfaitement placé au bon endroit : on est dans le forum Programmation.
Ou sinon Maxence, ce projet pourrait être un vrai aubaine justement pour en apprendre plus sur l'Axe !
PS : et si tu ne comprends pas comment les valeurs peuvent passer d'une ligne à une autre, vas voir ici.
Ou sinon Maxence, ce projet pourrait être un vrai aubaine justement pour en apprendre plus sur l'Axe !
Axe a écrit::Input()
:Disp L1
:Return
:
:Lbl Input
:~1→I
:.I vaut -1 (~ est le signe négatif)
:While 1
:While 1
:getKey
:.On récupère la touche pressée
:
:inData(,Data(9,33,47,39,31,46,38,30,22,14,45,37,29,21,13,44,36,28,20,12,43,35,27,19,11,42,34,26
:.Puis on convertit la touche en un certain nombre dans l'ordre dans la liste
:.En gros la touche A vaut 3, la touche
:
:EndIf
:.La boucle d'arrête si une touche fait partie de la liste
:
:Return!If -1
:.Le programme s'arrête si la touche enter a été pressée
:
:-1??~64
:.Là c'est juste pour la touche espace
:
:+96*256→{I+++L1}r
:.Regarde ce tableau : [Vous devez être inscrit et connecté pour voir ce lien]
:.En gros j'utilise la valeur du inData()-2+96 pour obtenir un caractère ASCII
:
:Disp
:.Normalement le caractère ASCII s'affiche à la suite des premiers
:
:End
Generated by the BBify'r (http://clrhome.org/resources/bbify/)
PS : et si tu ne comprends pas comment les valeurs peuvent passer d'une ligne à une autre, vas voir ici.
kindermoumoute- Or 4
- Sexe :
Age : 30
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-83+
Re: Ti mapping
Nan, ça j'avais comprit, je le considérais en effet comme "un sorte" de Ans.
Mais ce que je ne comprend pas c'est les "?".
En principe "A++" = "A+1→A", mais à quoi correspond "+96*256→{I+++L1}r" ?
Pourquoi en axe il ont mis les "++" et "--" mais pas les "+=" ou "*=", "/=" ? (ça c'est à part )
Mais ce que je ne comprend pas c'est les "?".
En principe "A++" = "A+1→A", mais à quoi correspond "+96*256→{I+++L1}r" ?
Pourquoi en axe il ont mis les "++" et "--" mais pas les "+=" ou "*=", "/=" ? (ça c'est à part )
maxence- Or 4
- Sexe :
Age : 27
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-84+
Re: Ti mapping
Il y a une histoire de registre HL il me semble.
noelthebest- Platinum 1
- Sexe :
Age : 26
Messages : 1971
Date d'inscription : 12/03/2011
Etudes : ENS Cachan
Points Forum : 20
Points Concours : 9
Langages :- - TI-Basic Z80
- - ASM TI-83+ / TI-84+
- - Axe Parser
- - TI-83+.fr
- - TI-Nspire CX
- - Casio Collège
- - Casio Graph
Re: Ti mapping
Je modifie juste un truc pour le Disp :
Mais je n'ai toujours pas testé.
Le ? c'est juste une condition, cela revient exactement à faire !If (HL)-1.
Tu as bien compris la syntaxe de l'incrémentation, ici ça fait bien {I+1->I+L1} mais en optimisé.
Donc je fait le numéro de la lettre +96 pour qu'elle corresponde au numéro ASCII : la touche A correspond au nombre 0, en ajoutant 96 j'ai le a minuscule en ASCII, puis pour le B je fais 1+96, etc..
Je multiplie par 256 tout simplement pour stocker ce nombre ASCII dans le l'octet {I+L1}, ainsi je stockerai 0 dans l'octet {I+1+L1}, car je rappelle, une chaîne de caractère doit se terminer par zéro pour l'afficher.
Ensuite j'utilise un petit bug (expliqué dans le tuto) pour afficher sur le Disp. Pour donner un exemple simple, mettons que la première lettre est le B et la deuxième D. On a les trois premiers octets de L1 qui valent "BD"[00] ou encore (97,99,0). Donc le premier coup (pour la lettre B) ça va faire Disp L1 avec les deux premiers octets à (97,0), puis après pour la lettre D Disp L1+1 avec la chaîne de caractère de deux octets commençant à L1+1 étant de (99,0), etc...
Rien de bien méchant en soit.
Axe a écrit::Input()
:Disp L1
:Return
:
:Lbl Input
:~1→I
:.I vaut -1 (~ est le signe négatif)
:While 1
:While 1
:getKey
:.On récupère la touche pressée
:
:inData(,Data(9,33,47,39,31,46,38,30,22,14,45,37,29,21,13,44,36,28,20,12,43,35,27,19,11,42,34,26
:.Puis on convertit la touche en un certain nombre dans l'ordre dans la liste
:.En gros la touche A vaut 3, la touche
:
:EndIf
:.La boucle d'arrête si une touche fait partie de la liste
:
:Return!If -1
:.Le programme s'arrête si la touche enter a été pressée
:
:-1??~64
:.Là c'est juste pour la touche espace
:
:+96*256→{I+++L1}r
:.Regarde ce tableau : [Vous devez être inscrit et connecté pour voir ce lien]
:.En gros j'utilise la valeur du inData()-2+96 pour obtenir un caractère ASCII
:
:Disp -1
:.Normalement le caractère ASCII s'affiche à la suite des premiers
:
:End
Generated by the BBify'r (http://clrhome.org/resources/bbify/)
Mais je n'ai toujours pas testé.
maxence a écrit:Nan, ça j'avais comprit, je le considérais en effet comme "un sorte" de Ans.
Mais ce que je ne comprend pas c'est les "?".
En principe "A++" = "A+1→A", mais à quoi correspond "+96*256→{I+++L1}r" ?
Pourquoi en axe il ont mis les "++" et "--" mais pas les "+=" ou "*=", "/=" ? (ça c'est à part )
Le ? c'est juste une condition, cela revient exactement à faire !If (HL)-1.
Tu as bien compris la syntaxe de l'incrémentation, ici ça fait bien {I+1->I+L1} mais en optimisé.
Donc je fait le numéro de la lettre +96 pour qu'elle corresponde au numéro ASCII : la touche A correspond au nombre 0, en ajoutant 96 j'ai le a minuscule en ASCII, puis pour le B je fais 1+96, etc..
Je multiplie par 256 tout simplement pour stocker ce nombre ASCII dans le l'octet {I+L1}, ainsi je stockerai 0 dans l'octet {I+1+L1}, car je rappelle, une chaîne de caractère doit se terminer par zéro pour l'afficher.
Ensuite j'utilise un petit bug (expliqué dans le tuto) pour afficher sur le Disp. Pour donner un exemple simple, mettons que la première lettre est le B et la deuxième D. On a les trois premiers octets de L1 qui valent "BD"[00] ou encore (97,99,0). Donc le premier coup (pour la lettre B) ça va faire Disp L1 avec les deux premiers octets à (97,0), puis après pour la lettre D Disp L1+1 avec la chaîne de caractère de deux octets commençant à L1+1 étant de (99,0), etc...
Rien de bien méchant en soit.
kindermoumoute- Or 4
- Sexe :
Age : 30
Messages : 797
Date d'inscription : 07/10/2010
Points Forum : 21
Points Concours : 1
Langages :- - TI-Basic Z80
- - Axe Parser
- - TI-83+
Page 1 sur 3 • 1, 2, 3
Page 1 sur 3
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|