예제 #1
0
        /// <summary>
        /// Baisse le crayon pour pouvoir dessiner
        /// </summary>
        private async Task PenDown()
        {
            int temps = 600;
            await GestionRobot.getInstance().brick.DirectCommand.TurnMotorAtPowerForTimeAsync(MoteurStylo, 20, Convert.ToUInt32(temps), false);

            System.Threading.Thread.Sleep(temps);
        }
예제 #2
0
 /// <summary>
 /// Permet l'utilisation de l'instance unique de la classe GestionRobot
 /// </summary>
 /// <returns>L'instance unique de GestionRobot</returns>
 public static GestionRobot getInstance()
 {
     if (instance == null)
     {
         instance = new GestionRobot();
     }
     return(instance);
 }
예제 #3
0
        /// <summary>
        /// Déplace le robot, en utilisant ses 2 moteurs
        /// </summary>
        /// <param name="temps">Le temps durant lequel il doit avancer</param>
        /// <param name="puissance">La puissance à laquelle il doit avancer</param>
        private async Task MoveRobot(int temps, int puissance)
        {
            uint tps = Convert.ToUInt32(temps);
            await GestionRobot.getInstance().brick.DirectCommand.TurnMotorAtPowerForTimeAsync(MoteurGauche, puissance + 1, tps, false);

            await GestionRobot.getInstance().brick.DirectCommand.TurnMotorAtPowerForTimeAsync(MoteurDroit, puissance, tps, false);

            System.Threading.Thread.Sleep(temps);
        }
예제 #4
0
        /// <summary>
        /// Tourne le robot à gauche
        /// </summary>
        /// <param name="angle">L'angle que le robot doit effectuer</param>
        /// <returns></returns>
        private async Task TurnRobotLeft(int angle)
        {
            int  temps = (1450 * angle) / 90;
            uint tps = Convert.ToUInt32(temps);
            await GestionRobot.getInstance().brick.DirectCommand.TurnMotorAtPowerForTimeAsync(MoteurGauche, 50, tps, false);

            await GestionRobot.getInstance().brick.DirectCommand.TurnMotorAtPowerForTimeAsync(MoteurDroit, -50, tps, false);

            System.Threading.Thread.Sleep(temps);
        }