IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

Gros soucis pour gérer un seul déplacement!


Sujet :

SDL

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Gros soucis pour gérer un seul déplacement!
    Bonjour à tous,

    Voilà j'ai vraiment un gros problème la et j'arrive pas à m'en sortir!
    Je suis en train de faire un espèce de programme de simulation,
    en gros c'est des insectes vivants qui circulent sur l'écran qui ramassent
    des insectes morts, j'ai fais une structure pour les vivants et une structure
    pour les morts,

    le positionnement des insectes morts et vivants à l'ouverture du programme
    se fait aléatoirement,

    les insectes vivants circulent puis ramassent les morts sans soucis et les
    déposent sur les bords de l'écran,

    et c'est ici que vient mon problème! comment puis-je limiter la capacité de ramassage
    des insectes vivants sachant que je voudrais qu'il ne puisse en ramasser qu'un?

    j'ai tout essayé croyez moi! et ça bug tjrs
    sur demande je peux volontier vous envoyer mon programme car je n'y comprend plus rien!

    merci beaucoup d'avance à tous!

  2. #2
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 370
    Points : 40 164
    Points
    40 164
    Par défaut
    Citation Envoyé par senseii
    comment puis-je limiter la capacité de ramassage
    des insectes vivants sachant que je voudrais qu'il ne puisse en ramasser qu'un?
    bien le bonjour,

    il faut que chaque insecte vivant possède un booléen "déjà_chargé" ou bien un pointeur (ou référence ou autre) vers l'insecte chargé, ou les deux.
    Quand tu ramasses un insecte, tu vérifies que tu peux effectivement le ramasser.

    un exemple c++, mais qui marcherait aussi dans n'importe quel langage, à la syntaxe près :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void vivant::ramasser(insecte_mort i){
        if (this->deja_chargé == false){
            this->insecte_porté = i;
            this->deja_chargé = true;
        }else{
            // on a déjà un insecte, on ne ramasse pas
        }
        return ;
    }

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    salut khayyam et merci pour ton aide!

    j'ai pensé à mettre un indicateur de "portage" c'est à dire une valeur qui se mettrait à 1 quand l'insecte porte un mort, et à 0 quand il serait déchargé le soucis,

    mais en fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
         for(i=0;i<NB_SPRITES2;i++)
            {
     
                  UpdateSprite2(TabSprite2[i], HeureActuelle);             
                   //erasing(Ecran,TabSprite2[i]); 
                  int j;
                  for(j=0;j<NB_SPRITES;j++)
                  {
                  position(TabSprite[j],TabSprite2[i]);
                  } 
     
     
                  DessinerSprite2(Ecran);
     
    	    }
     
     
     
    void position(struct MonSprite * Sprite, struct MonSprite2 * Sprite2)
    {
             if((Sprite->destX[0]-Sprite2->destX2[0])<15 && (Sprite->destY[0]-Sprite2->destY2[0])<15 && (Sprite->destX[0]-Sprite2->destX2[0])>-15 && (Sprite->destY[0]-Sprite2->destY2[0])>-15 && Sprite2->destX2[0] <= SCREEN_LARGEUR-15 && Sprite2->destY2[0] <= SCREEN_HAUTEUR-24 && Sprite2->destX2[0] >= 0 && Sprite2->destY2[0] >= 0)
     
             {
                 Sprite2->destX2[0]=Sprite2->destX2[0]+Sprite->deplX;
                 Sprite2->destY2[0]=Sprite2->destY2[0]+Sprite->deplY;
             }   
     
    }
    je sais pas vraiment ou intégrer ce petit truc parce que chaque déplacement d'un pixel refait appel à la boucle et si j'incrémentais un entier "portage" qui bloque le déplacement dés qu'il est égal à 1 il me déplacerait un insecte d'un pixel et après le redéposerait pour le tour suivant,

    désolé j'ai commencé y a vraiment peu de temps la programmation et j'suis pas très doué

Discussions similaires

  1. [Mail] Gros soucis pour envoyer une newsletter en HTML
    Par Marmotton76 dans le forum Langage
    Réponses: 4
    Dernier message: 02/09/2011, 18h16
  2. soucis pour gérer plusieurs vues
    Par Goffer dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 15/10/2010, 02h24
  3. petite question pour gros soucis
    Par bakman dans le forum SharePoint
    Réponses: 0
    Dernier message: 19/10/2007, 15h30
  4. Gros souci pour relancer la macro
    Par bebertol dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/06/2007, 11h16
  5. Réponses: 2
    Dernier message: 25/02/2006, 06h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo