Catégorie :
SupportForum :
TI-82 STATSVues : 3137
Réponses : 34
Type : discussion
Etat : réponses autorisées
Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.
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

, comment faire pour que la balle ne sorte pas du cadre ?
Ca fait plein de questions

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??
merciexplosivetnt 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...

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...
S'il vous plait aidez-moi !!!

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

)
-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
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
IRatuss 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é

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 ....

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

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

)
Masi quelle est co**e cette calculatrice !!!

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
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. Avertissement :Il s'agit d'une page optimisée pour la navigation mobile. Voir la
page originale.