Пример #1
0
 /// <summary>
 /// Ajouter un deplacement à la fin du parcours
 /// </summary>
 /// <param name="v">Vecteur à ajouter</param>
 public void AddMouvementFin(Vecteur v)
 {
     this.parcours.Add(v);
 }
Пример #2
0
 /// <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);
 }
Пример #3
0
 public static Vecteur Inverse(Vecteur v)
 {
     return new Vecteur(-v.vx, -v.vy);
 }
Пример #4
0
        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);
        }
Пример #5
0
 public Coordonnees(Vecteur vecteur)
     : this(vecteur.vx,vecteur.vy)
 {
 }
Пример #6
0
        /// <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;

        }
Пример #7
0
        public void ResetSpriteDirection()
        {
            Console.WriteLine("Resetspritedirection");
            foreach (AnimatedSprite sp in this._spritesAnimees)
            {
                sp.InitialiserAnimation();
            }
            this.OffsetCaseDepl = Vecteur.Zero;
            this.Compteur = -1;

        }
Пример #8
0
        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);
        }
Пример #9
0
 /// <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);
 }