Déplacer une image en java

sas202010 -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,

je veux déplacer une image suivant une trajectoire et de manière aléatoire , c'est un mouvement indépendant d'une entrée et le déplacement se fait horizontalement
qq peux m'aider et merci

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Le plus simple (je pense), c'est de tirer aléatoirement une "destination", de t'y rendre, puis de recommencer.

    Voici un pseudo-code Java :
    int x; // position de l'image
    
    void allerADroite() // déplace l'image d'un cran à droite
    {
        x++;
        // ...
    }
    
    void allerAGauche() // déplace l'image d'un cran à gauche
    {
        x--;
        // ...
    }
    
    int dest; // destination de l'image
    
    void deplacer() // déplace l'image d'un cran
    {
        // ...
        
        if (dest>x) // la destination est à droite de l'image
        {
            allerADroite();
        }
        else if (dest<x) // la destination est à gauche de l'image
        {
            allerAGauche();
        }
        else // l'image est arrivée à destination
        {
            dest = alea(); // tire aléatoirement une nouvelle destination
        }
        
        // ...
    }
    
    Random rd = new Random();
    int xmin; // position la plus à gauche possible
    int xmax; // position la plus à droite possible
    
    int alea() // renvoie aléatoirement une destination entre xmin et xmax
    {
        return xmin + rd.nextInt(xmax-xmin+1);
    }
    
    void mouvement() // mouvement général
    {
        x = x0; // position initiale
        dest = x0; // destination initiale
        // ...
    
        while (true)
        {
            // ...
            deplacer();
            // ...
        }
    }
    0