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 73 74 75 76 77
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
namespace DessineObjets
{
public class Noeud
{
#region Private Members
private Pen crayon=null;
private Color penCouleur = Color.Black;
private float epaisseur= 1.0f;
private Color remplissageCouleur=Color.Blue;
private Brush brosse=null;
private Rectangle rect = Rectangle.Empty;
#endregion Private Members
#region Constructeurs
public Noeud()
{
//rect par default
rect = new Rectangle(0, 0, 25, 25);
crayon = new Pen(penCouleur,epaisseur);
brosse = new SolidBrush(remplissageCouleur);
}
public Noeud(Rectangle r, Color clrCrayon, float e):this()
{
rect = r;
penCouleur = clrCrayon;
epaisseur = e;
}
public Noeud(Point p, Size s, Color clrCrayon, float e)
{
rect = new Rectangle(p, s);
penCouleur = clrCrayon;
epaisseur = e;
}
#endregion Constructeurs
#region Public Methods
//Méthode pour dessiner un noeud ds la zone en paramètre
public void Dessine(Graphics gr)
{
Pen p = new Pen(penCouleur , epaisseur);
gr.DrawRectangle(p, rect);
}
public bool Contains(Point p)
{
return rect.Contains(p);
}
public bool Collision(Noeud autreNoeud)
{
if (autreNoeud == this) return false;
return rect.IntersectsWith(autreNoeud.rect);
}
public void Move(Point pointDest)
{
//deplace toi
rect.X = pointDest.X;
rect.Y = pointDest.Y;
}
#endregion Public Methods
}
} |