/// <summary> /// Ajouter un deplacement à la fin du parcours /// </summary> /// <param name="v">Vecteur à ajouter</param> public void AddMouvementFin(Vecteur v) { this.parcours.Add(v); }
/// <summary> /// Ajouter un deplacement au tout debut du parcours /// </summary> /// <param name="v">Vecteur à ajouter</param> public void AddMouvementDebut(Vecteur v) { this.parcours.Insert(0, v); }
public static Vecteur Inverse(Vecteur v) { return new Vecteur(-v.vx, -v.vy); }
public void DeplacementPerso(Vecteur v, Personnage personnage) { Console.WriteLine("Deplacement " + v); Console.WriteLine("Direction avant : " + personnage.Direction); //todo : optimiser switch (v.vx) { case -1: personnage.Direction = 3; break; case 1: personnage.Direction = 1; break; default: switch (v.vy) { case -1: personnage.Direction = 0; break; case 1: personnage.Direction = 2; break; } break; } Console.WriteLine("Direction apres : " + personnage.Direction); }
public Coordonnees(Vecteur vecteur) : this(vecteur.vx,vecteur.vy) { }
/// <summary> /// Constructeur d'un personnage /// </summary> /// <param name="posX"></param> /// <param name="posY"></param> /// <param name="g">Game </param> public Personnage(int posX, int posY, Game g) : this(g) { this._position = new Coordonnees { X = posX, Y = posY }; this.OffsetCaseDepl = Vecteur.Zero; this.Direction = 2; this.Compteur = -1; // this.compteur = 0; this._cheminPrevu = new Chemin(); this._cfh = this.FinCheminPrevu; this._flagdepl = false; }
public void ResetSpriteDirection() { Console.WriteLine("Resetspritedirection"); foreach (AnimatedSprite sp in this._spritesAnimees) { sp.InitialiserAnimation(); } this.OffsetCaseDepl = Vecteur.Zero; this.Compteur = -1; }
public void Tick() { int dir = this.GetNextDirection(); this._spritesAnimees[dir].Tick(); //gerer offset var t = (float)(Game1.NombreTickDeplacement - this.Compteur) / Game1.NombreTickDeplacement; var d = t * Game1.TailleCaseX; switch (dir) { //cas stop case -1: this.OffsetCaseDepl = Vecteur.Zero; break; case 0: this.OffsetCaseDepl = new Vecteur(0, -(int)d); break; case 1: this.OffsetCaseDepl = new Vecteur((int)d, 0); break; case 2: this.OffsetCaseDepl = new Vecteur(0, (int)d); break; case 3: this.OffsetCaseDepl = new Vecteur(-(int)d, 0); break; } //Console.WriteLine("après tick"); //Console.Write(this); }
/// <summary> /// Deplace le perso du vecteur indiqué /// </summary> public void Move(Vecteur v) { Console.WriteLine("Perso deplacé de : " + v.vx + " , " + v.vy); this._position.X += v.vx; this._position.Y += v.vy; Console.WriteLine("Perso maintenant en "+this._position); }