Partage
  • Partager sur Facebook
  • Partager sur Twitter

Snake SDL faire apparaitre une pomme aleatoirement

    22 février 2018 à 12:56:14

    Salut je suis nouveau sur le site (et en progra aussi ^^), j'ai suivi le tuto de Mathieu Nebra sur la SDL et je suis entrain de faire un snake

    (Je précise que j'affiche tout sur une fenêtre de 640 par 480)

    J'ai un petit problème au niveau de l'affichage de la pomme.

    J'ai vu que pour la faire apparaître aléatoirement il faut utiliser la fonction rand. Tout va bien jusque la, cependant j'ai besoin que cette pomme s'affiche à des coordonnées divisibles par 20 (par exemple : en X a 600 et en Y a 280 et pas en X a 241 et en Y a 325)

    Voila la partie que j'ai en attendant :

                    srand(time(NULL));
                    positionPommeDefaut.x = (rand() % (640 - 0) + 640);
    
    
                    srand(time(NULL));
                    positionPommeDefaut.y = (rand() % (480 - 0) + 480);

    Si vous pouviez éclairer ma lanterne, ça serait sympa ^^ 

    Merci de votre aide :)

    • Partager sur Facebook
    • Partager sur Twitter
      22 février 2018 à 13:16:58

      Bonjour,

      srand() il faut le faire une seule fois dans tout le programme (initialisation).

      Ensuite il est possible de tirer un rand() pour x entre 0 et 32 et de le multiplier par 20 pour avoir une position multiple.

      (pour y entre 0 et 24)

      exemple de fonction qui tire un entier entre min et max :

      int aleat(int MIN, int MAX) // avec init : srand(time(NULL));
      {
          int nb;
          nb=(rand()%(MAX-MIN+1))+MIN;
          return nb;
      }



      • Partager sur Facebook
      • Partager sur Twitter
      Architecture SDL                     Multithreading         
        22 février 2018 à 14:51:10

        picosoft a écrit:

        Bonjour,

        srand() il faut le faire une seule fois dans tout le programme (initialisation).

        Ensuite il est possible de tirer un rand() pour x entre 0 et 32 et de le multiplier par 20 pour avoir une position multiple.

        (pour y entre 0 et 24)

        exemple de fonction qui tire un entier entre min et max :

        int aleat(int MIN, int MAX) // avec init : srand(time(NULL));
        {
            int nb;
            nb=(rand()%(MAX-MIN+1))+MIN;
            return nb;
        }



        Ok merci de ton aide, je vais voir ça :)

        • Partager sur Facebook
        • Partager sur Twitter

        Snake SDL faire apparaitre une pomme aleatoirement

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown