Example #1
0
        public static LieuCle buildAndAddLieuCle(TypeDeLieu type, CouleurEquipe couleur, PointOriente pt, ElementSurface surfaceControle, double toleranceAngulaire)
        {
            LieuCle retour = new LieuCle(type, pt, surfaceControle, toleranceAngulaire);

            addLieuCle(type, couleur, retour);
            return(retour);
        }
Example #2
0
 private static void addLieuCle(TypeDeLieu type, CouleurEquipe couleur, LieuCle lieu)
 {
     if (!LIEUX_CLES.Contains(couleur))
     {
         LIEUX_CLES.Add(couleur, new Hashtable());
     }
     ((Hashtable)LIEUX_CLES[couleur]).Add(type, lieu);
 }
Example #3
0
        private static readonly double TOLERANCE_ANGULAIRE_STANDARD         = 5;                                           // A fixer, radian ou degrès ?

        /// <summary>
        /// La surface de contrôle sert ?valider la position du robot : cf IsAtTheRightPlace
        /// Attention : la surface doit avoir pour origine (0,0), elle est clonée puis translatée automatiquement.
        /// </summary>
        /// <param name="type"></param>
        /// <param name="pt"></param>
        /// <param name="surfaceControle"></param>
        /// <param name="toleranceAngulaire"></param>
        public LieuCle(TypeDeLieu type, PointOriente pt, ElementSurface surfaceControle, double toleranceAngulaire)
        {
            this.surfaceDeControle  = surfaceControle.clone();
            this.pointDeReference   = pt;
            this.toleranceAngulaire = System.Math.Abs(toleranceAngulaire);
            this.typeDeLieu         = type;

            this.surfaceDeControle.translater(pt);
        }
Example #4
0
 public static LieuCle GetLieuCleFor(TypeDeLieu type, CouleurEquipe couleur)
 {
     if (LIEUX_CLES.Contains(couleur))
     {
         Hashtable lieux_associes = (Hashtable)LIEUX_CLES[couleur];
         if (lieux_associes.Contains(type))
         {
             return((LieuCle)lieux_associes[type]);
         }
     }
     return(null);
 }
Example #5
0
 public static LieuCle buildAndAddLieuCle(TypeDeLieu type, CouleurEquipe couleur, PointOriente pt)
 {
     return(buildAndAddLieuCle(type, couleur, pt, SURFACE_DE_CONTROLE_STANDARD, TOLERANCE_ANGULAIRE_STANDARD));
 }
 private void AffLieuMap(char i, ref char vraiAffichage, ref bool atteignable, ref ConsoleColor couleur, ref TypeDeLieu typeDeLaCase )
 {
     estVisible = true; // par default elle est visible, sauf s'elle est en dehors des murs => donc un x
     switch (i)
     {
         case 'T':
             vraiAffichage = 'ø';
             couleur = ConsoleColor.DarkYellow;
             atteignable = false;
             typeDeLaCase = TypeDeLieu.Tresor;
             break;
         case 'p':
             couleur = ConsoleColor.Yellow;
             atteignable = true;
             vraiAffichage = '¤';
             typeDeLaCase = TypeDeLieu.Piece;
             break;
         case '>':
             couleur = ConsoleColor.DarkGray;
             vraiAffichage = '>';
             atteignable = true;
             typeDeLaCase = TypeDeLieu.EscalierMontant;
             break;
         case '<':
             couleur = ConsoleColor.DarkGray;
             vraiAffichage = '<';
             atteignable = true;
             typeDeLaCase = TypeDeLieu.EscalierDescandant;
             break;
         case '.':
             vraiAffichage = ' ';
             couleur = ConsoleColor.White;
             atteignable = true;
             typeDeLaCase = TypeDeLieu.Vide;
             break;
         case '_':
             couleur = ConsoleColor.White;
             vraiAffichage = '_';
             typeDeLaCase = TypeDeLieu.MurOUPorte;
             break;
         case '-':
             couleur = ConsoleColor.White;
             vraiAffichage = '-';
             typeDeLaCase = TypeDeLieu.MurOUPorte;
             break;
         case '|':
             couleur = ConsoleColor.White;
             vraiAffichage = '|';
             typeDeLaCase = TypeDeLieu.MurOUPorte;
             break;
         case 'P':
             vraiAffichage = '=';
             atteignable = true;
             typeDeLaCase = TypeDeLieu.MurOUPorte;
             break;
         case 'c':
             vraiAffichage = '×';
             atteignable = true;
             couleur = ConsoleColor.DarkRed;
             typeDeLaCase = TypeDeLieu.Cadavre;
             break;
         case 't': // pour que la personne designant les cartes s'y retrouve, on gere l'objet torche d'une autre facon
             vraiAffichage = ' ';
             atteignable = false;
             couleur = ConsoleColor.DarkRed;
             typeDeLaCase = TypeDeLieu.Torche;
             break;
         case 'x':
             vraiAffichage = ' ';
             atteignable = false;
             couleur = ConsoleColor.Black;
             typeDeLaCase = TypeDeLieu.Inconu;
             estVisible = false;
             break;
         case 'D':
             vraiAffichage = ' ';
             atteignable = true;
             typeDeLaCase = TypeDeLieu.Vide;
             break;
     }
 }