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

Java Discussion :

Structure de donnée 3D


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Structure de donnée 3D
    Bonsoir,

    Je souhaite créer un plateau 3D sur lequel je place par exemple des pions ayant un seul attribut, leur couleur.
    Chaque case ne peut posséder qu'un pion à la fois, elle peut aussi être vide.
    Je peux accéder au pion via le couple (x,y,z) mais aussi obtenir un sous ensemble du plateau 3D du genre tout les pions ayant pour couple (1,y,z) ou (1,2,z) ou encore (x,1,z) etc...

    Je peine a trouver une structure de données efficace pour modéliser au mieux mon problème, avez-vous une solution à me proposer s'il vous plait ?

    Merci de toute l'attention que vous consacrerez a mon post.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    À mon avis tu t'en sortirais tout simplement avec un tableau tridimensionnel ou une simple HashMap<IntTriplet, Pion>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Invité
    Invité(e)
    Par défaut
    Je n'aime pas trop le tableau dans mon cas puisqu'en fait le plateau est infini donc l'allocation de mémoire n'est pas fixe.
    J'étais passé sur le chat il y a quelques semaines on m'avait proposé une HashMap<coupleInt, pion> aussi mais je n'ai pas trouvé comment à l'aide de ce moyen, obtenir tout les pions étant en x=0 et en y=1 par exemple.

    Pourrais-tu me donner plus d'information sur la manière dont je devrais m'y prendre s'il te plait ?

    Merci pour ta réponse.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Si ton plateau est infini, ça ne va pas aller avec une HashMap toute simple.

    Il n'y a pas de structure commune correspondant à ton besoin, tu vas avoir besoin de structures proches des bases de données : des indexes sur les principaux critères de recherches.
    Et un index se fait bien avec des HashMap<ClasseDuCritere, List<Pion>>*, c'est juste qu'il va t'en falloir plusieurs, et les garder cohérents les uns avec les autres. Du coup il faudrait les chapeauter avec une classe qui s'occupe de les gérer tous.

    Bon, et ma foi, s'il y avait des bibliothèques qui offraient des structures à indexation multiple, j'en connaîtrait pas, mais... Ce serait pas surprenant.

    * Un HashMultimap de Guava simplifierait pas mal.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Invité
    Invité(e)
    Par défaut
    Merci, je pense utiliser une base de donnée dans ce cas la, ce sera plus simple ^^

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

Discussions similaires

  1. Comment créer une structure de donnée dynamiquement ?
    Par Beaunico dans le forum Langage
    Réponses: 9
    Dernier message: 24/01/2006, 09h34
  2. Aide pour diagramme de structure des données
    Par DeezerD dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 04/12/2004, 19h10
  3. Méta-Programmation - [ structures de données ]
    Par Dam)rpgheaven dans le forum C++
    Réponses: 3
    Dernier message: 03/12/2004, 19h38
  4. Structure des données en retour d'un DBExtract ?
    Par mikouts dans le forum XMLRAD
    Réponses: 4
    Dernier message: 24/01/2003, 15h15
  5. Structure de données de type "RECORD"
    Par chaours dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 30/09/2002, 17h10

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