Robot
This commit is contained in:
59
Robots/Modele/Aspirateur.py
Normal file
59
Robots/Modele/Aspirateur.py
Normal file
@@ -0,0 +1,59 @@
|
||||
from RobotMobile import RobotMobile
|
||||
|
||||
class Aspirateur:
|
||||
def __init__(self, marque, puissance):
|
||||
self.marque = marque
|
||||
self.puissance = puissance
|
||||
|
||||
@property
|
||||
def marque(self):
|
||||
return self._marque
|
||||
|
||||
@marque.setter
|
||||
def marque(self, value):
|
||||
if isinstance(value, str) and value:
|
||||
self._marque = value
|
||||
else:
|
||||
print("Erreur : la marque doit être une chaîne non vide.")
|
||||
self._marque = "Inconnu"
|
||||
|
||||
@property
|
||||
def puissance(self):
|
||||
return self._puissance
|
||||
|
||||
@puissance.setter
|
||||
def puissance(self, value):
|
||||
if isinstance(value, int) and value > 0:
|
||||
self._puissance = value
|
||||
else:
|
||||
print("Erreur : la puissance doit être un entier positif.")
|
||||
self._puissance = 1000
|
||||
|
||||
def __str__(self):
|
||||
return f"Aspirateur {self.marque}, puissance={self.puissance}W"
|
||||
|
||||
|
||||
# --- Aspirateur Robot ---
|
||||
class AspirateurRobot(Aspirateur, RobotMobile):
|
||||
def __init__(self, marque, puissance, distance_max):
|
||||
# Initialisation RobotMobile avec type "Aspirateur robot"
|
||||
RobotMobile.__init__(self, robot_type="Aspirateur robot", orientation="NORD", statut=1, abscisse=0, ordonnee=0)
|
||||
Aspirateur.__init__(self, marque, puissance)
|
||||
self.distance_max = distance_max
|
||||
self._distance_parcourue = 0 # pour suivre le parcours
|
||||
|
||||
@property
|
||||
def distance_max(self):
|
||||
return self._distance_max
|
||||
|
||||
@distance_max.setter
|
||||
def distance_max(self, value):
|
||||
if isinstance(value, (int, float)) and value > 0:
|
||||
self._distance_max = value
|
||||
else:
|
||||
print("Erreur : distance_max doit être positive.")
|
||||
self._distance_max = 100
|
||||
|
||||
def __str__(self):
|
||||
return (super(RobotMobile, self).__str__() + f"\nMarque : {self.marque}\n"
|
||||
f"Puissance : {self.puissance}W")
|
||||
Reference in New Issue
Block a user