CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[HELP JAVA] mettre en pause le programme en attendant une action ?

thelastofus2
thelastofus2
Niveau 32
07 février 2015 à 18:04:18

Bonjour,

Je suis un peu débutant en java et je suis en train de programmer un jeu sur netbeans. Ce jeu se joue tour par tour, et à chaque tour, le joueur joue et l'IA joue juste après. Mais j'ai du mal à faire quelque chose : Je voudrais qu'au début du tour, le programme attende que le joueur fasse une action (ICI l'action serait d'appuyer sur un bouton) . Puis le programme reprend lorsque le joueur appuie sur un bouton.

Cependant je ne sais pas du tout quoi utiliser pour mettre en pause mon programme en attendant que l'utilisateur réaliste une action. Donc comment je peux me débrouiller ?

Merci d'avance pour votre aide :oui:

[notch]
[notch]
Niveau 10
07 février 2015 à 18:38:52

Tu utilise quel lib?
Je sais que par exemple avec la sdl, il y'a une fonction qui attend qu'un événement se passe et le renvoi (tant qu'il y a pas eu l'événement, le programme est en pause), il existe peut être l'equivalent dans la lib que tu utilise.

Tu peux sinon boucler (avec un while) tant qu'il y a pas eu d'action (le programme ne se mettra pas en pause mais tu peux toujours mettre un wait avec une petite valeur pour ne pas trop utiliser le cpu si c'est ce que tu cherche à faire).

Attention cependant, en utilisant ces méthodes pour mettre le programme en pause, il n'y aura pas d'actualisation (de données ou de l'écran (donc pas d'animations tant que le joueur ne realise pas une action)) à part si tu fait ca dans un autre thread.

thelastofus2
thelastofus2
Niveau 32
07 février 2015 à 19:33:11

Je n'utilise pas sdl, juste ce qu'il y a sur netbeans par défaut. J'ai pensé à la boucle while mais ca me parait bizarre. Je devrais mettre un boolean dans le while et quand j'appuie sur le bouton, ca me sort de la boucle. Donc en gros, je mets rien dans le while et ca tourne indéfiniment ?
Après oui, quand je dis mettre le programme en pause, c'est en fait pas vraiment une pause car je veux quand même que l'utilisateur ait la possibilité d'appuyer sur le bouton, et à ce moment le programme continue.

Mais bon quand j'y pense, je pense pouvoir trouver un moyen de ne pas stopper le programme. Ou alors oui j'utilise un autre thread. Bon pense savoir comment faire au final, merci :)

Bunyan
Bunyan
Niveau 17
08 février 2015 à 09:53:44

Avant d'aller plus loin, c'est un programme avec une interface graphique ou en console ?

thelastofus2
thelastofus2
Niveau 32
11 février 2015 à 14:46:54

J'ai une interface graphique, mais j'ai trouvé une solution au final

Sous forums
  • Aide à l'achat Mac
  • Steam Deck
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Macintosh
  • Hardware
La vidéo du moment