コード例 #1
0
ファイル: CarteEcran.cs プロジェクト: Chapelin/XNAGitTest
        /// <summary>
        /// Calcule le chemin (prenant en compte les obstacles) pour aller d'un point à un autre
        /// </summary>
        /// <param name="oDepart">Coordonnee de depart</param>
        /// <param name="oArrivee">coordonnee d'arrivee</param>
        /// <returns>Chemin à emprunter pour y arriver</returns>
        public Chemin CalculerChemin(Coordonnees oDepart, Coordonnees oArrivee)
        {
            var c = new Chemin();

            var a = oDepart.X;
            var b = oArrivee.X;
            var cpt = oDepart.X;
            var res = this.GetChemin(oDepart, oArrivee);
            List<Coordonnees> result = res.Select(t => t.pos).Reverse().ToList();
            for (int i = 0; i < result.Count - 1; i++)
            {
                var diff = (result[i + 1] - result[i]);
                c.AddMouvementFin(new Vecteur(diff));
            }

            Console.WriteLine("Chemin calculé pour aller de " + oDepart + " à " + oArrivee + " : ");
            Console.WriteLine(c.ToString());

            return c;
        }
コード例 #2
0
ファイル: Serveur.cs プロジェクト: Chapelin/XNAGitTest
 private static void NotifierDeplacement(Chemin c, Joueur j, ListeJoueur lj)
 {
     //envoie message noptif
     var message = MessageFactory.GetInstanceOf(TypeMessage.Notif);
     message.PreparerMessage((object)j.UiUnique.ToString(), (object)c.ToString());
     foreach (var joueur in lj.ToList().Where(joueur => joueur != j))
     {
         joueur.EmetteurJoueur.envoyer(message);
     }
 }