Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » [Problème] Utiliser un Getkey


Limkrâa Invité

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


Thiladon Hors ligne Membre Points: 150 Défis: 1 Message

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 ?
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

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

Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-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


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

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:

While 1[i]=1[/i]
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]

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Btl Hors ligne Ancien modérateur Points: 3879 Défis: 107 Message

Citer : Posté le 11/09/2013 19:40 | #


Dark storm a écrit :
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
Un excellent tuto video qui vous explique comment transférer des fichiers de l'ordinateur vers la calculatrice et vice versa ma chaine youtube
mes jeux
mes jeux

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

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 43 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd