Poster un nouveau sujet Poster une réponse
keyboard game
Auteur Message
clem494949



Autorisation : Membre
Nb de messages : 37
Inscrit le : Dim 08 Sep 2013, 15:30
Posté le : Jeu 03 Oct 2013, 19:42   Citer 

RE
G pas trouvé un nom très adapté pour ce programme qui demande d'appuyer sur les touches demandés le plus rapidement possible :

Code
1100->P
Repeat S<11
P-100->P
0->S
0->D
Pause "niv sup
Repeat E =/= G ou D>P
entaleat(1,9->G
Disp G
Repeat E =/= 0
codetouche->E
End
If E>91 et E<95
E-91->E
If E>81 et E<85
E-78->E
If E>71 et E<75
E-65->E
S+1->S
End
End
Disp "Game Over



A+

----------------------
testeur de touche rapidement :
While 1
codetouche->A
If A=/=0
disp A
End
 Adresse email Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Jeu 03 Oct 2013, 20:12   Citer 

Bonjour,
ton code ne tiens pas compte du temps de réaction, je crois que tu as du oublier de rentrer une ligne de code...

Code
1100->P
Repeat S<11 //A quoi set cette boucle exactement? on a droit à faire des erreurs tant qu'on a pas dépassé un certain temps?

P-100->P
EffVar SEffVar DPause "NIV SUP //EffVar X = 0->X

Repeat E!=G ou D>P //Pourquoi tester D>P si D ne change jamais?

entaleat(1,9->G
Disp Rép

Repeat Rép //Renvoi 1 si Rép!=0, et renvoi 0 si Rép=0
codetouche
End

//La partie qui suit:
Rép->E
If E>91 et E<95
E-91->E
If E>81 et E<85
E-78->E
If E>71 et E<75
E-65->E
//Peut devenir (en utilisant les booléens):
Rép-91(Rép>91 et Rép<95)-78(Rép>81 et Rép<85)-65(Rép>71 et Rép<75->E //Je réfléchi à un calcul plus adapté je poste ça rapidement

S+1->S

End
End



----------------------
Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)

Et au fait: la politesse n'a jamais tué personne winkle.gif
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Ven 04 Oct 2013, 0:06   Citer 

On n'a pas besoin de ne gérer que les touches des chiffres tant qu'il n'y a pas de confusion. Ici l'intégralité des colonnes 2,3,4 génèrent des nombres, mais seuls les chiffres seront cohérents à G.
Je calcule la dizaine et l'unité du code de touche pour calculer une identité à la touche.
Code
10partDéc(E.1
If Rép>1 et Rép<5
Rép-1+3*(9-ent(E.1->E      //Rép+26-3ent(E.1->E



----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
clem494949



Autorisation : Membre
Nb de messages : 37
Inscrit le : Dim 08 Sep 2013, 15:30
Posté le : Sam 05 Oct 2013, 8:48   Citer 

Re
J'avais effectivement oublié une ligne et peux tu mieu expliquer t'as solution qui m'enlève 10 octès d'un coup d'un seul : j'ai un peu de mal à comprendre.
le code:

Code

1100->P
Repeat S<10
P-100->P
EffVar S
EffVar D
Disp "niv
Pause 11-P/100
Repeat E!=G ou D>P
entaléat(1,9->G
Disp rep
REPEAT E
D+1->D
codetouche->E
End
10partDec(E.1
If Rep>1 et Rep<5
Rep-1+3*(9-ent(E.1-E
S+1->S
End
Disp "SCORE: ",S
END
DISP "GAME OVER



alors il y a des chances qu'il y ai de nouvelles fautes mais bon...
A+

----------------------
testeur de touche rapidement :
While 1
codetouche->A
If A=/=0
disp A
End
 Adresse email Haut de page Bas de page 
 
m@thieu41



Autorisation : Membre
Nb de messages : 848
Inscrit le : Mer 18 Juil 2012, 18:44
Posté le : Sam 05 Oct 2013, 10:05   Citer 

Petite remarque:
si on met trop de temps et que le score est supérieur à 10, on a game over, donc on ne peut monter des niveaux que si le score est inférieur à 10, c'est normal?

-------------

Tu peux enchainer les DelVar sur la même ligne, comme ceci (ce sont des tokens de 2o qui supportent ce genre de choses):

Code
EffVar SEffVar DDisp "niv



------------


Code
10partDec(E.1
If Rep>1 et Rep<5
Rep-1+3*(9-ent(E.1-E


Première ligne:
On récupère l'unité du code touche (si on tape sur 7, le code touche est 72,
E.1 = 7.2
partDec(E.1 = .2
10partDéc(E.1 = 2

Deuxième ligne:
On teste si on appuyé sur une touche de la bonne colonne (unité entre 2 et 4 compris)

Troisième ligne:
On retrouve par le calcul le chiffre saisi, grâce à l'unité du code touche et à sa dizaine.
(Toujours pour l'exemple de 72):
Rep-1 = 2-1 = 1
E.1 = 7.2
ent(E.1 = 7
9-ent(E.1 = 9-7 = 2
3(9-ent(E.1 = 6
Rép-1+3(9-ent(E.1 = 1+6 = 7

donc
Rep-1+3*(9-ent(E.1->E stocke bien le bon nombre dans E (met bien la flèche du sto)

----------------------
Pour vous aidez dans vos débuts (et même ensuite ^^) :
*Tuto Algo->Ti Basic (par Linkakro) : Traduisez vos algo (de type algobox) en prgm pour votre TI!
*Catalogue des emplacements et traductions (anglais/français) des fonctions sur la TI.
*Faites vos propres programmes de maths (par ash)

Et au fait: la politesse n'a jamais tué personne winkle.gif
 Adresse email Haut de page Bas de page 
 
Google_AdSense



Publicité    



 
clem494949



Autorisation : Membre
Nb de messages : 37
Inscrit le : Dim 08 Sep 2013, 15:30
Posté le : Sam 05 Oct 2013, 16:40   Citer 

RE

Citer : m@thieu41
Petite remarque:
si on met trop de temps et que le score est supérieur à 10, on a game over, donc on ne peut monter des niveaux que si le score est inférieur à 10, c'est normal?


Oui le but du jeu est en fait de taper le plus lentement possible godgrace.gif
non sérieux comme je l'ai dit j'ai surement fais des fautes donc le code devient:

Code
1100->P
Repeat S>10                   <- c'est là que tous change !!!!!
P-100->P
EffVar SEffVar DDisp "niv     (merci pour l'astuce)
Pause 11-P/100
Repeat E!=G ou D>P
entaléat(1,9->G
Disp rep
REPEAT E
D+1->D
codetouche->E
End
10partDec(E.1
If Rep>1 et Rep<5
Rep-1+3*(9-ent(E.1->E   edit ok merci :)
S+1->S
End
Disp "SCORE: ",S
END
DISP "GAME OVER



Je pense qu'on ne peut pas mieux.(Y a toujours mieux mais c'est déjà pas mal)

A+

----------------------
testeur de touche rapidement :
While 1
codetouche->A
If A=/=0
disp A
End
 Adresse email Haut de page Bas de page 
 
linkakro



Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Lun 07 Oct 2013, 0:15   Citer 

La flèche sto "->E" est mal saisie dans vos trois messages suivant le mien à propos du calcul des touches.

----------------------
ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)

Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store
 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Page générée en 6 requêtes