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 :

insérer des coordonnées dans une liste


Sujet :

C#

  1. #1
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2007
    Messages : 696
    Points : 222
    Points
    222
    Par défaut insérer des coordonnées dans une liste
    bonjour, j'aimerais insérer des coordonnées dans une liste

    dans une fonction, j'aimerais retourner un couple de coordonnées
    genre coord retourne 5 et 6.

    une autre fonction, qui appelle cette derniere plusieurs fois, rassemble plusieurs couples de coordonnées dans unes liste list<>.

    genre :
    coordonnée[1] comporte 5 et 6
    coordonnée[2] comporte 1 et 8
    coordonnée[3] comporte 2 et 3
    ...
    comment puis-je faire ? j'ai passé toute ma matinée à galérer >_<
    lol
    merci

  2. #2
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2007
    Messages : 696
    Points : 222
    Points
    222
    Par défaut
    j'ai fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    List<int[]> GrpCoordonnees = new List<int[]>();
    GrpCoordonnees.Add(new int[2] { 4, 3 });
    GrpCoordonnees.Add(new int[2] { 3, 4 });
    GrpCoordonnees.Add(new int[2] { 6, 5 });
    GrpCoordonnees.Add(new int[2] { 5, 6 });
    j'ai tout rassemblé dans une seule fonction afin de comprendre le fonctionnement, dans un premier temps.
    j'ai donc ici 4 couple de coordonnées. cependant lorsque je retourne de tableau et que j'affiche le Count dans un message box, il semble y avoir 8 sous tableau, pas 4 !

  3. #3
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    tu définis une structure correspond aux données que tu veux stocker;

    genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public struct MyData
    {
       public x;
       public y;
    }
    et après, List<MyData>

  4. #4
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Et pourquoi ne pas utiliser Point qui est prévu pour ca

    Une liste de Point ?

  5. #5
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2007
    Messages : 696
    Points : 222
    Points
    222
    Par défaut
    dans le cas présent je ne veux pas retourner un pion, mais une case vide sur le plateau de mon othello.
    a vrai dire j'essai d'obtenir les coordonnées les différentes cases des prochains coups possibles.
    la notion de pion n'intervient pas à cette étape.
    j'essai de poursuivre la méthode des structures, merci theMonz31 !!

  6. #6
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2007
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2007
    Messages : 696
    Points : 222
    Points
    222
    Par défaut
    voici une partie de mon code :

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    public StructCoordonnees getCoupPossible(ClPion lePion, int abs, int ord, int sensAbs, int sensOrd)
            {
                StructCoordonnees coordonnees = new StructCoordonnees();
                ClPion unPion = cherchePion(abs, ord);
                // si la case est occupée, on n'en veut pas
                if (unPion != null)
                {
                    // si la case suivante est vide, on la prend
                    if ((abs < 8) && (abs > 0) && (ord < 8) && (ord > 0))
                    {
                        coordonnees = getCoupPossible(lePion, (abs + sensAbs), (ord + sensOrd), sensAbs, sensOrd);
                    }
                }
                else
                {
                    coordonnees.x = unPion.getAbs();
                    coordonnees.y = unPion.getOrd();
                }
                return coordonnees;
            }
     
            public List<StructCoordonnees> getCoupsPossibles(ClJoueur leJoueur)
            {
                // on obtient la liste de pions de ce joueur
                List<ClPion> lesPionsDuJoueur = leJoueur.getLesPions();
                List<StructCoordonnees> GrpCoordonnees = new List<StructCoordonnees>();
                StructCoordonnees coordonnees = new StructCoordonnees();
                int nbPions = leJoueur.getNbPions();
                ClPion unPion;
     
                // on parcours tous les pions présents sur le plateau
                for (int i = 0; i < nbPions; i++)
                {
                    unPion = ((ClPion)lesPionsDuJoueur[i]);
     
                    int abs = unPion.getAbs();
                    int ord = unPion.getOrd();
     
                    /*// on récupère les coordonnées des différents coups
                    coordonnees = getCoupPossible(unPion, abs, ord, +1, -1); // vers le bas à droite
                    if (coordonnees != null) { GrpCoordonnees.Add(coordonnees); }
                    coordonnees = getCoupPossible(unPion, abs, ord, +1, +1); // vers le haut à droite
                    if (coordonnees != null) { GrpCoordonnees.Add(coordonnees); }
                    coordonnees = getCoupPossible(unPion, abs, ord, -1, +1); // vers le bas à gauche
                    if (coordonnees != null) { GrpCoordonnees.Add(coordonnees); }
                    coordonnees = getCoupPossible(unPion, abs, ord, -1, -1); // vers le haut à gauche
                    if (coordonnees != null) { GrpCoordonnees.Add(coordonnees); }
                    coordonnees = getCoupPossible(unPion, abs, ord, +1, 0); // vers la droite
                    if (coordonnees != null) { GrpCoordonnees.Add(coordonnees); }
                    coordonnees = getCoupPossible(unPion, abs, ord, -1, 0); // vers la gauche
                    if (coordonnees != null) { GrpCoordonnees.Add(coordonnees); }
                    coordonnees = getCoupPossible(unPion, abs, ord, 0, -1); // vers le haut
                    if (coordonnees != null) { GrpCoordonnees.Add(coordonnees); }
                    coordonnees = getCoupPossible(unPion, abs, ord, 0, +1); // vers le bas
                    if (coordonnees != null) { GrpCoordonnees.Add(coordonnees); }*/
     
     
                    // jeu d'essai
                    coordonnees.x = 4; coordonnees.y = 3;
                    GrpCoordonnees.Add(coordonnees);
     
                    coordonnees.x = 3; coordonnees.y = 4;
                    GrpCoordonnees.Add(coordonnees);
     
                    coordonnees.x = 6; coordonnees.y = 5;
                    GrpCoordonnees.Add(coordonnees);
     
                    coordonnees.x = 5; coordonnees.y = 6;
                    GrpCoordonnees.Add(coordonnees);
                }
                return GrpCoordonnees;
            }

  7. #7
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Citation Envoyé par thor76160 Voir le message
    dans le cas présent je ne veux pas retourner un pion, mais une case vide sur le plateau de mon othello.
    Je ne parlais pas de pion mais de Point
    Et en te lisant je me dis qu'un tableau de rectangle serait tout a fait approprié

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par theMonz31 Voir le message
    salut

    tu définis une structure correspond aux données que tu veux stocker;

    genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public struct MyData
    {
       public x;
       public y;
    }
    et après, List<MyData>
    Pourquoi réinventer la roue alors qu'il existe déjà une structure Point qui fait cela. Je suis complètement d'accord avec la proposition d'Olibara

Discussions similaires

  1. Insérer des paramètres dans une liste [HTA + VBS]
    Par Cristalinz dans le forum VBScript
    Réponses: 2
    Dernier message: 15/11/2013, 10h05
  2. Réponses: 2
    Dernier message: 06/11/2009, 17h41
  3. [AC-2000] Insérer des lignes dans une liste de choix
    Par Aeltith dans le forum VBA Access
    Réponses: 15
    Dernier message: 02/10/2009, 14h18
  4. [MySQL] comment insérer des données d'une liste déroulante dans un champ texte
    Par berti dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/01/2008, 09h12
  5. Insérer des images dans une liste de choix ?
    Par Strix dans le forum Balisage (X)HTML et validation W3C
    Réponses: 13
    Dernier message: 04/05/2007, 12h48

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