[AXE] Besoin d'aide

Voir le sujet précédent Voir le sujet suivant Aller en bas

[AXE] Besoin d'aide

Message par maxence le Lun 3 Juin - 16:54

J'aimerais savoir comment il serait possible de faire un programme qui reconnaisse des séquences de touches, par exemple, "haut droite bas gauche", ou "gauche droite" pour un jeu.

je n'y arrive pas en raison de la rapidité de détections des touches :/

maxence
Or 4
Or 4

Sexe : Masculin
Age : 20
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-84+

TI-84+


Revenir en haut Aller en bas

Re: [AXE] Besoin d'aide

Message par matrefeytontias le Lun 3 Juin - 17:02

C'est assez facile en fait, ça peut se résumer à un protocole :
  • Attends la pression sur une touche
  • Quand tu en détectes une, stocke-la dans un pointeur
  • Incrémente ce dernier
  • Attends que toutes les touches soient relâchées (getKey(0) doit retourner 0)
  • Recommence jusqu'à ce que ta condition d'arrêt soit validée

C'est pas plus compliqué.

_________________
[Axe] [Vous devez être inscrit et connecté pour voir ce lien], aussi compatible 82 stats !

[Vous devez être inscrit et connecté pour voir ce lien]
[Vous devez être inscrit et connecté pour voir ce lien]

Spoiler:

matrefeytontias
Platinum 1
Platinum 1

Sexe : Masculin
Age : 19
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
Calculatrices :
  • - TI-83+.fr
  • - TI-Nspire CAS

TI-83+.fr


Revenir en haut Aller en bas

Re: [AXE] Besoin d'aide

Message par Hayleia le Lun 3 Juin - 17:39

Exactement ce que dit matref, ce qui une fois codé (mais non optimisé) donne cela:

Code:

.AA

. . .
Note: code non optimisé. On peut par exemple
exprimer N en fonction de P et économiser
une variable, etc, mais le but est ici de
comprendre le code, pas de le rendre efficace
. . .

10->N
.on va stocker une séquence de 10 touches

0->P
.le pointeur une fois ajouté à L1
.comme son nom l'indique

While 1
 While 1
 EndIf getKey
 ->{P+L1}
 P++
 While 1
  Pause 20
 End!If getKey(0)
EndIf N=P

.maintenant on vérifie que le code a marché

For(A,0,N-1)
 Text(0,A*6,{A+L1}>Dec)
End
Pause 3600

Return

Hayleia
Or 4
Or 4

Age : 22
Messages : 406
Date d'inscription : 03/08/2012
Points Forum : 45
Points Concours : 4
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-76.fr
  • - TI-83+
  • - TI-84+ SE
  • - TI-Nspire CX

TI-84+ SE


Revenir en haut Aller en bas

Re: [AXE] Besoin d'aide

Message par maxence le Lun 3 Juin - 18:18

Merci à vous, Haylela, je ne peux pas voire ton code avec mon portable, il n'arrive à le faire défiler.

Mais j'ai fini par y arriver, avec un dérivé de l'exemple de matref, sauf que moi je test en permanence les touches, je n'attend pas qu'elles soient relachées.

En gros, si une touche est préssée, je l'ajoute à la pile.
Si il se passe 20 boucles après la dernière touche préssée, la pile est remise à zéro.
J'ai une fonction TEST qui renvoi vrai si la séquence de touche, par exemple Data(4,3,1,2) pour un cercle, est présente dans la pile des dernière touches préssées, voilà Content

maxence
Or 4
Or 4

Sexe : Masculin
Age : 20
Messages : 574
Date d'inscription : 26/02/2012
Etudes : 1ere S SI
Points Forum : 17
Points Concours : 0
Langages :
  • - TI-Basic Z80
  • - Axe Parser
Calculatrices :
  • - TI-84+

TI-84+


Revenir en haut Aller en bas

Re: [AXE] Besoin d'aide

Message par Contenu sponsorisé Aujourd'hui à 16:41


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum