π
<-

Aide pour programmer en LUA

Pour TI-Nspire OS 3.0 ou ultérieur.

Re: Aide pour programmer en LUA

Unread postby Adriweb » 23 May 2013, 20:46

pour une table, c'est #maTable (le smybole "#" devant).
Mais, selon l'organisation de ta table (key/value, etc.) mieux vaut que tu compte avec un truc du genre :

nbr=0; for i,v in pairs(maTable) do nbr=nbr+1 end print(nbr)

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.9%
 
Posts: 14839
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Aide pour programmer en LUA

Unread postby Levak » 23 May 2013, 22:17

Sauf cas très spécifiques, compter le nombre d'éléments dans une table indexée par des key est très rare et on utilise alors tout de suite for k, v in pairs(t) do --[[process]] end sans jamais compter quoi que ce soit.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Re: Aide pour programmer en LUA

Unread postby AnToX98 » 25 May 2013, 15:32

Petite question : ou dois-je placer le "platform.window:invalidate". J'utilise deja plusieurs fonctions (on.paint, on.arrowKey, on.enterKey, on.tabKey , etc...) mais je ne comprend pas : le jeu marche très bien sur l'ordinateur, le student software, mais pourtant, dès que je le met sur ma calculatrice, le jeu ne fonctionne pas correctement, il bloque dans certains menus, etc... Je rajoute alors des platform.window:invalidate(), quelques fonctions se remettent a fonctionner, d'autre non D:

Est-ce a cause de la difference de mémoire ram sur les deux engins ( surtout que mon jeu fait 32ko, surement a cause de l'image de la roulette ) ?
Merci de m'éclaircir dans ce domaine :)

PS: J'ai essayer de suivre les conseils de Levak, en essayant de reconstituer la roulette dans la fonction on.paint (gc), mais je n'y suis pas parvenu, puis l'image rend le jeu beaucoup plus immersif :p
User avatar
AnToX98Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 75.5%
 
Posts: 1022
Images: 15
Joined: 19 May 2013, 16:54
Location: Paris, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ere S

Re: Aide pour programmer en LUA

Unread postby Adriweb » 25 May 2013, 15:35

Mets des plateform.window:invalidate() uniquement aux endroits qui vont modifier des propriétés ayant un impact graphique. Par exemple, les coordonées des trucs à dessiner. Quand ut as fini de modifier les coordonées apres x calculs, ben, tu appelles la fonction pour signaler que c'est bon pour "repeindre" l'écran.

Généralement, donc, c'est apres les événements I/O (on.enterKey, charIn, etc.)
Pour les animations, c'est aussi en fin du on.timer

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.9%
 
Posts: 14839
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: Aide pour programmer en LUA

Unread postby AnToX98 » 26 May 2013, 13:45

Pourriez vous m'expliquer le fonctionnement des timers?
Autre question : comment valider un string écrit avec On.charIn ?
Peut on insérer 2 fois la meme fonction ? (comme function on.enterKey())
User avatar
AnToX98Premium
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 75.5%
 
Posts: 1022
Images: 15
Joined: 19 May 2013, 16:54
Location: Paris, France
Gender: Male
Calculator(s):
MyCalcs profile
Class: 1ere S

Re: Aide pour programmer en LUA

Unread postby Levak » 26 May 2013, 15:40

AnToX98 wrote:Pourriez vous m'expliquer le fonctionnement des timers?

La fonction on.timer est appelée à chaque "tic". La fréquence des "tic" est définie par timer.start(sec).
Autre question : comment valider un string écrit avec On.charIn ?

C'est toi qui définies ta méthode d'entrée. on.charIn est juste une fonction appelée à chaque caractère entré. Si tu parles de "string" cela veut dire que tu as déjà un buffer "global" où tu ne fait que pousser les caractères dedans : http://inspired-lua.org/index.php/2011/ ... a/?lang=fr
Peut on insérer 2 fois la meme fonction ? (comme function on.enterKey())

Non, cela écrase l'ancienne.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

Previous

Return to Nspire-Lua

Who is online

Users browsing this forum: ClaudeBot [spider] and 1 guest

-
Search
-
Social TI-Planet
-
Featured topics
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 !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2084 utilisateurs:
>2071 invités
>6 membres
>7 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)