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); }
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); }
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); }
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); }
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; } }