Rechercher
 
 

Résultats par :
 


Rechercher Recherche avancée

Connexion

Récupérer mon mot de passe

Chatbox externe


Derniers sujets
» [JEU] Mon voisin du dessous
Dim 3 Sep 2017 - 19:50 par Clément.7

» Lancement du TI-Concours 2017 !
Sam 20 Mai 2017 - 0:27 par Paulo1026

» Chaînes Youtube des membres
Ven 19 Mai 2017 - 22:41 par Wistaro

» cacul du taux d'intêret
Ven 24 Mar 2017 - 21:50 par m@thieu41

» [Projet] Un mario by tout82
Dim 29 Jan 2017 - 14:09 par Wistaro

» Cherche documentation assembleur TI82stat
Mer 25 Jan 2017 - 12:29 par Ti64CLi++

» Probleme Ti-82 Stats fr
Jeu 12 Jan 2017 - 13:56 par Ti64CLi++

» ROM 82 stats.fr
Jeu 15 Déc 2016 - 10:24 par Ti64CLi++

» flappy bird
Jeu 15 Déc 2016 - 10:23 par Ti64CLi++

Partenaires
TI-Planet Espace-TI : Forum

Faire un don à Tout-82...
Où va cet argent ?
Membres donateurs:- Persalteas (10€)
- Wistaro (5€)
- jo2geek (22€)

Les posteurs les plus actifs du mois
Ti64CLi++
 
Clément.7
 


CodeTouche avec clignotement

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

CodeTouche avec clignotement

Message par pito2901 le Dim 20 Avr 2014 - 18:06

Salut !

voilà je pense avoir compris le fonctionnement du codeTouche depuis un moment, mais j'ai un problème il y a un foutu clignotement du + que je souhaite afficher comment y remédier merci :

Code:
EffEcr
1→A:1→B
Repeat K=105
CodeTouche→K
Output(A,B," "
A+(K=34 et A<9)-(K=25 et A>1)→A
B+(K=26 et B<17)-(K=24 et B>1)→B
Output(A,B,"+
End

__________________________________________________________________________
Programmes de Jeux TI 82 Stats.fr à recopier
"Parfois les personnes capables de rien sont celles capables de faire ce que personne n'aurait imaginé" A.Turing
avatar
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Re: CodeTouche avec clignotement

Message par Wistaro le Lun 21 Avr 2014 - 13:59

Normal, dans ta boucle, tu effaces le +:
Code:

Output(A, B, "  "
Puis tu l'affiches:
Code:

Output(A, B, "+

Cet alternance d'effacement/affichage va provoquer ce clignotement intempestif.
Pour résoudre le soucis, il faut effacer le + uniquement lors d'un déplacement.

Pour cela, on fait ceci:
Code:

If max(K={24,25,34,26 :Then
//Si l'utilisateur presse la touche 24 ou 25 ou 26 ou 34, alors....
End
Appliqué à ton programme, cela donne:
Code:

EffEcr
1→A:1→B
Repeat K=105
CodeTouche→K
If max(K={24, 25, 34, 26:Output(A,B," "
A+(K=34 et A<9)-(K=25 et A>1)→A
B+(K=26 et B<17)-(K=24 et B>1)→B
Output(A,B,"+

Et voilà ;-) Si tu as d'autres questions, n'hésite pas[/code]

__________________________________________________________________________
Clique ici pour retrouver tout mes programmes en TIbasic

Tu es curieux, Invité? Alors clique ici:


Coucou Invité !Ta dernière visite sur ce forum date de . Tu as posté un total de 78 message(s) sur Tout 82 et enfin, tu as 0 ans.
Si nous sommes le 0, je te souhaite un joyeux anniversaire ;-)

avatar
Wistaro
Passioné
Passioné

Messages : 909
Points Concours : 86
Productivité : 28
Date d'inscription : 16/06/2013
Localisation : Tarbes - DUT GEII
Calculatrice(s) :
  • TI-82
  • TI-82 Stats
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://www.youtube.com/user/Wistaro

Revenir en haut Aller en bas

Re: CodeTouche avec clignotement

Message par Linkakro le Lun 21 Avr 2014 - 21:28

Tout-à-fait. Bien Joué 

Tu balances le test optimisé en OU directement, je crois qu'un rappel de ce détail peut aider.
ceci :
If max(K={24,25,34,26})
correspond à cela :
If K=24 ou K=25 ou K=34 ou K=26
En tout cas dès la ti82stats.

__________________________________________________________________________
Vétéran du TI-Basic Zilog80. Ti82statfr sur Tout82 depuis 2009 et ti84pocketfr depuis noël 2012. Ti83plusfrUSB (été 2014, concours tiplanet suite du geek). Bidouille un peu d'assembleur Z80.
Incappable de gérer le temps et manque de tact, plutôt serviable.
Je prend les commandes de programme. Je suis motivé par les maths et la physique tant que ce n'est pas une simple copie d'antisèche.
Vous pouvez trouver une grande partie de mes données hébergées dans mon mediafire. Le ZIP et la liste sont périmées depuis longtemps.
coucou Invité What a Face
avatar
Linkakro
----------------------
----------------------

Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: CodeTouche avec clignotement

Message par pito2901 le Lun 21 Avr 2014 - 22:16

Mais je ne peux plus me déplacer vers la gauche et en bas → erreur...

__________________________________________________________________________
Programmes de Jeux TI 82 Stats.fr à recopier
"Parfois les personnes capables de rien sont celles capables de faire ce que personne n'aurait imaginé" A.Turing
avatar
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Re: CodeTouche avec clignotement

Message par Linkakro le Lun 21 Avr 2014 - 22:59

Quel type d'erreur et quel endroit ?
Je te garantis qu'en procédant ainsi, peu importe le niveau d'optimisation du test "K=24 ou K=25 ou ..." cela permet de n'effectuer d'affichage que lors d'une pression de touche de direction puisque c'est ce que signifie le test.
Code:
EffEcr
1→A:1→B
Repeat K=105
CodeTouche→K
If K=24 ou K=25 ou K=26 ou K=34  // je reviens à le ligne mais peu importe
Output(A,B," "
A+(K=34 et A<9)-(K=25 et A>1)→A
B+(K=26 et B<17)-(K=24 et B>1)→B
Output(A,B,"+
End

En revanche tu peux détecter une touche quelconque avec simplement "If K".
Code:
EffEcr
1→A:1→B
Repeat K=105
CodeTouche→K
If K  // je reviens à le ligne mais peu importe
Output(A,B," "
A+(K=34 et A<9)-(K=25 et A>1)→A
B+(K=26 et B<17)-(K=24 et B>1)→B
Output(A,B,"+
End

Lorsque je code des jeux qui n'agissent jamais seul, je place une boucle autour du codeTouche et il n'y a plus de clignotement tant qu'on ne touche pas au clavier.
Code:
EffEcr
1→A:1→B
Repeat K=105
Repeat K  // ici on pourrait détecter des touches précises
CodeTouche→K
End
Output(A,B," "
A+(K=34 et A<9)-(K=25 et A>1)→A
B+(K=26 et B<17)-(K=24 et B>1)→B
Output(A,B,"+
End

__________________________________________________________________________
Vétéran du TI-Basic Zilog80. Ti82statfr sur Tout82 depuis 2009 et ti84pocketfr depuis noël 2012. Ti83plusfrUSB (été 2014, concours tiplanet suite du geek). Bidouille un peu d'assembleur Z80.
Incappable de gérer le temps et manque de tact, plutôt serviable.
Je prend les commandes de programme. Je suis motivé par les maths et la physique tant que ce n'est pas une simple copie d'antisèche.
Vous pouvez trouver une grande partie de mes données hébergées dans mon mediafire. Le ZIP et la liste sont périmées depuis longtemps.
coucou Invité What a Face
avatar
Linkakro
----------------------
----------------------

Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: CodeTouche avec clignotement

Message par Wistaro le Mar 22 Avr 2014 - 11:28

pito2901 a écrit:Mais je ne peux plus me déplacer vers la gauche et en bas → erreur...

J'ai testé, le programme fonctionne. Verifie que tout est correct

__________________________________________________________________________
Clique ici pour retrouver tout mes programmes en TIbasic

Tu es curieux, Invité? Alors clique ici:


Coucou Invité !Ta dernière visite sur ce forum date de . Tu as posté un total de 78 message(s) sur Tout 82 et enfin, tu as 0 ans.
Si nous sommes le 0, je te souhaite un joyeux anniversaire ;-)

avatar
Wistaro
Passioné
Passioné

Messages : 909
Points Concours : 86
Productivité : 28
Date d'inscription : 16/06/2013
Localisation : Tarbes - DUT GEII
Calculatrice(s) :
  • TI-82
  • TI-82 Stats
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://www.youtube.com/user/Wistaro

Revenir en haut Aller en bas

Re: CodeTouche avec clignotement

Message par pito2901 le Mar 22 Avr 2014 - 11:53

Le code est identique, je lance le programme le + est en position 1,1, lorsque je vais à gauche il ne me renvoie pas en 1,16, il reste sur place idem si je vais en haut. Si je vais trop à droite (1,17) ou trop en bas (9,1) → erreur domaine...

__________________________________________________________________________
Programmes de Jeux TI 82 Stats.fr à recopier
"Parfois les personnes capables de rien sont celles capables de faire ce que personne n'aurait imaginé" A.Turing
avatar
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Re: CodeTouche avec clignotement

Message par Linkakro le Mar 22 Avr 2014 - 13:05

Le wrapping (retour d'un bord à l'autre) n'a rien à voir avec le clignotement intempestif et ses palliatifs.

Les calculs que tu utilises devraient imposer des limites puisque les conditions sont incluses. Et je rappelle que l'algèbre de boole génère des zéros et des 1, c'est pour ça qu'on peut écrire ces calculs ainsi.
Code:
A+(K=34 et A<9)-(K=25 et A>1)→A
B+(K=26 et B<17)-(K=24 et B>1)→B
Code:
If K=34 et A<9
A+1→A
If K=25 et A>1
A-1→A
If K=26 et B<17
B+1→B
K=24 et B>1
B-1→B
Mais les conditions présentes ne respectent même pas tout l'écran puisque tu évites la première ligne et la première colonne auxquelles tu initialises pourtant. Je pense que ceci lié à une erreur rend les tests inefficaces.

Malgré cela tu recherches le wrapping (retour d'un bord à l'autre) donc je te présenterai quelques méthodes.
D'abord les tests, c'est évident.
Code:
If K=34
A+1→A
If K=25
A-1→A
If K=26
B+1→B
K=24
B-1→B
If A<1
8→A
If A>8
1→A
If B<1
16→B
If B>16
1→B
Comme j'affecte les valeurs au lieu d'incrémenter ou décrémenter, le wrapping ramène toujours dans l'écran peu importe l'origine, ce qui ne serait pas forcément le cas autrement.

Puis les conditions booléennes.
J'aime séparer le déplacement et le wrapping car les conditions sont plus faciles à prévoir, surtout sans langage préprocesseur.
Code:
A+(K=34)-(K=25→A
B+(K=26)-(K=24→B
A+8(A<1)-8(A>8→A
B+16(B<1)-16(B>16→B
Puis les calculs de modulo grâce à la division. C'est un peu plus compliqué que la base car tes valeurs ne commencent pas à zéro.
Code:
A-(K=24)+(K=26
Rép-8partEnt((Rép-1)/8→A
// le calcul le plus fiable, mais attention à int/ent/iPart/partEnt
// on peut s'adapter aux négatifs (parEnt et int le sont)

// le "-1" permet que les valeurs soient entre 1 et 8 inclus, c'est ça qui est plus compliqué

A-(K=24)+(K=26
1+arrondi(8partDéc((Rép-1)/8),0→A
// l'arrondi évite des risques de nombres décimaux, mais il n'est pas indispensable dans certains programme, tout dépend des opérations
//Cela n'a aucune ambiguité de langue
// mais cela ne supporte pas les nombres négatifs

// un moyen efficace mais tordu de supporter les négatifs malgré partDéc, est de modifier les valeurs des pas comme le snake de Ratuss qui préfère incrémenter d'une grande valeur qui reviendra au même à la fin que de décrémenter.
X+5 modulo 8 revient à X-3 modulo 8, puisque 8=5+3

__________________________________________________________________________
Vétéran du TI-Basic Zilog80. Ti82statfr sur Tout82 depuis 2009 et ti84pocketfr depuis noël 2012. Ti83plusfrUSB (été 2014, concours tiplanet suite du geek). Bidouille un peu d'assembleur Z80.
Incappable de gérer le temps et manque de tact, plutôt serviable.
Je prend les commandes de programme. Je suis motivé par les maths et la physique tant que ce n'est pas une simple copie d'antisèche.
Vous pouvez trouver une grande partie de mes données hébergées dans mon mediafire. Le ZIP et la liste sont périmées depuis longtemps.
coucou Invité What a Face
avatar
Linkakro
----------------------
----------------------

Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: CodeTouche avec clignotement

Message par Wistaro le Ven 25 Avr 2014 - 18:52

Personnellement pour les retours d'un bord à l'autre j'utilise toujours les conditions booléennes, qui sont plus simple à comprendre

__________________________________________________________________________
Clique ici pour retrouver tout mes programmes en TIbasic

Tu es curieux, Invité? Alors clique ici:


Coucou Invité !Ta dernière visite sur ce forum date de . Tu as posté un total de 78 message(s) sur Tout 82 et enfin, tu as 0 ans.
Si nous sommes le 0, je te souhaite un joyeux anniversaire ;-)

avatar
Wistaro
Passioné
Passioné

Messages : 909
Points Concours : 86
Productivité : 28
Date d'inscription : 16/06/2013
Localisation : Tarbes - DUT GEII
Calculatrice(s) :
  • TI-82
  • TI-82 Stats
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur http://www.youtube.com/user/Wistaro

Revenir en haut Aller en bas

Re: CodeTouche avec clignotement

Message par Contenu sponsorisé


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