Liste

Résolu
cs_brico07 Messages postés 60 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 16 mai 2012 - 24 avril 2007 à 08:38
ricklekebekoi Messages postés 303 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 24 avril 2009 - 24 avril 2007 à 15:21
bojour,
je suis une débutante en c# et j'ais pu  désiner des rectangles avec Dot.net mais seulement je veux chacun de mes rectangle déssiné soit dans une liste que je pourrais trié après.
comment faire je ne sais pas.
mersi de me venir en aide.

13 réponses

ricklekebekoi Messages postés 303 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 24 avril 2009 5
24 avril 2007 à 15:21
Bah tu aurais donc 2 listes de rectangle ? Essai comme ça ... sinon je comprends vraiment pas
===========


bool intersect = false; 
foreach(Rectangle rect1 in myCollection1)
  {
      foreach(Rectangle rect2 in myCollection2)
     {
        if(rect1.IntersectWith(rect2))
       {
           intersect = true;
       }
    }
 }

==============
Eric
3
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
24 avril 2007 à 10:45
Salut,
Tu peux par exemple faire une list de rectangle:
List<Rectangle> list = new List<Rectangle>();

<hr />
-Blog-
0
cs_brico07 Messages postés 60 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 16 mai 2012 1
24 avril 2007 à 10:51
mersi déjà pour l'aide,
mais comment faire donc pour savoir que chaque fois que je dessine un rectangle il est dans la liste?
Car en faite je veux pouvoir crée une liste qui contient tout les rectangles que je dessine .
mersi
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
24 avril 2007 à 10:54
Tu itères dans ta liste, et tu dessines chaques rectangles. Ca donne quelques chose dans ce genre:

foreach(Rectangle rect in list)
{
    g.DrawRectangle(rect, ...);
}

<hr />
-Blog-
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_brico07 Messages postés 60 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 16 mai 2012 1
24 avril 2007 à 11:57
mersi beuacoup!!!


et maintenant au cas où j'aimerais savoir si deux rectangles de ma liste se chevauche que faire???

if (
GlobalVars.Instance.m_Obstacles.IntersectsWith(newRect))

J'ai éssayé avec le methode IntersectsWith() de Rectangle mais comme ma variable newRect est de type


IList<
Rectangle> newRect.
cela ne fonctionne pas!!
que dois je faire, pour pouvoir si les rectangle de ma liste chevauche??
mersi
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
24 avril 2007 à 12:35
Tu compares avec un rectangle de la collection, par exemple newRect[i]

<hr />
-Blog-
0
cs_brico07 Messages postés 60 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 16 mai 2012 1
24 avril 2007 à 13:09
STP!! mais comment faire la comparaison??
0
ricklekebekoi Messages postés 303 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 24 avril 2009 5
24 avril 2007 à 13:34
Bha style

bool intersect = false
foreach(Rectangle rect in list)
{
    if( monRect.IntersectsWith(newRect) )

      intersect = true;
}

ensuite si la var "intersect" est a true, bah il touche à l'un deux.

Eric
0
ricklekebekoi Messages postés 303 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 24 avril 2009 5
24 avril 2007 à 13:34
euh ici "newRect" doit être "rect"

Eric
0
cs_brico07 Messages postés 60 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 16 mai 2012 1
24 avril 2007 à 13:36
mon probleme est qu'il est de type List<Rect>
comment faire?
0
ricklekebekoi Messages postés 303 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 24 avril 2009 5
24 avril 2007 à 13:38
mais dans la boucle, c'est lui que tu parcours, tu remplace "list" par ta liste, et tu aura chaque rectangle de ta liste ... non ?

Eric
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
24 avril 2007 à 13:43
public ... Compare(Rectangle monRect)
{
   foreach(Rectangle rect in myCollection)
  {
     if(monRect.IntersectWith(rect))
    {
       ....
    }
}

<hr />
-Blog-
0
cs_brico07 Messages postés 60 Date d'inscription jeudi 12 avril 2007 Statut Membre Dernière intervention 16 mai 2012 1
24 avril 2007 à 14:16
mersi tout d'abord!!!
ils sont de types liste monRect et Rect donc impossible!!!!
0
Rejoignez-nous