π
<-

j'ai commencé un truc mais ce n'est pas super rapide

Pour TI-Nspire OS 3.0 ou ultérieur.

j'ai commencé un truc mais ce n'est pas super rapide

Unread postby charognard » 21 May 2011, 22:06

Un casse brique en temps réel
il y a une solution pour augmenter cela ou j'arrète de suite ?



Code: Select all
vie=3
score=0
raqpos=100
raqlon=30
raqtype=1
level=2
palet={raqpos,202}
niv={{1,1,1,1,2,3,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,4,5,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1
},
{0,1,1,1,2,3,1,1,1,1,1,
0,1,1,1,1,1,1,1,1,1,1,
1,0,1,1,1,1,1,1,1,1,1,
1,0,1,1,4,5,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,4,4,4,4,4,4,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1
}}
function on.paint(gc)
   interface()
   raquette(raqpos,raqtype)
   curseur()
   for b = 1, 14 do
      for a = 1, 11 do
         if niv[level][a+11*(b-1)]~=0 then
            brique(a,b,niv[level][a+11*(b-1)])
         end
      end
   end
end
function brique(x,y,type)
   if type==1 then
      platform.gc():setColorRGB(40,40,40)
   elseif type==2 then
      platform.gc():setColorRGB(80,80,80)
   elseif type==3 then
      platform.gc():setColorRGB(120,120,120)
   elseif type==4 then
      platform.gc():setColorRGB(255,0,0)
   elseif type==5 then
      platform.gc():setColorRGB(0,255,0)
   end
   platform.gc():fillRect(x*22-16,y*9-3,20,7)
end
function raquette(x,type)
   if type == 1 then
      platform.gc():fillRect(x,204,raqlon,3)
   elseif type == 2 then
      platform.gc():fillRect(x,204,raqlon,3)
   elseif type == 3 then
      platform.gc():fillRect(x,204,raqlon,3)
   end
end
function curseur()
   platform.gc():fillRect(palet[1]+raqlon/2,palet[2],3,3)
end
function interface()
   platform.gc():setColorRGB(0,0,0)
   platform.gc():drawRect(4,4,244,204)
   platform.gc():drawString("SCORE",260,30)
   platform.gc():drawString(score,280,45)
   platform.gc():drawString("LIFE",270,70)
   platform.gc():drawString(vie,280,85)
end
function refresh()
   platform.window:invalidate()
end
function on.arrowKey(key)
   if (key == "left") then
      raqpos = raqpos-5
   elseif (key == "right") then
      raqpos = raqpos+5
   end
   refresh()
end
User avatar
charognard
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 81.8%
 
Posts: 869
Joined: 18 Oct 2007, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: sans

Re: j'ai commencé un truc mais ce n'est pas super rapide

Unread postby Levak » 21 May 2011, 22:18

charognard wrote:Un casse brique en temps réel

Génial ! :):
Ça rend bien en tout cas.

il y a une solution pour augmenter cela ou j'arrète de suite ?

Pas compris. "augmenter" ??
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: j'ai commencé un truc mais ce n'est pas super rapide

Unread postby charognard » 21 May 2011, 22:25

augmenter la rapidité

Regarde le titre du post

Mes premiers tests notent une lenteur avant même que j'intègre la gestion du palet et des briques ... je me pose donc d'éventuelles question si le LUA est adapté aux jeux temps réels ?
User avatar
charognard
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 81.8%
 
Posts: 869
Joined: 18 Oct 2007, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: sans

Re: j'ai commencé un truc mais ce n'est pas super rapide

Unread postby Levak » 21 May 2011, 22:39

Ah oui d'accord, je comprends.
En fait, il y a volontairement un delay dans la gestion des touches (dont les flèches directionnelles). Ce n'est pas une lenteur, seulement une précaution. Donc oui, dans ce cas, j'ai bien peur que le Lua ne soit pas adapté à avoir une réaction immédiate des touches (100 ms).
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: j'ai commencé un truc mais ce n'est pas super rapide

Unread postby charognard » 22 May 2011, 05:52

merde alors !
je vais coder quand même le déplacement du palet en espèrant que l'appuis sur les touches ne ne ralenti pas...

à suivre ....
User avatar
charognard
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 81.8%
 
Posts: 869
Joined: 18 Oct 2007, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: sans

Re: j'ai commencé un truc mais ce n'est pas super rapide

Unread postby charognard » 22 May 2011, 06:33

Après tests ça peut être jouable !!
je vais continuer un peu pour voir ... mais pour l'instant j'ai rando VTT.
je verrais dans la semaine
Code: Select all
vie=3
score=0
raqpos=100
raqlon=30
raqtype=1
level=2
palet={raqpos,202}
paletdepx=3
paletdepy=-3
niv={{1,1,1,1,2,3,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,4,5,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1
},
{0,1,1,1,2,3,1,1,1,1,1,
0,1,1,1,1,1,1,1,1,1,1,
1,0,1,1,1,1,1,1,1,1,1,
1,0,1,1,4,5,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,4,4,4,4,4,4,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,1,1,1,
0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0
}}
function on.paint(gc)
   interface()
   raquette(raqpos,raqtype)
   curseur()
   for b = 1, 13 do
      for a = 1, 11 do
         if niv[level][a+11*(b-1)]~=0 then
            brique(a,b,niv[level][a+11*(b-1)])
         end
      end
   end
   timer.start(0.01)
end
function brique(x,y,type)
   if type==1 then
      platform.gc():setColorRGB(40,40,40)
   elseif type==2 then
      platform.gc():setColorRGB(80,80,80)
   elseif type==3 then
      platform.gc():setColorRGB(120,120,120)
   elseif type==4 then
      platform.gc():setColorRGB(255,0,0)
   elseif type==5 then
      platform.gc():setColorRGB(0,255,0)
   end
   platform.gc():fillRect(x*22-16,y*9-3,20,7)
end
function raquette(x,type)
   if type == 1 then
      platform.gc():fillRect(x,204,raqlon,3)
   elseif type == 2 then
      platform.gc():fillRect(x,204,raqlon,3)
   elseif type == 3 then
      platform.gc():fillRect(x,204,raqlon,3)
   end
end
function curseur()
   platform.gc():setColorRGB(0,0,0)
   platform.gc():fillRect(palet[1],palet[2],6,6)
   if palet[1]241 then
      paletdepx=-3
   elseif palet[1]3 then
      paletdepx=3
   elseif palet[2]201 then
      paletdepy=-3
   elseif palet[2]100 then
      paletdepy=3
   end
   palet[1]=palet[1]+paletdepx
   palet[2]=palet[2]+paletdepy
end
function interface()
   platform.gc():setColorRGB(0,0,0)
   platform.gc():drawRect(4,4,244,204)
   platform.gc():drawString("SCORE",260,30)
   platform.gc():drawString(score,280,45)
   platform.gc():drawString("LIFE",270,70)
   platform.gc():drawString(vie,280,85)
end
function refresh()
   platform.window:invalidate()
end
function on.arrowKey(key)
   if (key == "left") then
      raqpos = raqpos-5
   elseif (key == "right") then
      raqpos = raqpos+5
   end
   refresh()
end
function on.timer(gc)
   timer.stop()
   refresh()
end
User avatar
charognard
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 81.8%
 
Posts: 869
Joined: 18 Oct 2007, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: sans

Re: j'ai commencé un truc mais ce n'est pas super rapide

Unread postby Dyar » 22 May 2011, 13:16

Bonne rando alors ! :):

Sinon tu pourrais aussi essayer de déplacer le palet en fonction de la position de la sourie, avec le touchpad ...
Mais c'est vrai que le support du clavier est assez mal géré. De la même manière, je crois bien qu'on ne peut pas détecter l'appui continu sur une touche autre que celle de directions. Il faudrait des commandes événementielles plus précises : onKeyUp, onKeyDown, ou des tests : isKeyDown ...

Mais ce temps d'attente pour les touche directionnelles vient de LUA ou de l'OS à votre avis ?
User avatar
Dyar
Niveau 4: MC (Membre Confirmé)
Niveau 4: MC (Membre Confirmé)
Level up: 40%
 
Posts: 22
Joined: 24 Feb 2010, 00:00
Location: Clermont Ferrand
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP*

Re: j'ai commencé un truc mais ce n'est pas super rapide

Unread postby Lionel Debroux » 22 May 2011, 13:20

Sur les TI-68k et probablement aussi sur les TI-Z80, quand on utilise la lecture bas niveau des touches, on met habituellement un délai car les claviers sont dépourvus d'anti-rebond matériel. Ca doit être la même chose sur Nspire, ce qui expliquerait que l'OS, ou Lua, utilise un temps d'attente ?
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.4%
 
Posts: 6873
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: j'ai commencé un truc mais ce n'est pas super rapide

Unread postby charognard » 22 May 2011, 18:22

je vais palier à ce problème par 2 touches pour chaque direction déplacement lent et rapide
pour la raquette 3 de prévues normal, longue, collante
5 couleurs de brique pour les type de raquette ou le nombre de touche avant destruction
plusieurs niveaux seront gérés

reste plus qu'à trouver le temps et la motivation
User avatar
charognard
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 81.8%
 
Posts: 869
Joined: 18 Oct 2007, 00:00
Gender: Male
Calculator(s):
MyCalcs profile
Class: sans

Re: j'ai commencé un truc mais ce n'est pas super rapide

Unread postby Loulou 54 » 22 May 2011, 18:36

L'appui sur les touches doit sûrement provoquer des interruptions aussi pour mettre en mémoire tampon, ... ça peut beaucoup ralentir aussi ! (Sur 68k, en C, on peut désactiver ces interruptions et ça change tout !)
Mes programmes => ici !
User avatar
Loulou 54Premium
Niveau 13: CU (Calculateur Universel)
Niveau 13: CU (Calculateur Universel)
Level up: 1.6%
 
Posts: 1985
Images: 8
Joined: 02 Aug 2009, 00:00
Location: 54, près de Metz
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingé Logiciel chez Amazon

Next

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.
1240 utilisateurs:
>1179 invités
>53 membres
>8 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)