Zum Hauptinhalt springen

Minos' Labyrinth

Herausforderung: In der griechischen Mythologie besaß König Minos ein aufwendig gestaltetes Labyrinth. Im Labyrinth hauste das Monster Minotaurus. Der Held Theseus meldete sich freiwillig, hineinzugehen, um mit dem Minotaurus zu sprechen. Er bahnte sich mit einem Wollknäuel den Weg durch die verschlungenen Gänge des Labyrinths. So konnte er dem Faden problemlos zurück zum Eingang des Labyrinths folgen. In dieser Aktivität erstellen Sie einen Algorithmus, um den VR-Roboter von der Startposition (grünes Quadrat) zur Endposition (rotes Quadrat) zu steuern und den Pfad mit dem VR-Stift nachzuzeichnen, um die Lösung des mythischen Labyrinths des Minos auf dem Wall Maze+ Playground aufzuzeichnen.

  • Wähle den Spielplatz Wall Maze+ aus.
  • Laden Sie die Datei .vrmaze aus diesem Ordner herunter und laden Sie das Labyrinth im Playground hoch.
    • Hilfe zum Hoch- und Herunterladen von Labyrinthen im Wall Maze + Playground finden  Artikel.
  • Programmiere den VR-Roboter so, er von der Startposition (grünes Quadrat) zur Endposition (rotes Quadrat) fährt.
    • Verwenden Sie den vorderen Abstandssensor, um den VR-Roboter im Labyrinth zu steuern, ohne gegen die Wand zu stoßen.
    • Verwenden Sie den rechten Abstandssensor, um die Ausfahrtsrichtung zu bestimmen.
    • Verwenden Sie den Down Eye Sensor, um anhand der roten Farbe zu prüfen, ob der VR-Roboter die Endposition erreicht hat.
    • Verwenden Sie den [Forever]-Block, um den VR-Roboter im Labyrinth in Bewegung zu halten und den Down Eye Sensor ständig auf die Endposition überprüfen zu lassen, um den Roboter anzuhalten.
  • Verwenden Sie den VR-Stift, um den bewegten Pfad nachzuzeichnen und so die Lösung des Labyrinths aufzuzeichnen.
  • Fügen Sie in Ihrem Projekt eine Notiz hinzu, in der Sie Ihre Strategie zur Lösung des Minos-Labyrinths erläutern.

Hilfreiche Tipps

  •  Informationen zu den Funktionen des VR MazeBot in VEXcode VR findenin diesem. 
  • Verwenden Sie den Block Down Eye erkennt aus der Kategorie „Sensorik , um zu melden, ob der Eye Sensor eine bestimmte Farbe erkennt.

    VEXcode Farberkennungsblock, der 'liest. DownEye erkennt Rot?'.

    • Passender Python-Befehl:
    down_eye.detect(RED)

                 

  • Verwenden Sie den vorderen Abstandssensor, um festzustellen, ob sich der VR-Roboter der Wand nähert.
  • Verwenden Sie den Vergleichsblock Kleiner als aus der Kategorie Bediener, um zu melden, ob der Abstand zwischen dem VR-Roboter und dem nächsten Objekt kleiner als ein Schwellenwert ist, um festzustellen, ob sich der VR-Roboter der Wand nähert.

    VEXcode Kleiner als Block, der einen Abstand von Block enthält, der zusammen 'ergibt FrontDistance in mm < 200'.

    • Passender Python-Befehl:
    front_distance.get_distance(MM) < 200
  • Verwenden Sie den rechten Abstandssensor, um die Ausfahrtsrichtung zu bestimmen.
  • Verwenden Sie den Vergleichsblock Größer als aus der Kategorie Bediener, um zu melden, ob der Abstand zwischen dem VR-Roboter und dem nächstgelegenen Objekt größer als ein Schwellenwert ist, um die Ausfahrtsrichtung zu bestimmen.

    VEXcode Größer als Block, der einen Abstand von Block enthält, der zusammen 'ergibt Linker Abstand in mm > 300'.

    • Passender Python-Befehl:
    left_distance.get_distance(MM) > 300
  • Verwenden Sie den if then else Block aus der Kategorie Steuerung, um zu prüfen, ob sich der VR-Roboter der Wand nähert, und führen Sie den Code aus, um verschiedene Verhaltensweisen basierend auf der booleschen Bedingung durchzuführen.

    Leerer VEXcode If then else Block, der 'if then, else' liest.

    • Passender Python-Befehl:

      Wenn Bedingung:
      	dann
      durchlaufen, sonst:
      	durchlaufen