[Problème] Utiliser un Getkey
Posté le 11/09/2013 17:01
Bien le bonjour à tous !
Je poste aujourd'hui ce petit topic dans l'optique que vous m'aidiez ^^' :obvious:
J'ai récemment fait l'acquisition d'une calto Graph 35+, et il se trouve que j'ai commencé à bidouiller un peu du côté des programmes.
Mon premier programme a consisté à faire un jeu du plus ou moins qui est assez connu. (Je me suis bien inspiré sur des tuto du basic casio
)
C'est là que je bloque. Le jeu marche à merveille mais j'aimerais avoir à appuyer sur une touche afin que le programme reprenne du début. J'ai vaguement cru comprendre qu'il me fallait utiliser la fonction
Getkey, à l'intérieur d'une boucle. Et bien sachez que je n'ai toujours pas trouvé comment faire après bien deux heures de recherche... Et encore je suis sûr que c'est un jeu d'enfant
Une des façon que j'ai essayé :
Lbl B
0→A~Z
[i](code du jeu...)
[/i]
Do
"Tapez [EXE] pour rejouer !"
LpWhile Getkey≠31
Goto B
Le but comme vous l'aurez compris est de faire "sortir" la calculette de la boucle une fois la touche [EXE] appuyée. Le "Goto B" ferait alors recommencer le programme. (J'espère ne pas dire de bêtises :/)
Merci beaucoup d'avance ! Cordialement.
Citer : Posté le 11/09/2013 17:12 | #
En + précis, le principe de ton jeu, c'est qu'on doit appuyé sur la touche [EXE]
Et une fois ceci fait, on recommence le jeu ?
Citer : Posté le 11/09/2013 17:14 | #
LpWhile Getkey≠31 est correct.
Si ton programme est trop long (en octets) Goto et Lbl ne marcheront pas correctement.
Deuxième chose, ne met pas le texte "Tapez [EXE] pour rejouer !" dans la boucle, sa risque de vouloir l'afficher des centaines de fois, il te suffit de l'afficher avant la boucle pour qu'il soit visible.
Si il n'y a pas de code après ton "Goto B", je te conseillerais de modifier ton programme de la sorte:
Do
0→A~Z
(code du jeu...)
"Tapez [EXE] pour rejouer !"
Do
LpWhile Getkey≠31
LpWhile 1
Dernière chose, pour attendre la touche Exe, tout en permettant de quitter le programme avec la touche Menu, tu peux utiliser le ◢ après ton texte "Tapez [EXE] pour rejouer !" et tu n'auras pas besoins d'une boucle, ce qui donnerait:
Do
0→A~Z
(code du jeu...)
"Tapez [EXE] pour rejouer !"◢
LpWhile 1
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed
-mon tuto sur les Str
Mes calto: G25+, G75
Mon minecraft en dévelopement
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Citer : Posté le 11/09/2013 17:14 | #
Théoriquement, ça fonctionne. Par contre, préfère utiliser les boucles plutôt que les labels:
0→A~Z
(code du jeu...)
ClrText [i]Permet d'effacer l'ecran[/i]
"Tapez [EXE] pour rejouer !"
"Tapez [EXIT] pour quitter."
Do
Getkey -> G
LpWhile G≠31 Or G≠47
If G=47
Then Stop
IfEnd
WhileEnd [i]On recommence au début[/i]
Citer : Posté le 11/09/2013 19:40 | #
Théoriquement, ça fonctionne. Par contre, préfère utiliser les boucles plutôt que les labels:
C'est même TRES conseillé d'éviter les labels des le debut car ils sont sources de beaucoup de bug difficile ç trouver
Mais c'est sur qu'au début il paraisse plus simple à utiliser. Souvient toi juste que si tu arrives à les éviter, fais le
Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games
Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le