Comment ajouter l'unité du temps dans un jeu 2d en java

sas202010 -  
 sas202010 -
Bonjour,

je développe un jeu 2D en java c comme une personnage doit atteindre son but en 60 seconde , j'ai presk fini le travail j'ai construi le labyrinthe et ts mais reste la condition de temps , qq peux m'aider et merci

2 réponses

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Tu devrais utiliser un Thread qui gère le temps. Ce Thread ne fera rien car une fois démarré il se mettra tout de suite en pause pendant 60 secondes. Par contre une fois son traitement terminé il arrêtera le jeu.

    Voici par exemple un programme qui affiche les nombres de 1 en 1, et s'arrête au bout de 5 secondes.

    public class Timer extends Thread
    {
        // Thread à arrêter une fois le temps écoulé
        private final Thread thread;
        
        // Temps après lequel il faut arrêter le thread
        private final long ms;
        
        // Si option=true : l'arrêt du timer avant la fin du temps arrête aussi le thread attaché
        // Si option=false: l'arrêt du timer avant la fin du temps laisse le thread se poursuivre
        private final boolean option;
        
        public Timer(Thread thread, long ms, boolean option)
        {
            this.thread = thread;
            this.ms = ms;
            this.option = option;
        }
        
        public void run()
        {
            try
            {
                Thread.sleep(ms);   // attends
                thread.interrupt(); // arrête le thread
            }
            catch (InterruptedException e) 
            {
                if (option) // arrête le thread selon option
                    thread.interrupt();
            }
        }
    }
    
    public class Action extends Thread 
    {
        public void run()
        {
            // affiches de 1 en 1, jusqu'à interruption
            for (int i=0; !interrupted(); i++)
                System.out.println(i);
        }
    }
    
    public class Test
    {
        public static void main(String[] args)
        {        
            Action action = new Action();
            Timer timer = new Timer(action, 5000, true);
            
            timer.start();
            action.start();
        }
    }
    0