示例#1
0
 public void ConnexionNvxJoueur(string oidj, string skin, string coordX, string coordY)
 {
     Console.WriteLine("Joueur " + oidj + " connecté");
     var p = new Personnage(Convert.ToInt32(coordX), Convert.ToInt32(coordY),this);
     this.ChargeTexturePerso(p);
     //TODO : debug : null reference exception ??
     var compte = this._persoAutres.Count;
     for (int i = 0; i < 5; i++)
     {
         try
         {
             this._persoAutres.Add(oidj, p);
             this.Components.Add(p);
             break;
         }
         catch (NullReferenceException)
         {
         }
     }
     if (this._persoAutres.Count == compte)
         throw new NullReferenceException("Erreur lors de l'ajout dans _persoAutre");
 }
示例#2
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            _spriteBatch = new SpriteBatch(GraphicsDevice);
            var te = this.Content.Load<Texture2D>("caseverte");
            var tevide = this.Content.Load<Texture2D>("casevide");
            var teTelep = this.Content.Load<Texture2D>("casetelep");

            this._personnage = new Personnage(10, 10, this);
            #region creation sprite perso
            this.ChargeTexturePerso(this._personnage);

            #endregion

            this.Components.Add(this._personnage);
            this._listeTextureCarte.Add("1", te);
            this._listeTextureCarte.Add("0", tevide);
            this._listeTextureCarte.Add("2", teTelep);

            AfficherCarte(new ObjetChargementCarte(this, "cartevide"));
            var t = MessageFactory.GetInstanceOf(TypeMessage.DemandeCarte);
            const string cartedem = "carte2";
            //var r = new RandomManager();

            //cartedem = r.GetInt(2) == 0 ? "carte2" : "carte3";
            t.PreparerMessage(new object[] { cartedem });
            this._emmeteur.envoyer(t);
        }
示例#3
0
 /// <summary>
 /// Initialize les textures d'un perso
 /// </summary>
 /// <param name="p"></param>
 private void ChargeTexturePerso(Personnage p)
 {
     var spritehaut = new AnimatedSprite();
     var spritebas = new AnimatedSprite();
     var spritegauche = new AnimatedSprite();
     var spritedroite = new AnimatedSprite();
     for (var i = 0; i < 3; i++)
     {
         spritehaut.AjoutAnimationFrame(this.Content.Load<Texture2D>("AnimationMarche/haut" + i), 10);
         spritebas.AjoutAnimationFrame(this.Content.Load<Texture2D>("AnimationMarche/bas" + i), 10);
         spritegauche.AjoutAnimationFrame(this.Content.Load<Texture2D>("AnimationMarche/gauche" + i), 10);
         spritedroite.AjoutAnimationFrame(this.Content.Load<Texture2D>("AnimationMarche/droite" + i), 10);
     }
     p.SetSprites(spritehaut, spritebas, spritegauche, spritedroite);
 }
示例#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);
        }