Пример #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);
        }
Пример #2
0
 public static void startActions(ModeOperatoire mode, TypeRobot type, CouleurEquipe couleur)
 {
     Informations.printInformations(Priority.HIGH, "Starting actions with mod : " + mode.ToString() + " & type : " + type.ToString());
     if (ACTION_PER_TYPE.Contains(mode))
     {
         if (((Hashtable)ACTION_PER_TYPE[mode]).Contains(type))
         {
             if (((Hashtable)((Hashtable)ACTION_PER_TYPE[mode])[type]).Contains(couleur))
             {
                 Informations.printInformations(Priority.HIGH, "Lancement de l'action mère avec le mode " + mode.ToString() + " & type : " + type.ToString() + " & couleur " + couleur.ToString());
                 ((Action)((Hashtable)((Hashtable)ACTION_PER_TYPE[mode])[type])[couleur]).Execute();
                 return;
             }
             else
             {
                 Informations.printInformations(Priority.HIGH, "MODE INTROUVABLE : Impossible de lancer l'action mère (introuvable) pour la couleur : " + couleur.ToString());
             }
         }
         else
         {
             Informations.printInformations(Priority.HIGH, "MODE INTROUVABLE : Impossible de lancer l'action mère (introuvable) pour le mode : " + mode.ToString());
         }
     }
     else
     {
         Informations.printInformations(Priority.HIGH, "TYPE INTROUVABLE : Impossible de lancer l'action mère (introuvable) pour le type : " + type.ToString());
     }
 }
Пример #3
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);
 }
Пример #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);
 }
Пример #5
0
        /* ********************************** FIN TEST ROBOT 1 ****************************** */

        /// <summary>
        /// Fin de la liste des composants
        /// </summary>


        public Robot(composants.IHM.Parametrization parametrization)
        {
            this.typeRobot      = parametrization.GetTypeRobot();
            this.modeOperatoire = parametrization.GetModeOperatoire();
            this.couleurEquipe  = parametrization.GetCouleurEquipe();
            //ecranTactile = new DisplayTE35(14, 13, 12, 10); // L'écran tactile est présent sur chaque robot

            parametrization.startMethod += this.Start;
            robot = this;

            loadComponents();
        }
Пример #6
0
        /* ********************************** FIN TEST ROBOT 1 ****************************** */

        /// <summary>
        /// Fin de la liste des composants
        /// </summary>

        public Robot(composants.IHM.Parametrization parametrization, composants.IHM.C_IHM IHM)
        {
            this.IHM = IHM;

            Debug.Print("Querying type...");
            this.typeRobot = parametrization.GetTypeRobot();
            Debug.Print("Got type : " + typeRobot.ToString());

            Debug.Print("Querying mode operatoire...");
            this.modeOperatoire = parametrization.GetModeOperatoire();
            Debug.Print("Got mode : " + modeOperatoire.ToString());

            Debug.Print("Querying couleur...");
            this.couleurEquipe = parametrization.GetCouleurEquipe();
            Debug.Print("Got couleur : " + Couleur.ToString());
            //ecranTactile = new DisplayTE35(14, 13, 12, 10); // L'écran tactile est présent sur chaque robot

            parametrization.startMethod += this.Start;

            robot = this;

            loadComponents();

            new Thread(() =>
            {
                while (true)
                {
                    Thread.Sleep(this.BASE_ROULANTE.REFRESH_RATE_KANGAROO);
                    this.BASE_ROULANTE.kangaroo.CheckMovingStatus();
                }
            }).Start();

            /*
             * if (this.TypeRobot == TypeRobot.PETIT_ROBOT)
             * {
             *  new Thread(() =>
             *  {
             *      while (true)
             *      {
             *          //Thread.Sleep(PR_ULTRASON.REFRESH_RATE);
             *          PR_ULTRASON.detectObstacle(null);
             *      }
             *  }).Start();
             * }*/


            /*Debug.Print("Starting ROBOT !!!");
             * parametrization.startMethod();*/
        }
Пример #7
0
        private static void setMotherAction(ModeOperatoire mode, TypeRobot type, CouleurEquipe couleur, Action a)
        {
            if (!ACTION_PER_TYPE.Contains(mode))
            {
                ACTION_PER_TYPE.Add(mode, new Hashtable());
            }

            if (!((Hashtable)ACTION_PER_TYPE[mode]).Contains(type))
            {
                ((Hashtable)ACTION_PER_TYPE[mode]).Add(type, new Hashtable());
            }

            if (((Hashtable)((Hashtable)ACTION_PER_TYPE[mode])[type]).Contains(couleur))
            {
                ((Hashtable)((Hashtable)ACTION_PER_TYPE[mode])[type])[couleur] = a;
            }
            else
            {
                ((Hashtable)((Hashtable)ACTION_PER_TYPE[mode])[type]).Add(couleur, a);
            }
            Informations.printInformations(Priority.MEDIUM, "actions mere set pour le type " + type + " & le mode " + mode + " & couleur " + couleur);
        }
Пример #8
0
        /// <summary>
        /// Configure la fenetre de competition avec les parametre du robot
        /// </summary>
        /// <param name="type">Type de Robot</param>
        /// <param name="couleur">Couleur de l'equipe</param>
        internal void defineRobotParam(TypeRobot type, CouleurEquipe couleur)
        {
            TextBlock indicatifRobot;

            indicatifRobot = (TextBlock)m_window.GetChildByName("indicatifRobot");

            switch (type)
            {
            case TypeRobot.GRAND_ROBOT:
                indicatifRobot.Text = "GRAND_ROBOT";
                break;

            case TypeRobot.PETIT_ROBOT:
                indicatifRobot.Text = "PETIT_ROBOT";
                break;

            default:
                indicatifRobot.Text = "Robot type inconnu";
                break;
            }

            switch (couleur)
            {
            case CouleurEquipe.VERT:
                indicatifRobot.BackColor = Colors.Green;
                break;

            case CouleurEquipe.ORANGE:
                indicatifRobot.BackColor = Colors.Orange;
                break;

            default:
                indicatifRobot.BackColor = Colors.Blue;
                break;
            }
        }
Пример #9
0
 public CustomParametrization(TypeRobot typeRobot, ModeOperatoire modeOperatoire, CouleurEquipe couleurEquipe)
 {
     this.typeRobot      = typeRobot;
     this.modeOperatoire = modeOperatoire;
     this.couleurEquipe  = couleurEquipe;
 }
Пример #10
0
 public static LieuCle buildAndAddLieuCle(TypeDeLieu type, CouleurEquipe couleur, PointOriente pt)
 {
     return(buildAndAddLieuCle(type, couleur, pt, SURFACE_DE_CONTROLE_STANDARD, TOLERANCE_ANGULAIRE_STANDARD));
 }