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