Forum

Catégorie : Support
Forum : TI-82 STATS.fr
Vues : 758
Réponses : 6
Type : discussion
Etat : réponses autorisées

Keyboard game

clem494949 le 03/10/2013 à 19:42
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+
m@thieu41 le 03/10/2013 à 20:12
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
linkakro le 04/10/2013 à 00:06
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
clem494949 le 05/10/2013 à 08:48
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+
m@thieu41 le 05/10/2013 à 10:05
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)
clem494949 le 05/10/2013 à 16:40
RE
m@thieu41 a écrit :
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+
linkakro le 07/10/2013 à 00:15
La flèche sto "->E" est mal saisie dans vos trois messages suivant le mien à propos du calcul des touches.