예제 #1
0
파일: Nommeur.cs 프로젝트: KiwiJaune/GoBot
        /// <summary>
        /// Retourne le nom de la position en fonction du moteur (Haut, Bas, etc...)
        /// </summary>
        /// <param name="position">Position du moteur</param>
        /// <param name="moteur">Moteur</param>
        /// <returns></returns>
        public static String Nommer(int position, MoteurID moteur)
        {
            PropertyInfo[] proprietes = typeof(Config).GetProperties();
            foreach (PropertyInfo p in proprietes)
            {
                if (p.PropertyType.IsSubclassOf(typeof(PositionnableMoteur)))
                {
                    PositionnableMoteur positionnableMoteur = (PositionnableMoteur)(p.GetValue(Config.CurrentConfig, null));

                    if (positionnableMoteur.ID == moteur)
                    {
                        PropertyInfo[] proprietesMoteur = positionnableMoteur.GetType().GetProperties();
                        foreach (PropertyInfo ps in proprietesMoteur)
                        {
                            if (ps.Name.StartsWith("Position") && ((int)(ps.GetValue(positionnableMoteur, null)) == position))
                                return Config.PropertyNameToScreen(ps) + " (" + position + ")";
                        }
                    }
                }
            }

            return position.ToString();
        }
예제 #2
0
파일: Robot.cs 프로젝트: KiwiJaune/GoBot
 public virtual void MoteurVitesse(MoteurID moteur, int vitesse)
 {
     if (MoteurTourne.ContainsKey(moteur))
         MoteurTourne[moteur] = vitesse == 0 ? false : true;
     Historique.AjouterAction(new ActionMoteur(this, vitesse, moteur));
 }
예제 #3
0
파일: Robot.cs 프로젝트: KiwiJaune/GoBot
 public virtual void MoteurPosition(MoteurID moteur, int position)
 {
     Historique.AjouterAction(new ActionMoteur(this, position, moteur));
 }
예제 #4
0
파일: Robot.cs 프로젝트: KiwiJaune/GoBot
 public virtual void MoteurAcceleration(MoteurID moteur, int acceleration)
 {
     Historique.AjouterAction(new ActionMoteur(this, acceleration, moteur));
 }
예제 #5
0
        public static Trame MoteurVitesse(MoteurID moteur, int vitesse)
        {
            byte[] tab = new byte[5];
            tab[0] = (byte)Carte.RecIO;
            tab[1] = (byte)FonctionIO.MoteurVitesse;
            tab[2] = (byte)moteur;
            tab[3] = (byte)ByteDivide(vitesse, true);
            tab[4] = (byte)ByteDivide(vitesse, false);

            return new Trame(tab);
        }
예제 #6
0
        public static Trame MoteurPosition(MoteurID moteur, int position)
        {
            byte[] tab = new byte[5];
            tab[0] = (byte)Carte.RecIO;
            tab[1] = (byte)FonctionIO.MoteurPosition;
            tab[2] = (byte)moteur;
            tab[3] = (byte)ByteDivide(position, true);
            tab[4] = (byte)ByteDivide(position, false);

            return new Trame(tab);
        }
예제 #7
0
 public override void MoteurVitesse(MoteurID moteur, int vitesse)
 {
     base.MoteurVitesse(moteur, vitesse);
 }
예제 #8
0
 public override void MoteurPosition(MoteurID moteur, int vitesse)
 {
     base.MoteurPosition(moteur, vitesse);
 }
예제 #9
0
 public override void MoteurAcceleration(MoteurID moteur, int acceleration)
 {
     base.MoteurAcceleration(moteur, acceleration);
 }
예제 #10
0
        public override void MoteurVitesse(MoteurID moteur, int vitesse)
        {
            base.MoteurVitesse(moteur, vitesse);

            Trame trame = TrameFactory.MoteurVitesse(moteur, vitesse);
            Connexions.ConnexionIO.SendMessage(trame);
        }
예제 #11
0
        public override void MoteurPosition(MoteurID moteur, int position)
        {
            base.MoteurPosition(moteur, position);

            Trame trame = TrameFactory.MoteurPosition(moteur, position);
            Connexion.SendMessage(trame);
        }
예제 #12
0
        public override void MoteurAcceleration(MoteurID moteur, int acceleration)
        {
            base.MoteurAcceleration(moteur, acceleration);

            Trame trame = TrameFactory.MoteurAcceleration(moteur, acceleration);
            Connexions.ConnexionIO.SendMessage(trame);
        }
예제 #13
0
 public ActionMoteur(Robot r, int vi, MoteurID mo)
 {
     robot = r;
     vitesse = vi;
     moteur = mo;
 }
예제 #14
0
파일: Nommeur.cs 프로젝트: KiwiJaune/GoBot
 public static String Nommer(MoteurID moteur)
 {
     switch (moteur)
     {
         case MoteurID.BrasDroite:
             return "bras droite";
         case MoteurID.BrasGauche:
             return "bras gauche";
         case MoteurID.PompeBarre:
             return "pompes au sol";
         case MoteurID.Balise:
             return "balise";
         default:
             return moteur.ToString();
     }
 }