Espace TI: Forum
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-20%
Le deal à ne pas rater :
-20% Récupérateur à eau mural 300 litres (Anthracite)
79 € 99 €
Voir le deal

[AXE] Besoin d'aide

3 participants

Aller en bas

[AXE] Besoin d'aide Empty [AXE] Besoin d'aide

Message par maxence 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
maxence
Or 4
Or 4

Sexe : Masculin
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
Calculatrices :
  • - TI-84+

TI-84+


Revenir en haut Aller en bas

[AXE] Besoin d'aide Empty Re: [AXE] Besoin d'aide

Message par matrefeytontias 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é.
matrefeytontias
matrefeytontias
Platinum 1
Platinum 1

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

TI-83+.fr


Revenir en haut Aller en bas

[AXE] Besoin d'aide Empty Re: [AXE] Besoin d'aide

Message par Hayleia 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
Hayleia
Or 4
Or 4

Age : 30
Messages : 406
Date d'inscription : 03/08/2012
Points Forum : 46
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

[AXE] Besoin d'aide Empty Re: [AXE] Besoin d'aide

Message par maxence 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
maxence
Or 4
Or 4

Sexe : Masculin
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
Calculatrices :
  • - TI-84+

TI-84+


Revenir en haut Aller en bas

[AXE] Besoin d'aide Empty Re: [AXE] Besoin d'aide

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

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