Tout 82
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
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
CodeTouche avec clignotement EmptyDim 16 Oct 2022 - 21:11 par Wistaro

» Bonne année 2018!
CodeTouche avec clignotement EmptyVen 2 Nov 2018 - 19:42 par Ti64CLi++

» Lancement du TI-Concours 2017 !
CodeTouche avec clignotement EmptySam 20 Mai 2017 - 0:27 par Paulo1026

» Chaînes Youtube des membres
CodeTouche avec clignotement EmptyVen 19 Mai 2017 - 22:41 par Wistaro

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

» [Projet] Un mario by tout82
CodeTouche avec clignotement EmptyDim 29 Jan 2017 - 14:09 par Wistaro

» Cherche documentation assembleur TI82stat
CodeTouche avec clignotement EmptyMer 25 Jan 2017 - 12:29 par Ti64CLi++

» Probleme Ti-82 Stats fr
CodeTouche avec clignotement EmptyJeu 12 Jan 2017 - 13:56 par Ti64CLi++

» ROM 82 stats.fr
CodeTouche avec clignotement EmptyJeu 15 Déc 2016 - 10:24 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
Aucun utilisateur

Le Deal du moment :
ERAZER Deputy P60 – PC portable Gamer ...
Voir le deal
879.99 €

CodeTouche avec clignotement

3 participants

Aller en bas

CodeTouche avec clignotement Empty CodeTouche avec clignotement

Message par pito2901 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
pito2901
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

http://www.clictune.com/id=179469

Revenir en haut Aller en bas

CodeTouche avec clignotement Empty Re: CodeTouche avec clignotement

Message par Wistaro 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]
Wistaro
Wistaro
Passioné
Passioné

Messages : 918
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

https://www.youtube.com/user/Wistaro

Revenir en haut Aller en bas

CodeTouche avec clignotement Empty Re: CodeTouche avec clignotement

Message par Linkakro 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.
Linkakro
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

Revenir en haut Aller en bas

CodeTouche avec clignotement Empty Re: CodeTouche avec clignotement

Message par pito2901 Lun 21 Avr 2014 - 22:16

Mais je ne peux plus me déplacer vers la gauche et en bas → erreur...
pito2901
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

http://www.clictune.com/id=179469

Revenir en haut Aller en bas

CodeTouche avec clignotement Empty Re: CodeTouche avec clignotement

Message par Linkakro 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
Linkakro
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

Revenir en haut Aller en bas

CodeTouche avec clignotement Empty Re: CodeTouche avec clignotement

Message par Wistaro 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
Wistaro
Wistaro
Passioné
Passioné

Messages : 918
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

https://www.youtube.com/user/Wistaro

Revenir en haut Aller en bas

CodeTouche avec clignotement Empty Re: CodeTouche avec clignotement

Message par pito2901 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...
pito2901
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

http://www.clictune.com/id=179469

Revenir en haut Aller en bas

CodeTouche avec clignotement Empty Re: CodeTouche avec clignotement

Message par Linkakro 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
Linkakro
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

Revenir en haut Aller en bas

CodeTouche avec clignotement Empty Re: CodeTouche avec clignotement

Message par Wistaro 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
Wistaro
Wistaro
Passioné
Passioné

Messages : 918
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

https://www.youtube.com/user/Wistaro

Revenir en haut Aller en bas

CodeTouche avec clignotement Empty Re: CodeTouche avec clignotement

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