Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Autres questions


Index du Forum » Autres questions » Mettre en pause un programme [RESOLU]
FlamingKite Hors ligne Membre Points: 166 Défis: 3 Message

Mettre en pause un programme [RESOLU]

Posté le 13/04/2020 18:09

Comment peut-on faire pour mettre un programme en pause ?
Par exemple pour un Snake avec Locate, comment peut-on faire pour mettre le prog en pause jusqu'à ce qu'on réappuie sur une touche ?
j'avais vu ce sujet dans un défi mais je n'ai pas réussi à le faire, et j'en ai besoin



Lephenixnoir En ligne Administrateur Points: 18448 Défis: 142 Message

Citer : Posté le 13/04/2020 18:11 | #


Utilise Getkey dans une boucle. Le code suivant attend qu'une pression complète se produise (appui puis relâchement) :

While Not Getkey
WhileEnd
While Getkey
WhileEnd
FlamingKite Hors ligne Membre Points: 166 Défis: 3 Message

Citer : Posté le 13/04/2020 18:13 | #


Ce code c'est pour mettre en pause tant qu'on reste appuyé sur la touche ?
Cliquez pour découvrir
Cliquez pour recouvrir
"Un pessimiste voit la difficulté dans chaque opportunité, un optimiste voit l'opportunité dans chaque difficulté"
Winston Churchill


J'ai bien envie aussi de mettre mes programmes en signature, après j'en ai que 2 donc c'est pas génial Bon allez, je les met quand même :
les 2 smileys c'est pour garder la bonne humeur
Lephenixnoir En ligne Administrateur Points: 18448 Défis: 142 Message

Citer : Posté le 13/04/2020 18:17 | #


Ça attend d'abord qu'on appuie sur une touche (et reste en pause jusqu'à ce moment-là). Si tu sais qu'une touche est pressée et que tu veux attendre son relâchement, la deuxième partie suffit :

While Getkey
WhileEnd
FlamingKite Hors ligne Membre Points: 166 Défis: 3 Message

Citer : Posté le 13/04/2020 18:19 | #


J'ai compris, merci beaucoup

Ajouté le 13/04/2020 à 18:22 :
Mais avec ce système je dois appuyer en continu sur la touche non ?
Cliquez pour découvrir
Cliquez pour recouvrir
"Un pessimiste voit la difficulté dans chaque opportunité, un optimiste voit l'opportunité dans chaque difficulté"
Winston Churchill


J'ai bien envie aussi de mettre mes programmes en signature, après j'en ai que 2 donc c'est pas génial Bon allez, je les met quand même :
les 2 smileys c'est pour garder la bonne humeur
Disperseur Hors ligne Membre Points: 1784 Défis: 1 Message

Citer : Posté le 13/04/2020 18:24 | #


Sinon moi j'utilise ce code quand je veux attendre que toutes les touches soient relâchées (évite de répéter la boucle pour une même touche) puis attendre qu'une touche soit pressée (n'importe laquelle dans cet exemple) :
While 1
//boucle principale
//..

Do
LpWhile GetKey //attendre que toutes les touches soient relâchées
Do
LpWhile Not GetKey //attendre une pression

//..
//suite du code
WhileEnd

Mes meilleurs jeux
N'hésitez pas, notez !

Jeux BasicCasio / CBasicCasio:
-World Tank War II
-Apollo 11
-GeoGraph ! Élu Jeu du Mois de Mars 2019 !
Jeux C:
-Planétarium 2 ! Chef d'Oeuvre !


√(2+2-2+2-2+2+2-2-2-2) = 0
Lephenixnoir En ligne Administrateur Points: 18448 Défis: 142 Message

Citer : Posté le 13/04/2020 18:24 | #


Mais avec ce système je dois appuyer en continu sur la touche non ?

Quand tu appuies sur une touche, c'est toujours en continu (jusqu'à ce que tu la relâches) !
FlamingKite Hors ligne Membre Points: 166 Défis: 3 Message

Citer : Posté le 13/04/2020 18:27 | #


@Disperseur Ce code ne peut pas correspondre à un jeu comme Snake où pendant un moment toutes les touches sont relâchées en attendant que le serpent avance
Cela dit je garde ce code pour un texte à afficher par exemple

Ajouté le 13/04/2020 à 18:30 :
@Lephenixnoir oui mais est ce que c'est possible que je joue à mon Snake, que j'appuie sur MENU, je relâche MENU, je laisse la calto sur mon bureau, je vais prendre une douche (ou faire de l'escalade je sais pas moi), et j'appuie sur EXE pour relancer le jeu là où il en était ?
Cliquez pour découvrir
Cliquez pour recouvrir
"Un pessimiste voit la difficulté dans chaque opportunité, un optimiste voit l'opportunité dans chaque difficulté"
Winston Churchill


J'ai bien envie aussi de mettre mes programmes en signature, après j'en ai que 2 donc c'est pas génial Bon allez, je les met quand même :
les 2 smileys c'est pour garder la bonne humeur
Lephenixnoir En ligne Administrateur Points: 18448 Défis: 142 Message

Citer : Posté le 13/04/2020 19:52 | #


Bien sûr que c'est possible. Tu n'as même pas besoin de t'embêter avec le relâchement puisque tu es obligé de changer de touche pour quitter le menu de pause.

Dans ta boucle de jeu, au moment où tu traites tes entrées, tu peux ajouter :

If Getkey=48
Then While Getkey≠31
WhileEnd
IfEnd

Essentiellement ce que ce code fait, c'est se mettre en pause quand tu presses MENU (48) et en sortir quand tu presses EXE (31).
FlamingKite Hors ligne Membre Points: 166 Défis: 3 Message

Citer : Posté le 13/04/2020 22:19 | #


Super, je viens de tester, et c'est exactement ce que je voulais faire
Cliquez pour découvrir
Cliquez pour recouvrir
"Un pessimiste voit la difficulté dans chaque opportunité, un optimiste voit l'opportunité dans chaque difficulté"
Winston Churchill


J'ai bien envie aussi de mettre mes programmes en signature, après j'en ai que 2 donc c'est pas génial Bon allez, je les met quand même :
les 2 smileys c'est pour garder la bonne humeur

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
Pour coloriser votre code, cliquez ici.
Sinon cliquez sur le bouton ci-dessous.
: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 v42 © créé par Neuronix et Muelsaco 2004 - 2020 | Il y a 83 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