diff --git a/roverTestcases.py b/rover.py similarity index 89% rename from roverTestcases.py rename to rover.py index 4d2d33ef706a50b64322a8df90d495fec91931a2..4e2e777e68560367367f8575c5dc21ca704b2c34 100644 --- a/roverTestcases.py +++ b/rover.py @@ -41,7 +41,7 @@ # Wenn der Rover an der linken Kante (x = 0) steht, Richtung Westen schaut und den Befehl "F" erhält, bleibt er stehen. # Wenn der Rover in Richtung einer Plateau-Grenze fährt, werden keine weiteren Befehle in der Sequenz mehr ausgeführt. -# Beispiel: Steht der Rover bei (0,0), schaut nach Westen, und erhält "FFRF", bleibt er nach dem ersten "F" stehen und ignoriert den Rest. +# Beispiel: Steht der Rover bei (1,0), schaut nach Westen, und erhält "FFRF", bleibt er nach dem ersten "F" stehen (bei (0,0)) und ignoriert den Rest. # Rückmeldung über erfolgreich ausgeführte Befehle # Wenn der Rover die Sequenz "FFRF" ausführt und beim zweiten "F" ein Hindernis erkennt, meldet er: ["F"] erfolgreich, Stopp bei Befehl 2. @@ -49,10 +49,10 @@ # Wenn der Rover die gesamte Sequenz "FRFL" erfolgreich ausführt, wird dies vollständig gemeldet. # Relative Position und Ausrichtung nachverfolgen -# Wenn der Rover an Position (1,1) startet, Richtung Norden schaut, und "FRF" erhält, befindet er sich danach bei (2,2) mit Blickrichtung Nord-Ost. -# Wenn der Rover bei (3,3) Richtung Westen schaut und "FLF" ausführt, endet er bei (2,4) mit Blickrichtung Süd-West. +# Wenn der Rover an Position (1,1) startet, Richtung Norden schaut, und "FRF" erhält, befindet er sich danach bei (3,3) mit Blickrichtung Nord-Ost. +# Wenn der Rover bei (3,3) Richtung Westen schaut und "FLF" ausführt, endet er bei (1,3) mit Blickrichtung Süd-West. # Wenn der Rover durch Hindernis bei zweitem Schritt gestoppt wird, ist Position und Ausrichtung entsprechend dem letzten erfolgreichen Schritt. # Bonus: Kombination mehrerer Features -# Wenn der Rover die Sequenz "FFBFRL" erhält, aber nach dem zweiten "F" auf ein Hindernis trifft, bleibt er stehen und ignoriert "BFRL". -# Wenn der Rover bei (5,5) steht, Richtung Nord-Ost, und "FF" erhält, wird nach dem ersten Schritt gestoppt (Plateau-Rand), Position bei (6,6) erreicht nicht – Rover bleibt bei (5,5). +# Wenn der Rover die Sequenz "FFRBFRL" erhält, aber nach dem "R" auf ein Hindernis trifft, bleibt er stehen und ignoriert "BFRL". +# Wenn der Rover bei (15,15) steht, Richtung Nord-Ost, und "FF" erhält, wird nach dem ersten Schritt gestoppt (Plateau-Rand), Position bei (16,16) erreicht nicht – Rover bleibt bei (15,15). \ No newline at end of file