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

C# Discussion :

Problème double liste int


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 11
    Par défaut Problème double liste int
    Bonjour,

    Je fait un petit jeu 2d où je stocke la map dans une double liste de int (tile mapping) et j’aimerai, dans une simple liste int temporaire, stocker soit la colonne de la map ou la ligne.

    La double liste est représenté comme ceci :
    [y0,x0] [y0,x1] [y0,x2]...
    [y1,x0] [y1,x1] [y1,x2]...
    [y2,x0] [y2,x1] [y2,x2]...
    ...

    Pour cela j’utilise une méthode « get Column » qui me retour ne une colonne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private static List<int> getColumn(int dim, List<List<int>> map)
            {
                List<int> column =  new List<int>();
     
                for (int i = 0; i < map.Count; i++)
                    column.Add(map[i][dim]);
     
                return column;
            }
    Que je récupère tout simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<int> tmp = getColumn(0, map) ;
    Le souci c’est que quand je change une valeur de tmp elle ne change pas dans “map”, ce qui est normal, mais d’ou ma question, y’a t-il un moyen de retourner une colonne de la map dans une liste temporaire en sorte que quand je change une valeur de « tmp » ça change aussi dans « map » ?

    Merci .

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Par défaut
    Salut,

    Sans avoir vraiment réfléchi à la problématique de la modélisation, je te propose une solution qui me parait être adaptée à ton problème :
    Plutôt que d'avoir des List<int>, tu devrais créer une classe Tile et avoir des List<Tile>. Tes objets seront des types références et non des types valeurs, ainsi tu travailleras avec les mêmes objets dans et hors de ta méthode.

    De plus ça permet d'être plus évolutif, le jour où tu voudras stocker plus qu'un entier dans une cellule de la map !

  3. #3
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Avec le FrameWork 4.0, on pourrait utiliser des Tuple<int,int>.

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 50
    Par défaut
    Citation Envoyé par Graffito Voir le message
    Avec le FrameWork 4.0, on pourrait utiliser des Tuple<int,int>.
    Excellent, je ne connaissait pas : simple et efficace ce Tuple

    Pour infos :http://jlambert.developpez.com/tutor...t-framework-4/

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 11
    Par défaut
    Merci pour vos réponses, tout marche comme il faut maintenant

    Du coup j'utilise des List<List<Tile>>, je vais jeter un coup d'œil à Tuple ça à l'air bien intéressant.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/12/2012, 19h15
  2. [1.x] Problème avec les doubles liste Symfony
    Par farhaenis dans le forum Symfony
    Réponses: 1
    Dernier message: 10/08/2011, 18h15
  3. problème de conversion int[x] --> string
    Par poussinphp dans le forum SL & STL
    Réponses: 2
    Dernier message: 17/08/2005, 14h45
  4. Problème avec listes liées entre elles et bouton "précé
    Par Oluha dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/08/2005, 15h10
  5. Probleme avec les double Liste chainees
    Par BernardT dans le forum Langage
    Réponses: 1
    Dernier message: 12/07/2005, 17h22

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