protected override void ExecuteInstructionSimple(InstructionSimple instruction) { JoueurEnCours.EtatJoueur.Angle += instruction.EtatFinal.Angle; JoueurEnCours.EtatJoueur.Angle = JoueurEnCours.EtatJoueur.Angle % 360.0; if (instruction.EtatFinal.Crayon != Etat.EtatCrayon.SAME) { JoueurEnCours.EtatJoueur.Crayon = instruction.EtatFinal.Crayon; } if (instruction.EtatFinal.Position != null) { Point position = instruction.EtatFinal.Position; Point imageRotation = position.Rotate(JoueurEnCours.EtatJoueur.Angle); Point positionJoueur = JoueurEnCours.EtatJoueur.Position; Point image = positionJoueur.Add(imageRotation); if (JoueurEnCours.EtatJoueur.Crayon == Etat.EtatCrayon.BAISSER) { IVecteur vect = FabriqueVecteur.getVecteur(niveauEnCours.Type, JoueurEnCours.EtatJoueur.Position, image); FormeEnCours.Add(vect); } JoueurEnCours.EtatJoueur.Position = image; } }
public static Vecteur2 CreateVecteur(IVecteur vect) { if (vect is Vecteur2) { return(vect as Vecteur2); } else { throw new NotImplementedException("Not implemented function for others vectors"); } }
/// <summary> /// Ajoute un segment a la liste /// </summary> /// <param name="segment">le segment a ajouter</param> public void Add(IVecteur segment) { segments.Add(segment); }
public override bool Equals(IVecteur vect2) { return(Equals((Vecteur2)vect2)); }
public abstract bool Equals(IVecteur vect2);