Ejemplo n.º 1
0
        /*
         * Constructeur
         */
        public __Bloc(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs)
        {
            __UID = _UID;

            __commentaire = "";

            __nomDansBlockly = _XMLDuBloc.Attributes["type"].Value;

            __blocPrécédent = _blocPrécédent;

            __groupeDeBlocs = _groupeDeBlocs;

            if (__blocPrécédent != null)
            {
                __UIDDuSéquenceur = __blocPrécédent.__UIDDuSéquenceur;
            }
            else
            if (__groupeDeBlocs != null)
            {
                __UIDDuSéquenceur = __groupeDeBlocs.__UIDDuSéquenceur;
            }


            __séquences = new List <Séquence>();
        }
        /*
         * Constructeur
         */
        public Contrôle_Attends_SAIDurée(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs, 0)
        {
            // Déclarations
            // ------------

            String nomDeLAttribut;



            // Traitements
            // -----------

            // Analyse du Bloc d'instruction
            foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc.ChildNodes)
            {
                nomDeLAttribut = "";
                if (XMLDUnNoeudFils.Attributes["name"] != null)
                {
                    nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value;
                }

                switch (nomDeLAttribut)
                {
                case "Durée":
                    durée = Int32.Parse(XMLDUnNoeudFils.InnerText);
                    break;
                }
            }
        }
        /*
         * Constructeur
         */
        public Paramètre_CalibreLesMoteurs_SAIValeur(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
        {
            // Déclarations
            // ------------
            String nomDeLAttribut;



            // Analyse du Bloc d'instruction
            foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc.ChildNodes)
            {
                nomDeLAttribut = "";
                if (XMLDUnNoeudFils.Attributes["name"] != null)
                {
                    nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value;
                }

                switch (nomDeLAttribut)
                {
                case "Valeur":
                    __MOTEUR.calibration = Int32.Parse(XMLDUnNoeudFils.InnerText);
                    break;
                }
            }
        }
Ejemplo n.º 4
0
        /*
         * Constructeur
         */
        public Mouvement_Tourne_AvecSens_SAIAngle(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, int _sens) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs, _sens, 0)
        {
            // Déclarations
            // ------------

            String nomDeLAttribut;


            // Traitements
            // -----------

            // Analyse du Bloc d'instruction
            foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc.ChildNodes)
            {
                nomDeLAttribut = "";
                if (XMLDUnNoeudFils.Attributes["name"] != null)
                {
                    nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value;
                }

                switch (nomDeLAttribut)
                {
                case "Angle":
                    angle = Int32.Parse(XMLDUnNoeudFils.InnerText);
                    break;
                }
            }
        }
 /*
  * Constructeur
  */
 public __Variable(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
 {
     if (__variables == null)
     {
         __variables = new Dictionary <string, int>();
     }
 }
Ejemplo n.º 6
0
        /*
         * Constructeur
         */
        public __Valeur_Boutons(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, int _bouton) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
        {
            // Initialisation des membres
            // --------------------------

            __code = __BOUTONS.code(_bouton);
        }
Ejemplo n.º 7
0
        /*
         * Constructeur
         */
        public Valeur_AfficheLaValeur_ENTEntier(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
        {
            // Déclarations
            // ------------

            String nomDeLAttribut;



            // Traitements
            // -----------

            // Analyse du Bloc d'instruction
            foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc)
            {
                nomDeLAttribut = "";
                if (XMLDUnNoeudFils.Attributes["name"] != null)
                {
                    nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value;
                }

                switch (nomDeLAttribut)
                {
                case "Valeur":
                    __expression = Compilateur.AnalyseUnNoeudDExpression(_UID, XMLDUnNoeudFils.FirstChild, _blocPrécédent, _groupeDeBlocs);
                    break;
                }
            }


            // Liste les séquences du bloc
            // ---------------------------
            __séquences.Add((Séquence)Séquence_1);
        }
Ejemplo n.º 8
0
 /*
  * Constructeur
  */
 public __Valeur(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, String _code = "") : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
 {
     // Initialisations
     // ---------------
     __code = _code;
     __codeDInitialisation = "";
 }
        /*
         * Constructeur
         */
        public __Valeur_Capteurs(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, int _capteur, int _valeur) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
        {
            // Initialisation des membres
            // --------------------------

            __code = __CAPTEURS.code(_capteur, _valeur);
        }
        /*
         * Constructeur
         */
        public __Sons_JoueUneNote_AvecNoteDurée(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, int _note, float _durée) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs, 0, _durée)
        {
            // Traitements
            // -----------

            __fréquence = __SONS.CalculLaFréquenceDUneNote(_note);
        }
Ejemplo n.º 11
0
        /*
         * Constructeur
         */
        public Valeur_Math_Number(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
        {
            // Déclarations
            // ------------

            String nomDeLAttribut;



            // Traitements
            // -----------

            // Analyse du Bloc d'instruction
            foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc)
            {
                nomDeLAttribut = "";
                if (XMLDUnNoeudFils.Attributes["name"] != null)
                {
                    nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value;
                }

                switch (nomDeLAttribut)
                {
                case "NUM":
                    __code = XMLDUnNoeudFils.FirstChild.InnerText;
                    break;
                }
            }
        }
        /*
         * Constructeur
         */
        public __Sons_JoueUnSon_AvecSon(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, int _son) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
        {
            __son = _son;

            // Liste les séquences du bloc
            // ---------------------------
            __séquences.Add((Séquence)Séquence_1);
            __séquences.Add((Séquence)Séquence_2);
        }
        /*
         * Constructeur
         */
        public Variable_IncrémenterUneVariable(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
        {
            // Déclarations
            // ------------

            String nomDeLAttribut;



            // Traitements
            // -----------

            // Analyse du Bloc d'instruction
            foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc)
            {
                nomDeLAttribut = "";
                if (XMLDUnNoeudFils.Attributes["name"] != null)
                {
                    nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value;
                }

                switch (nomDeLAttribut)
                {
                case "VAR":
                    __nom = XMLDUnNoeudFils.FirstChild.InnerText;
                    break;

                case "DELTA":
                    switch (XMLDUnNoeudFils.ChildNodes.Count)
                    {
                    case 1:
                        // Le Noeud fils contient seulement une balise <shadow>
                        // C'est la balise <shadow> qui est sélectionnée avec XMLDUnNoeudFils.FirstChild
                        __expression = Compilateur.AnalyseUnNoeudDExpression(_UID, XMLDUnNoeudFils.FirstChild, _blocPrécédent, _groupeDeBlocs);
                        break;

                    case 2:
                        // Le Noeud fils contient une balise <shadow> et une balise <block>
                        // C'est la balise <block> qui est sélectionnée avec XMLDUnNoeudFils.LastChild
                        __expression = Compilateur.AnalyseUnNoeudDExpression(_UID, XMLDUnNoeudFils.LastChild, _blocPrécédent, _groupeDeBlocs);
                        break;
                    }
                    break;
                }
            }

            __Variable.AjouteUneVariable(__nom);


            // Liste les séquences du bloc
            // ---------------------------
            __séquences.Add((Séquence)Séquence_1);
        }
Ejemplo n.º 14
0
        /*
         * Constructeur
         */
        public __Contrôle_Attends_AvecDurée(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, float _durée) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
        {
            // Initialisation des membres
            // --------------------------

            __durée = _durée;


            // Liste les séquences du bloc
            // ---------------------------
            __séquences.Add((Séquence)Séquence_1);
            __séquences.Add((Séquence)Séquence_2);
        }
Ejemplo n.º 15
0
        /*
         * Constructeur
         */
        public __Lumières_AllumeLesLEDs_AvecLEDCouleur(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, int _led, int _couleur) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
        {
            // Initialisation des membres
            // --------------------------

            __couleur = _couleur;
            __led     = _led;


            // Liste les séquences du bloc
            // ---------------------------
            __séquences.Add((Séquence)Séquence_1);
        }
        /*
         * Constructeur
         */
        public Valeur_CapteurIR_SELTouche(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
        {
            // Déclarations
            // ------------

            String nomDeLAttribut;



            // Traitements
            // -----------

            // Analyse du Bloc d'instruction
            foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc)
            {
                nomDeLAttribut = "";
                if (XMLDUnNoeudFils.Attributes["name"] != null)
                {
                    nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value;
                }

                switch (nomDeLAttribut)
                {
                case "Touche":
                    switch (XMLDUnNoeudFils.InnerText)
                    {
                    case "0":
                    case "1":
                    case "2":
                    case "3":
                    case "4":
                    case "5":
                    case "6":
                    case "7":
                    case "8":
                    case "9":
                        __code = "rc5.command==" + XMLDUnNoeudFils.InnerText;
                        break;
                    }

                    // Complète le test avec l'adresse de la commande IR
                    if (Valeur_CapteurIR_SELBouton.adresseIR != -1)
                    {
                        __code += " and rc5.address==" + Valeur_CapteurIR_SELBouton.adresseIR;
                    }

                    break;
                }
            }
        }
        /*
         * Constructeur
         */
        public Valeur_OpérateurLogique(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, int _opérationLogique) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
        {
            // Déclarations
            // ------------

            String nomDeLAttribut;



            // Traitements
            // -----------

            // Analyse du Bloc d'instruction
            foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc)
            {
                nomDeLAttribut = "";
                if (XMLDUnNoeudFils.Attributes["name"] != null)
                {
                    nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value;
                }

                switch (nomDeLAttribut)
                {
                case "Valeur1":
                    __valeur1 = Compilateur.AnalyseUnNoeudDExpression(_UID, XMLDUnNoeudFils.FirstChild, _blocPrécédent, _groupeDeBlocs);
                    break;

                case "Valeur2":
                    __valeur2 = Compilateur.AnalyseUnNoeudDExpression(_UID, XMLDUnNoeudFils.FirstChild, _blocPrécédent, _groupeDeBlocs);
                    break;
                }
            }


            switch (_opérationLogique)
            {
            case (int)__OPÉRATIONS_LOGIQUES.NOM.OU:
                __code = "(" + __valeur1.codePourLeSéquenceur + " or " + __valeur2.codePourLeSéquenceur + ")";
                break;

            case (int)__OPÉRATIONS_LOGIQUES.NOM.ET:
                __code = "(" + __valeur1.codePourLeSéquenceur + " and " + __valeur2.codePourLeSéquenceur + ")";
                break;

            case (int)__OPÉRATIONS_LOGIQUES.NOM.NON:
                __code = "not (" + __valeur1.codePourLeSéquenceur + ")";
                break;
            }
        }
        /*
         * Constructeur
         */
        public __Mouvement_Tourne_AvecSensAngle(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, int _sens, int _angle) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
        {
            // Initialisation des membres
            // --------------------------

            __sens = _sens;

            angle = _angle;


            // Liste les séquences du bloc
            // ---------------------------
            __séquences.Add((Séquence)Séquence_1);
            __séquences.Add((Séquence)Séquence_2);
        }
        /*
         * Constructeur
         */
        public __Instruction(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
        {
            __UID = _UID;

            __nomDansBlockly = _XMLDuBloc.Attributes["type"].Value;

            __blocPrécédent = _blocPrécédent;

            if (__blocPrécédent != null)
            {
                __UIDDuSéquenceur = __blocPrécédent.UIDDuSéquenceur;
            }

            __séquences = new List <Séquence>();
        }
Ejemplo n.º 20
0
        /*
         * Constructeur
         */
        public Variable_DéfinirUneVariable(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
        {
            // Déclarations
            // ------------

            String erreur;
            String nomDeLAttribut;



            // Traitements
            // -----------

            // Analyse du Bloc d'instruction
            foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc)
            {
                nomDeLAttribut = "";
                if (XMLDUnNoeudFils.Attributes["name"] != null)
                {
                    nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value;
                }

                switch (nomDeLAttribut)
                {
                case "VAR":
                    __nom = XMLDUnNoeudFils.FirstChild.InnerText;
                    break;

                case "VALUE":
                    __expression = Compilateur.AnalyseUnNoeudDExpression(_UID, XMLDUnNoeudFils.FirstChild, _blocPrécédent, _groupeDeBlocs);
                    break;
                }
            }

            if (__expression == null)
            {
                erreur = String.Format(Messages.Message((int)Messages.TYPE.VARIABLE_NON_INITIALISÉE), __nom);
                throw new Exception(erreur);
            }


            __Variable.AjouteUneVariable(__nom);


            // Liste les séquences du bloc
            // ---------------------------
            __séquences.Add((Séquence)Séquence_1);
        }
Ejemplo n.º 21
0
        /*
         * Constructeur
         */
        public Lumières_AllumeToutesLesLEDs_SELCouleur(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs, 0, 0)
        {
            // Déclarations
            // ------------

            String nomDeLAttribut;



            // Initialisations
            // ---------------

            __led = (int)__LED.LED.TOUTES;



            // Traitements
            // -----------

            // Analyse du Bloc d'instruction
            foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc.ChildNodes)
            {
                nomDeLAttribut = "";
                if (XMLDUnNoeudFils.Attributes["name"] != null)
                {
                    nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value;
                }

                switch (nomDeLAttribut)
                {
                case "Couleur":
                    // Convertie la couleur en notation html, en entier
                    __couleur = Int32.Parse(XMLDUnNoeudFils.InnerText.TrimStart('#'), NumberStyles.HexNumber);
                    break;
                }
            }
        }
        /*
         * Constructeur
         */
        public Mouvement_Tourne_SELSens_SAIAngle(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs, (int)__MOTEUR.TOURNE.PAS, 0)
        {
            // Déclarations
            // ------------

            String nomDeLAttribut;


            // Traitements
            // -----------

            // Analyse du Bloc d'instruction
            foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc.ChildNodes)
            {
                nomDeLAttribut = "";
                if (XMLDUnNoeudFils.Attributes["name"] != null)
                {
                    nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value;
                }

                switch (nomDeLAttribut)
                {
                case "Angle":
                    angle = Int32.Parse(XMLDUnNoeudFils.InnerText);
                    break;

                case "Sens":
                    switch (XMLDUnNoeudFils.InnerText)
                    {
                    case "A_DROITE":       __sens = (int)__MOTEUR.TOURNE.A_DROITE; break;

                    case "A_GAUCHE":       __sens = (int)__MOTEUR.TOURNE.A_GAUCHE; break;
                    }
                    break;
                }
            }
        }
Ejemplo n.º 23
0
        /*
         * Constructeur
         */
        public Variable_RécupérerUneVariable(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
        {
            // Déclarations
            // ------------
            String nom;
            String nomDeLAttribut;



            // Traitements
            // -----------

            nom = "";

            // Analyse du Bloc d'instruction
            foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc)
            {
                nomDeLAttribut = "";
                if (XMLDUnNoeudFils.Attributes["name"] != null)
                {
                    nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value;
                }

                switch (nomDeLAttribut)
                {
                case "VAR":
                    nom = XMLDUnNoeudFils.FirstChild.InnerText;
                    break;
                }
            }

            // Ajoute la variable, si celle-ci n'existe pas.
            __Variable.AjouteUneVariable(nom);

            __code = __Variable.code(nom);
        }
Ejemplo n.º 24
0
        /*
         * Constructeur
         */
        public Paramètre_InitialiseLeChronomètre_SAIValeur(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
        {
            // Déclarations
            // ------------
            String nomDeLAttribut;



            // Analyse du Bloc d'instruction
            foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc.ChildNodes)
            {
                nomDeLAttribut = "";
                if (XMLDUnNoeudFils.Attributes["name"] != null)
                {
                    nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value;
                }

                switch (nomDeLAttribut)
                {
                case "Valeur":
                    chronomètre = Int32.Parse(XMLDUnNoeudFils.InnerText);
                    break;
                }
            }


            // Liste les séquences du bloc
            // ---------------------------
            __séquences.Add((Séquence)Séquence_1);
        }
Ejemplo n.º 25
0
        /*
         * Constructeur
         */
        public GroupeDInstructions_Boucle_Répète_SAINombre(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs, null, 0)
        {
            // Déclarations
            // ------------
            String nomDeLAttribut;

            XmlNode XMLInterne;



            // Initialisation des membres
            // --------------------------

            // Il est possible de sortir de ce groupe, à l'aide du bloc SortDeLaBoucleFaire
            __bloc_SortDeLaBoucleFaire_Possible = true;



            // Traitements
            // -----------

            // Analyse du Bloc d'instruction
            foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc.ChildNodes)
            {
                nomDeLAttribut = "";
                if (XMLDUnNoeudFils.Attributes["name"] != null)
                {
                    nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value;
                }

                switch (nomDeLAttribut)
                {
                case "NombreDeBoucle":
                    nombreDeBoucle = Int32.Parse(XMLDUnNoeudFils.InnerText);
                    break;
                }
            }

            XMLInterne = _XMLDuBloc.SelectSingleNode("./statement");
            if (XMLInterne != null)
            {
                __blocsInternes = new __BlocsInternes(UID + 2, XMLInterne.FirstChild, null, this);
            }
        }
Ejemplo n.º 26
0
 /*
  * Constructeur
  */
 public Contrôle_SortDeLaBoucleFaire(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
 {
     // Liste les séquences du bloc
     // ---------------------------
     __séquences.Add((Séquence)Séquence_1);
 }
        /*
         * Méthode privées
         */



        /*
         * Constructeur
         */
        public Mouvement_VitesseDesRoues_ENTVitesseAGauche_ENTVitesseADroite(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs, (int)__MOTEUR.SENS.LIBRE, 0, 0)
        {
            // Déclarations
            // ------------

            String nomDeLAttribut;


            // Traitements
            // -----------

            // Analyse du Bloc d'instruction
            foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc.ChildNodes)
            {
                nomDeLAttribut = "";
                if (XMLDUnNoeudFils.Attributes["name"] != null)
                {
                    nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value;
                }

                switch (nomDeLAttribut)
                {
                case "VitesseAGauche":
                    __vitesseAGauche = 5 * int.Parse(XMLDUnNoeudFils.InnerText);
                    break;

                case "VitesseADroite":
                    __vitesseADroite = 5 * int.Parse(XMLDUnNoeudFils.InnerText);
                    break;
                }
            }
        }
Ejemplo n.º 28
0
        /*
         * Constructeur
         */
        public Valeur_Booléen_ComparaisonNumériques_ENTEntier_SELComparaison_ENTEntier(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
        {
            // Déclarations
            // ------------

            String nomDeLAttribut;



            // Traitements
            // -----------

            // Analyse du Bloc d'instruction
            foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc)
            {
                nomDeLAttribut = "";
                if (XMLDUnNoeudFils.Attributes["name"] != null)
                {
                    nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value;
                }

                switch (nomDeLAttribut)
                {
                case "Valeur1":
                    __valeur1 = Compilateur.AnalyseUnNoeudDExpression(_UID, XMLDUnNoeudFils.FirstChild, _blocPrécédent, _groupeDeBlocs);
                    break;

                case "Valeur2":
                    __valeur2 = Compilateur.AnalyseUnNoeudDExpression(_UID, XMLDUnNoeudFils.FirstChild, _blocPrécédent, _groupeDeBlocs);
                    break;

                case "Comparaison":
                    switch (XMLDUnNoeudFils.InnerText)
                    {
                    case "ÉGAL":                           __comparaison = (int)__COMPARAISONS_NUMÉRIQUES.NOM.ÉGAL; break;

                    case "DIFFÉRENT":                      __comparaison = (int)__COMPARAISONS_NUMÉRIQUES.NOM.DIFFÉRENT; break;

                    case "PLUS_GRAND":                     __comparaison = (int)__COMPARAISONS_NUMÉRIQUES.NOM.PLUS_GRAND; break;

                    case "PLUS_PETIT":                     __comparaison = (int)__COMPARAISONS_NUMÉRIQUES.NOM.PLUS_PETIT; break;

                    case "PLUS_GRAND_OU_ÉGAL":     __comparaison = (int)__COMPARAISONS_NUMÉRIQUES.NOM.PLUS_GRAND_OU_ÉGAL; break;

                    case "PLUS_PETIT_OU_ÉGAL":     __comparaison = (int)__COMPARAISONS_NUMÉRIQUES.NOM.PLUS_PETIT_OU_ÉGAL; break;
                    }
                    break;
                }
            }


            switch (__comparaison)
            {
            case (int)__COMPARAISONS_NUMÉRIQUES.NOM.ÉGAL:
                __code = "(" + __valeur1.codePourLeSéquenceur + "==" + __valeur2.codePourLeSéquenceur + ")";
                break;

            case (int)__COMPARAISONS_NUMÉRIQUES.NOM.DIFFÉRENT:
                __code = "(" + __valeur1.codePourLeSéquenceur + "!=" + __valeur2.codePourLeSéquenceur + ")";
                break;

            case (int)__COMPARAISONS_NUMÉRIQUES.NOM.PLUS_GRAND:
                __code = "(" + __valeur1.codePourLeSéquenceur + ">" + __valeur2.codePourLeSéquenceur + ")";
                break;

            case (int)__COMPARAISONS_NUMÉRIQUES.NOM.PLUS_PETIT:
                __code = "(" + __valeur1.codePourLeSéquenceur + "<" + __valeur2.codePourLeSéquenceur + ")";
                break;

            case (int)__COMPARAISONS_NUMÉRIQUES.NOM.PLUS_GRAND_OU_ÉGAL:
                __code = "(" + __valeur1.codePourLeSéquenceur + ">=" + __valeur2.codePourLeSéquenceur + ")";
                break;

            case (int)__COMPARAISONS_NUMÉRIQUES.NOM.PLUS_PETIT_OU_ÉGAL:
                __code = "(" + __valeur1.codePourLeSéquenceur + "<=" + __valeur2.codePourLeSéquenceur + ")";
                break;
            }
        }
        /*
         * Constructeur
         */
        public __GroupeDInstructions_Boucle_Répète_AvecNombre(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs, __BlocsInternes _blocsInternes, int _nombreDeBoucle) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
        {
            // Initialisation des membres
            // --------------------------

            __compteurDeBoucle++;
            __UIDDeBoucle = __compteurDeBoucle;

            __blocsInternes  = _blocsInternes;
            __nombreDeBoucle = _nombreDeBoucle + 1;

            // Il est possible de sortir de ce groupe, à l'aide du bloc SortDeLaBoucleFaire
            __bloc_SortDeLaBoucleFaire_Possible = true;


            // Liste les séquences du bloc
            // ---------------------------
            __séquences.Add((Séquence)Séquence_1);
            __séquences.Add((Séquence)Séquence_2);
            __séquences.Add((Séquence)Séquence_3);
            __séquences.Add((Séquence)Séquence_4);

            __nombreDeBlocsInternes = 1;
        }
        /*
         * Constructeur
         */
        public Paramètre_LAdresseDeLaTélécommandeEst_SAIValeur(int _UID, XmlNode _XMLDuBloc, __Bloc _blocPrécédent, __GroupeDeBlocs _groupeDeBlocs) : base(_UID, _XMLDuBloc, _blocPrécédent, _groupeDeBlocs)
        {
            // Déclarations
            // ------------
            String nomDeLAttribut;



            // Analyse du Bloc d'instruction
            foreach (XmlNode XMLDUnNoeudFils in _XMLDuBloc.ChildNodes)
            {
                nomDeLAttribut = "";
                if (XMLDUnNoeudFils.Attributes["name"] != null)
                {
                    nomDeLAttribut = XMLDUnNoeudFils.Attributes["name"].Value;
                }

                switch (nomDeLAttribut)
                {
                case "Adresse":
                    Valeur_CapteurIR_SELBouton.adresseIR = Int32.Parse(XMLDUnNoeudFils.InnerText);
                    break;
                }
            }
        }