Forum

Catégorie : Support
Forum : TI-82 STATS
Vues : 3018
Réponses : 34
Type : discussion
Etat : réponses autorisées

Pong ou le probleme de la Getkey - Page 1 / 2

Dark TI le 28/03/2006 à 21:56
Je cherche a creer un jeu dans le meme style que PONG, mais j'ai un probleme avec la Getkey.
Est ce que Getkey est utilisable dans le Graph ???
Comment faire pour faire "monter"(ou "descendre") le "I" (que j'utilise comme raquette...)?
Tiens pendant que j'y suis glasses.gif , comment faire pour que la balle ne sorte pas du cadre ?
Ca fait plein de questions godgrace.gif mais je vous en prie vous avez le temps
webmaster le 28/03/2006 à 23:11
Bonsoir,

Avant tout, tu peux lire ce sujet : http://tout82.free.fr/forum/sujet.php?sujet=68
Oui, Getkey fonctionne aussi et surtout dans le graphe.
Pour que la balle ne sorte pas du cadre, définit des conditions : si la position de la balle est extérieure au cadre, alors, afficher perdu, ou renvoyer la balle.
Enfin, pour monter ou descendre un "I", tu doit stocker les coordonnées de la lettre ou de la raquette dans des variables réelles. A l'aide de Getkey, tu modifies ces coordonnées (si telle touche est frappée, alors ajouter 1 à l'abscisse de la balle) et tu réaffiche la raquette à la nouvelle position, après avoir effacer sa précédente position.

@+ Le Webmaster, j'espère que celà te suffiras !
explosivetnt le 31/03/2006 à 21:43
a en fait, je voulais savoir à quoi correspond les touches haut, bas droite et gauche quand on utilise un getkey??
merci
webmaster le 31/03/2006 à 21:46
Le plus simple, c'est encore que tu lises le manuel de la TI-82 STATS à la page 343. Pour celà, suit ce lien http://education.ti.com/guideb[...]TATSBookfre.pdf

@+ Le Webmaster beer.gif
explosivetnt le 31/03/2006 à 21:53
ok merci.
Ratuss le 01/04/2006 à 07:43
En fait, c'est logique : le premier chiffre c'est la ligne, le 2eme la colone.
ex: Si tu prend alpha, ca fait ligne 3, puis colone 1, donc 31
idem les fleches...
beer.gif
Sangohan38 le 01/04/2006 à 12:19
Quelle science des Gtekey. Mais bon c'est pas trop dur à comprendre quand même.
Ratuss le 01/04/2006 à 14:07
GetKey?
c'est super simple, sauf qui faut savoir bien l'utilser

un petit exemple pour ceux qui débutent (ca peut toujours etre utile):

Code
Disp "APPUIE SUR ALPHA"
while GetKey=0                'while = tant que
GetKey=>K                     'on attribut la derniere touche enfoncé à K
end

If K=34:Disp "BRAVO"                  'on test si la touche alpha a été enfoncé
If K [pas egal a ] 34:Disp "NON!"
Dark TI le 05/04/2006 à 13:21
Bon je remet ca sur le vif, mais j'ai essaye un programme avec Getkey que voici : -} c'est la fleche pour stocker et =/ c'est different de
Code
5-}A:3-}B
Output(A,B,"I"
Getkey-}O
While O=/105
Getkey-}O
If O=25
Then:1-}C
Output(A+C,B,"I"

Et ca marche pas mais je sais pas pourquoi... goutte.gif frozen.gif
S'il vous plait aidez-moi !!! cry.gif
Ratuss le 05/04/2006 à 16:41
-Pour la fleche utilise plutot => ou ->.
-Sinon c'est tout bête: il est presque parfait ton code sauf qui manque tout les "end" pour while et pour If-then.
J'ai fait 2 3 modif :
Code
5=>A:3=>B
While O=/105
0=>O
Getkey=>O
If O=25
A+1=>A
Output(A,B,"I"
end


Faut savoir que t'a pas besoin de mettre 0=>getkey parceque getkey est =0 quand aucune touche n'est enfoncé (en plus je suis meme pas sur que cette commande te renvoie pas un erreur laugh.gif )

-Un conseil: mieux vaut faire la boucle while toute petite, sinon tu va ralentir
ta calcu (ici comme ton code est petit ca pose pas trop de problème
Code
5-}A:3=>B
Lbl 1
Output(A,B,"I"
O=>0
While O=0
Getkey=>O
end
If O=25
A+1=>C
If K=105:Stop
Goto 1


beer.gif

Si t'as des question, n'hésite pas
Dark TI le 06/04/2006 à 20:51
Merci je prefere le 1er parce que le 2eme j'ai pas compris les touches (eh oui en meme temps j'essaye de comprendre pour pouvoir le reutiliser...)
Encore une petite question, comment on enleve le I parce que il bouge pas il se rajoute:
debut
I
Fin:
I
I
I
Ratuss le 06/04/2006 à 20:54
Il faut que tu efface l'ancienne position de I juste avant de la modifier, essaye de te débrouiller pour ca, c'est pas trop compliqué beer.gif
Dark TI le 06/04/2006 à 21:29
Bon j'ai tente un peu plus et... ca met un message d'erreur :
Code
5=>A:3=>B
While O=/105
0=>O
Getkey=>O
If O=25
A-1=>A
ClrHome
Output(A,B,"I"
end
If O=34
A+1=>A
ClrHome
Output(A,B,"I"
end

et ca me met ERR:Syntax
et GOto me renvoie au derneir END et je sais pas pourquoi .... frozen.gif crazy.gif
Sangohan38 le 06/04/2006 à 21:32
j'en sait rien. Moi et les Getkeys ....
Ratuss le 06/04/2006 à 21:35
Pourquoi? tout simplement parce que t'as un end en trop et t'a oublié then.
Je t'explique:

-"If" tu peux l'utiliser sans le "then" et sans le "End" à condition de mettre qu'une seule instrucion après leIf

Exemple:
Code
If A=0
0->A


-Tu peux aussi l'utiliser avec "then" et dans ce cas la avec "end" si t'a plusieurs instruction que tu veux inclure dans la conditio "If"

Exemple:
Code
If A=0
then
0->A
0->B
end


Alors maintenant regarde ton code happy.gif
Dark TI le 06/04/2006 à 21:39
La j'ai mis des Then et c'est encore pire a me marque Done quand j'execute...
Le prog :
Code
5=>A:3=>B
While O=/105
0=>O
Getkey=>O
If O=25
Then
A-1=>A
ClrHome
Output(A,B,"I"
end
If O=34
Then
A+1=>A
ClrHome
Output(A,B,"I"
end
Ratuss le 06/04/2006 à 21:43
Non non, il faut juste que tu sache que "while" est lui aussi suivi de "end" (rajoute end à la fin)
Dark TI le 06/04/2006 à 21:47
Ca marche toujours pas j'ai rajoute End ca marquait toujours Done
j'ai supprime les Then et Err:Syntax toujours a l'avant dernier End (en rajoutant celui que tu m'as dit Ratuss loupe.gif )
Masi quelle est co**e cette calculatrice !!! bigmouth.gif godgrace.gif angry.gif angry.gif
Ratuss le 06/04/2006 à 21:59
Je te pari 100 000EUR que si tu teste la valeur de O tu obtient 105
ajoute 0->O au début winkle.gif

Ps: ClrHome n'est pas une bonne idée vu que lorsque tu vas effacer tu vas effacer tout...
Sangohan38 le 06/04/2006 à 22:02
Il faut utiliser Disp.