Tete Ok, deplacement corp Ok
This commit is contained in:
parent
a878a66888
commit
289affdb8d
|
@ -22,14 +22,19 @@ namespace Bonhomme02
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
public BaseBJ(PictureBox Hebergeur, ref Peau parent, Peau bas, double longueur, double epaisseur, double angle)
|
public BaseBJ(PictureBox Hebergeur, ref Peau parent, Peau bas, double longueur, double epaisseur, double angle) : this( Hebergeur, ref parent, longueur, epaisseur, angle)
|
||||||
|
{
|
||||||
|
this.Bas = bas;
|
||||||
|
this.Bas.parent = this.Millieux;
|
||||||
|
|
||||||
|
}
|
||||||
|
public BaseBJ(PictureBox Hebergeur, ref Peau parent, double longueur, double epaisseur, double angle)
|
||||||
{
|
{
|
||||||
this.parent = parent;
|
this.parent = parent;
|
||||||
this.longueur = longueur;
|
this.longueur = longueur;
|
||||||
this.Haut = new Peau(Hebergeur, ref parent, longueur / 2, epaisseur, angle);
|
this.Haut = new Peau(Hebergeur, ref parent, longueur / 2, epaisseur, angle);
|
||||||
this.Millieux = new Peau(Hebergeur, ref this.Haut, longueur / 2, epaisseur, angle);
|
this.Millieux = new Peau(Hebergeur, ref this.Haut, longueur / 2, epaisseur, angle);
|
||||||
this.Bas = bas;
|
|
||||||
this.Bas.parent = this.Millieux;
|
|
||||||
}
|
}
|
||||||
public void Afficher(IntPtr handle)
|
public void Afficher(IntPtr handle)
|
||||||
{
|
{
|
||||||
|
@ -56,6 +61,8 @@ namespace Bonhomme02
|
||||||
return vecteur.Phase;
|
return vecteur.Phase;
|
||||||
}
|
}
|
||||||
public Point TouverPointMillieux(Point bas)
|
public Point TouverPointMillieux(Point bas)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
Point H = Haut.Coordonnee;
|
Point H = Haut.Coordonnee;
|
||||||
//Point M = new Point() ; //Inconnue
|
//Point M = new Point() ; //Inconnue
|
||||||
|
@ -78,20 +85,21 @@ namespace Bonhomme02
|
||||||
int yy = (int)Math.Round(cooMY);
|
int yy = (int)Math.Round(cooMY);
|
||||||
return new Point(xx, yy);
|
return new Point(xx, yy);
|
||||||
}
|
}
|
||||||
|
catch(Exception e)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Erreur Point millieux : " + e);
|
||||||
|
return new Point(0, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
public void Bouger(int X, int Y)
|
public void Bouger(int X, int Y)
|
||||||
{
|
{
|
||||||
Point nouveauPtBas = new Point(Bas.X + X, Bas.Y + Y);
|
Point nouveauPtBas = new Point(Bas.X + X, Bas.Y + Y);
|
||||||
Point nouveauPtMillieux = TouverPointMillieux(nouveauPtBas);
|
Point nouveauPtMillieux = TouverPointMillieux(nouveauPtBas);
|
||||||
if(nouveauPtMillieux.X == 0 && nouveauPtMillieux.Y == 0)
|
if(nouveauPtMillieux.X != 0 || nouveauPtMillieux.Y != 0)
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
Haut.Angle = TrouverAngleHaut(nouveauPtMillieux);
|
Haut.Angle = TrouverAngleHaut(nouveauPtMillieux);
|
||||||
Millieux.Angle = TrouverAngleMillieux(nouveauPtBas);
|
Millieux.Angle = TrouverAngleMillieux(nouveauPtBas);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,10 +3,19 @@ using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace Bonhomme02
|
namespace Bonhomme02
|
||||||
{
|
{
|
||||||
class Bras : BaseBJ
|
class Bras : BaseBJ
|
||||||
{
|
{
|
||||||
|
public Bras()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
public Bras(PictureBox Hebergeur, ref Peau parent, double longueur, double epaisseur, double angle) : base( Hebergeur, ref parent, longueur, epaisseur, angle)
|
||||||
|
{
|
||||||
|
base.Bas = new Pied(Hebergeur, ref base.Millieux, longueur * 0.3125, epaisseur, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,7 @@ namespace Bonhomme02
|
||||||
private BaseBJ jambe;
|
private BaseBJ jambe;
|
||||||
private Pied pied;
|
private Pied pied;
|
||||||
private Peau corp;
|
private Peau corp;
|
||||||
|
Tete tete;
|
||||||
private BufferedGraphics bufferG = null;
|
private BufferedGraphics bufferG = null;
|
||||||
private Graphics g;
|
private Graphics g;
|
||||||
|
|
||||||
|
@ -36,9 +37,14 @@ namespace Bonhomme02
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
corp.Cacher(this.TV.Handle);
|
||||||
|
tete.Cacher(this.TV.Handle);
|
||||||
jambe.Cacher(this.TV.Handle);
|
jambe.Cacher(this.TV.Handle);
|
||||||
|
corp.coordonnee = new Point(corp.coordonnee.X + 3, corp.coordonnee.Y + 0);
|
||||||
jambe.Bouger(+3, -3);
|
jambe.Bouger(+3, -3);
|
||||||
jambe.Afficher(this.TV.Handle);
|
jambe.Afficher(this.TV.Handle);
|
||||||
|
corp.Afficher(this.TV.Handle);
|
||||||
|
tete.Afficher(this.TV.Handle);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,11 +65,13 @@ namespace Bonhomme02
|
||||||
|
|
||||||
corp = new Peau(this.TV, 80, 80, 100, 40, Math.PI / 2);
|
corp = new Peau(this.TV, 80, 80, 100, 40, Math.PI / 2);
|
||||||
pied = new Pied(this.TV, 25, 10, 0);
|
pied = new Pied(this.TV, 25, 10, 0);
|
||||||
jambe = new BaseBJ(this.TV, ref corp, pied, 80, 10, Math.PI / 2);
|
jambe = new Jambe(this.TV, ref corp, 100, 10, Math.PI / 2);
|
||||||
|
tete = new Tete(this.TV, ref corp, 35);
|
||||||
jambe.Haut.Angle = Math.PI/4;
|
jambe.Haut.Angle = Math.PI/4;
|
||||||
jambe.Millieux.Angle = Math.PI/2 + Math.PI/8 ;
|
jambe.Millieux.Angle = Math.PI/2 + Math.PI/8 ;
|
||||||
jambe.Afficher(this.TV.Handle);
|
jambe.Afficher(this.TV.Handle);
|
||||||
corp.Afficher(this.TV.Handle);
|
corp.Afficher(this.TV.Handle);
|
||||||
|
tete.Afficher(this.TV.Handle);
|
||||||
this.btnStopDeplacerCTick.Enabled = true;
|
this.btnStopDeplacerCTick.Enabled = true;
|
||||||
this.timerImage.Start();
|
this.timerImage.Start();
|
||||||
|
|
||||||
|
|
|
@ -3,10 +3,21 @@ using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace Bonhomme02
|
namespace Bonhomme02
|
||||||
{
|
{
|
||||||
class Jambe : BaseBJ
|
class Jambe : BaseBJ
|
||||||
{
|
{
|
||||||
|
/*pied = new Pied(this.TV, 25, 10, 0);
|
||||||
|
jambe = new BaseBJ(this.TV, ref corp, pied, 80, 10, Math.PI / 2);*/
|
||||||
|
public Jambe()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
public Jambe(PictureBox Hebergeur, ref Peau parent, double longueur, double epaisseur, double angle) : base( Hebergeur, ref parent, longueur, epaisseur, angle)
|
||||||
|
{
|
||||||
|
base.Bas = new Pied(Hebergeur,ref base.Millieux, longueur*0.3125, epaisseur, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,7 +74,7 @@ namespace Bonhomme02
|
||||||
{
|
{
|
||||||
base.longueur = new Vecteur(lg, angle);
|
base.longueur = new Vecteur(lg, angle);
|
||||||
base.epaisseur = new Vecteur(ep, ref base.longueur, true);
|
base.epaisseur = new Vecteur(ep, ref base.longueur, true);
|
||||||
talon = new Vecteur(lg / 2, angle);
|
talon = new Vecteur(lg / 3, angle);
|
||||||
|
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -1,12 +1,78 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
namespace Bonhomme02
|
namespace Bonhomme02
|
||||||
{
|
{
|
||||||
class Tete
|
class Tete : BaseDessin
|
||||||
{
|
{
|
||||||
|
public int rayon;
|
||||||
|
Peau corp;
|
||||||
|
public Tete() : base()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Tete(PictureBox hebergeur, ref Peau corp, int rayon) : base(hebergeur)
|
||||||
|
{
|
||||||
|
this.rayon = rayon;
|
||||||
|
this.corp = corp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Tete(PictureBox hebergeur, int xy) : base(hebergeur, xy)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Tete(PictureBox hebergeur, int x, int y) : base(hebergeur, x, y)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
public Tete(int x, int y) : base(x, y)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
public Tete(PictureBox hebergeur, int xy, Color crayon) : base(hebergeur, xy, crayon)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Tete(PictureBox hebergeur, int x, int y, Color crayon) : base(hebergeur, x, y, crayon)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
public override void Cacher(IntPtr handle)
|
||||||
|
{
|
||||||
|
Point posi = new Point(corp.coordonnee.X - rayon, corp.coordonnee.Y - rayon * 2);
|
||||||
|
if (base.Visible)
|
||||||
|
{
|
||||||
|
Graphics gr = Graphics.FromHwnd(handle);
|
||||||
|
|
||||||
|
if (base.Remplir)
|
||||||
|
{
|
||||||
|
gr.FillEllipse(new SolidBrush(base.Fond), posi.X , posi.Y, rayon*2, rayon*2);
|
||||||
|
}
|
||||||
|
gr.DrawEllipse(new Pen(base.Fond), posi.X, posi.Y, rayon*2, rayon*2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public override void Afficher(IntPtr handle)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (base.Visible)
|
||||||
|
{
|
||||||
|
Graphics gr = Graphics.FromHwnd(handle);
|
||||||
|
Point posi = new Point(corp.coordonnee.X - rayon , corp.coordonnee.Y - rayon * 2);
|
||||||
|
if (base.Remplir)
|
||||||
|
{
|
||||||
|
gr.FillEllipse(new SolidBrush(Color.Blue), posi.X, posi.Y, rayon * 2, rayon * 2);
|
||||||
|
}
|
||||||
|
gr.DrawEllipse(new Pen(Brushes.Black), posi.X, posi.Y, rayon * 2, rayon * 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue