Skip to content
Snippets Groups Projects
Select Git revision
  • b2417fb11f9047b389767c0b41fc91ace9a4e2a4
  • main default protected
  • Develop
  • Feature-Grafische-Benutzeroberfäche
  • Feature-Terminal-UI
  • Singelton-Testcase
  • feature-MADR
  • Api-Testcases
  • Feature-Rover-API
  • Feature-Rest
  • Feature-Aider-Telescope-Unittest
  • Feature-Aider-Functional-Code
  • Feature-Aider-MissionControl
  • Feature-Aider-Telescope
  • Feature-Aider-Mars
  • Feature-Aider-Rover
  • Feature-Aider-Map
  • Feature-Aider-Plateau
  • Test-Feature-Rückmeldung
  • Test-Feature-Randerkennung
  • Test-Feature-OBS
21 results

mars.py

Blame
  • user avatar
    Muhamed authored
    83ca85a3
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    mars.py 1.61 KiB
    from plateau import Plateau
    
    class Mars:
        """
        Eine Klasse zur Repräsentation des Mars.
        """
        
        def __init__(self, plateau: Plateau):
            """
            Initialisiert den Mars mit einem Plateau.
            
            Args:
                plateau: Das Plateau, das den Mars repräsentiert
            """
            self.plateau = plateau
        
        def drive(self, cmd: str) -> str:
            """
            Führt Fahrbefehle auf dem Mars aus.
            
            Args:
                cmd: Die Fahrbefehle als String
                
            Returns:
                Ein String mit den erfolgreich ausgeführten Befehlen 
            """
            # Diese Methode sollte die Fahrbefehle an den Rover weiterleiten
            # und die Ergebnisse zurückgeben. Da wir keinen direkten Zugriff auf
            # den Rover haben, geben wir hier nur die Befehle zurück.
            return cmd
        
        def is_obstacle(self, x: int, y: int) -> bool:
            """
            Überprüft, ob an der angegebenen Position ein Hindernis ist.
            
            Args:
                x: Die x-Koordinate
                y: Die y-Koordinate
                
            Returns:
                True, wenn an der Position ein Hindernis ist, sonst False
            """
            return self.plateau.is_obstacle(x, y)
        
        def is_within_bounds(self, x: int, y: int) -> bool:
            """
            Überprüft, ob die angegebene Position innerhalb der Grenzen des Mars liegt.
            
            Args:
                x: Die x-Koordinate
                y: Die y-Koordinate
                
            Returns:
                True, wenn die Position innerhalb der Grenzen liegt, sonst False
            """
            return self.plateau.is_within_bounds(x, y)