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

Développement 2D, 3D et Jeux Discussion :

Algorithme de gestion d'objets multiples


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Algorithme de gestion d'objets multiples
    J'aimerais savoir quel est selon vous la façon de gérer l'affichage de plusieurs missiles dans un jeu de tir en 2D (sachant que ces missiles sont représentés par leurs coordonnées et qu'ils avancent horizontalement à chaque tour de ma boucle principale).
    Il surement préférable d'utiliser un code orienté objet mais je ne vois pas (étant débutant ) les solutions que la POO peut apporter à mon problème.

    Merci de m'aider en me donnant un petit bout de code ou quelques idées

  2. #2
    Membre confirmé Avatar de toxcct
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 434
    Points : 511
    Points
    511
    Par défaut
    pourquoi pas autant de thread que de missiles, chaque thread s'occupant uniquement de son propre déplacement ?

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Points : 1 543
    Points
    1 543
    Par défaut
    Salut,

    Citation Envoyé par toxcct
    pourquoi pas autant de thread que de missiles, chaque thread s'occupant uniquement de son propre déplacement ?
    Vraisemblablement pas
    (Sprite Threading)

    Pourquoi pas le plus simple, c'est à dire une primitive Update() pour mettre à jour l'état des missiles en faisant une boucle sur tous les missiles à chaque pas de temps ?

    Pour l'affichage c'est difficile à dire sans en savoir un peu plus sur le système existant mais en gros il y a deux solutions :
    . une primitive Draw(), éventuellement sur un autre objet que celui qui gère le missile mais ça a le désavantage de devoir récupérer des données avec un accesseur (missile.GetPosition()) ce qui est moins souple que
    . un observateur qui est averti quand le missile est modifié (sa position notamment) et qui se charge de mettre à jour graphiquement

    Le plus simple au début est de mettre une méthode Draw() sur le missile (ou sur une interface implémentée par le missile, au hasard Drawable).

    MAT.

  4. #4
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Citation Envoyé par toxcct
    pourquoi pas autant de thread que de missiles, chaque thread s'occupant uniquement de son propre déplacement ?

    Citation Envoyé par aderdu91
    (étant débutant )
    C'est carrément violent comme méthode, et je suis pas certain des performances (genre si il y a 500 missiles)

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci pour vos réponses que j'essaie de comprendre tant bien que mal
    Cependant mon problème se pose surtout au niveau du stockage des informations sur mes missiles : j'ai essayé d'utiliser un tableau stockant la position horizontale et verticale de chaque objet mais c'est très compliqué et mon algorythme devient de plus en plus compliqué

    Comment stocker ces positions pour pouvoir les manipuler facilement ?
    Est-ce que la programmation orienté objet me permettrait de stocker ces données dans un grand ensemble modifiable en une seul fois ?
    Est-ce que les "primitives" ou les "observateur" peuvent faire cette action ?

  6. #6
    Membre confirmé Avatar de toxcct
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 434
    Points : 511
    Points
    511
    Par défaut
    bah quoi, j'ai pas prétendu proposer la meilleure methode...

    j'en ai proposé une

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par toxcct
    bah quoi, j'ai pas prétendu proposer la meilleure methode...

    j'en ai proposé une
    lol merci quand même

  8. #8
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par aderdu91
    Merci pour vos réponses que j'essaie de comprendre tant bien que mal
    Cependant mon problème se pose surtout au niveau du stockage des informations sur mes missiles : j'ai essayé d'utiliser un tableau stockant la position horizontale et verticale de chaque objet mais c'est très compliqué et mon algorythme devient de plus en plus compliqué

    Comment stocker ces positions pour pouvoir les manipuler facilement ?
    Est-ce que la programmation orienté objet me permettrait de stocker ces données dans un grand ensemble modifiable en une seul fois ?
    Est-ce que les "primitives" ou les "observateur" peuvent faire cette action ?
    Je te conseille de regarder ce tutoriel :

    http://fearyourself.developpez.com/tutoriel/sdl/pong

    Je montre comment gérer plusieurs balles ensemble et gérer les collisions. Je suppose que tu devras faire la même chose...

    Jc

  9. #9
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 389
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 389
    Points : 20 489
    Points
    20 489
    Par défaut
    Citation Envoyé par aderdu91
    J'aimerais savoir quel est selon vous la façon de gérer l'affichage de plusieurs missiles dans un jeu de tir en 2D (sachant que ces missiles sont représentés par leurs coordonnées et qu'ils avancent horizontalement à chaque tour de ma boucle principale).
    Il surement préférable d'utiliser un code orienté objet mais je ne vois pas (étant débutant ) les solutions que la POO peut apporter à mon problème.

    Merci de m'aider en me donnant un petit bout de code ou quelques idées
    Regarde le code que j'ai fait pour le jeu de Bomberman
    http://www.developpez.net/forums/sho...d.php?t=313599

    A chaque fois on crée une entité bombe mise à jour X ms ; les bombes sont contenues dans un std::vector..
    Tu fais la même chose avec des missiles sauf que là il faut d'abord déterminer une trajectoire au besoin avec sin et cos

    Citation Envoyé par fearyourself
    url]http://fearyoursef.developpez.com/tutoriel/sdl/pong[/url]
    le lien ne fonctionne pas

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par fearyourself
    Je te conseille de regarder ce tutoriel :

    http://fearyourself.developpez.com/tutoriel/sdl/pong

    Je montre comment gérer plusieurs balles ensemble et gérer les collisions. Je suppose que tu devras faire la même chose...

    Jc
    Merci je crois que ce tuto explique effectivement la solution que je cherchais

    Merci encore !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Cherche algorithme pour gestion d'humains
    Par dontDeleteMe dans le forum Algorithmes et structures de données
    Réponses: 11
    Dernier message: 30/01/2007, 23h45
  2. Pb de gestion des objets Excel
    Par tedparker dans le forum Access
    Réponses: 2
    Dernier message: 11/09/2006, 17h13
  3. gestion collision objet
    Par karasnake dans le forum Flash
    Réponses: 2
    Dernier message: 14/06/2006, 08h54
  4. [VBA-E]Gestion d'erreurs multiple
    Par icetechnik dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/04/2006, 22h35
  5. Quel algorithme pour insertion d'objets "triés" da
    Par phplive dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2005, 09h27

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