Liste [Résolu]

cs_brico07 61 Messages postés jeudi 12 avril 2007Date d'inscription 16 mai 2012 Dernière intervention - 24 avril 2007 à 08:38 - Dernière réponse : ricklekebekoi 305 Messages postés mardi 11 février 2003Date d'inscription 24 avril 2009 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

13 réponses

Meilleure réponse
ricklekebekoi 305 Messages postés mardi 11 février 2003Date d'inscription 24 avril 2009 Dernière intervention - 24 avril 2007 à 15:21
3
Merci
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

Merci ricklekebekoi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 83 internautes ce mois-ci

Commenter la réponse de ricklekebekoi
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 24 avril 2007 à 10:45
0
Merci
Salut,
Tu peux par exemple faire une list de rectangle:
List<Rectangle> list = new List<Rectangle>();

<hr />
-Blog-
Commenter la réponse de cs_Bidou
cs_brico07 61 Messages postés jeudi 12 avril 2007Date d'inscription 16 mai 2012 Dernière intervention - 24 avril 2007 à 10:51
0
Merci
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
Commenter la réponse de cs_brico07
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 24 avril 2007 à 10:54
0
Merci
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-
Commenter la réponse de cs_Bidou
cs_brico07 61 Messages postés jeudi 12 avril 2007Date d'inscription 16 mai 2012 Dernière intervention - 24 avril 2007 à 11:57
0
Merci
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
Commenter la réponse de cs_brico07
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 24 avril 2007 à 12:35
0
Merci
Tu compares avec un rectangle de la collection, par exemple newRect[i]

<hr />
-Blog-
Commenter la réponse de cs_Bidou
cs_brico07 61 Messages postés jeudi 12 avril 2007Date d'inscription 16 mai 2012 Dernière intervention - 24 avril 2007 à 13:09
0
Merci
STP!! mais comment faire la comparaison??
Commenter la réponse de cs_brico07
ricklekebekoi 305 Messages postés mardi 11 février 2003Date d'inscription 24 avril 2009 Dernière intervention - 24 avril 2007 à 13:34
0
Merci
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
Commenter la réponse de ricklekebekoi
ricklekebekoi 305 Messages postés mardi 11 février 2003Date d'inscription 24 avril 2009 Dernière intervention - 24 avril 2007 à 13:34
0
Merci
euh ici "newRect" doit être "rect"

Eric
Commenter la réponse de ricklekebekoi
cs_brico07 61 Messages postés jeudi 12 avril 2007Date d'inscription 16 mai 2012 Dernière intervention - 24 avril 2007 à 13:36
0
Merci
mon probleme est qu'il est de type List<Rect>
comment faire?
Commenter la réponse de cs_brico07
ricklekebekoi 305 Messages postés mardi 11 février 2003Date d'inscription 24 avril 2009 Dernière intervention - 24 avril 2007 à 13:38
0
Merci
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
Commenter la réponse de ricklekebekoi
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 24 avril 2007 à 13:43
0
Merci
public ... Compare(Rectangle monRect)
{
   foreach(Rectangle rect in myCollection)
  {
     if(monRect.IntersectWith(rect))
    {
       ....
    }
}

<hr />
-Blog-
Commenter la réponse de cs_Bidou
cs_brico07 61 Messages postés jeudi 12 avril 2007Date d'inscription 16 mai 2012 Dernière intervention - 24 avril 2007 à 14:16
0
Merci
mersi tout d'abord!!!
ils sont de types liste monRect et Rect donc impossible!!!!
Commenter la réponse de cs_brico07

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.