Skip to main content

Minos' Labyrinth

Challenge: In Greek mythology, King Minos had an elaborately structured labyrinth. The labyrinth held the monster Minotaur. Hero Theseus volunteered to enter it to talk to Minotaur. He marked his way through the winding passages of the maze using a ball of string. So he could easily follow the string back to the labyrinth entrance. In this activity, you will create an algorithm to drive the VR Robot from the Start Position (green square) to the End Position (red square) and use the VR Pen to trace the path to record the solution of the mythical labyrinth of Minos on the Wall Maze+ Playground.

  • Select the Wall Maze+ Playground.
  • Download the .vrmaze file from this folder and upload the maze in the Playground.
    • For help with uploading and downloading mazes in the Wall Maze + Playground, see this article.
  • Code the VR Robot to drive from the Start Position (green square) to the End Position (red square).
    • Use the Front Distance Sensor to navigate the VR Robot moving in the maze without running into the wall.
    • Use the Right Distance Sensor to determine the exit direction.
    • Use the Down Eye Sensor to check for the red color to determine if the VR Robot arrives at the End Position.
    • Use the [ Forever] block to keep the VR Robot moving in the maze and keep the Down Eye Sensor constantly checking for the End Position to stop the robot.
  • Use the VR Pen to trace the moving path to record the solution of the labyrinth.
  • Add a note in your project to explain your strategy to crack the Minos' Labyrinth.

Helpful Hints

  • For more information about the features of the VR MazeBot in VEXcode VR, please see this article
  • Use the Down Eye detects block from the Sensing category to report if the Down Eye Sensor detects a specific color.

    VEXcode Color sensing block that reads 'DownEye detects red?'.

    • Matching Python command:
    down_eye.detect(RED)

                 

  • Use the Front Distance Sensor to determine if the VR Robot nears the wall.
  • Use the Less Than comparison block from the Operators category to report if the distance between the VR Robot and the nearest object is less than a threshold value to determine if the VR Robot nears the wall.

    VEXcode Less than block containing a Distance from block that together reads 'FrontDistance in mm < 200'.

    • Matching Python command:
    front_distance.get_distance(MM) < 200
  • Use the Right Distance Sensor to determine the exit direction.
  • Use the Greater Than comparison block from the Operators category to report if the distance between the VR Robot and the nearest object is greater than a threshold value to determine the exit direction.

    VEXcode Greater than block containing a Distance from block that together reads 'LeftDistance in mm > 300'.

    • Matching Python command:
    left_distance.get_distance(MM) > 300
  • Use the if then else block from the Control category to check if the VR Robot nears the wall, and run the code to perform various behaviors based on the Boolean condition.

    Empty VEXcode If then else block that reads 'if then, else'.

    • Matching Python command:

      if condition:
      	pass
      else:
      	pass