Maze Path Finding

Maze Path Finding
Loading the math board and drawing, please wait…
2023-07-26 20:45
This example demonstrates how to find a path from the start to the end in a maze. The core math concepts involved include path planning, logical reasoning, and spatial imagination. Construction highlights: GeoGebra commands and objects like Shuffle, Element, Flatten, If, Length, Sequence, IsInRegion, Textfield, Text, Point, Segment are used to create the maze grid, generate random paths, check pat

GeoGebra Commands & Parameters

  1. Shuffle(Sequence[10]) → randomNumbers, {3, 6, 8, 7, 5, 10, 2, 9, 4, 1}
  2. Element(randomNumbers, Mod[questionCount, Length[randomNumbers]] + 1) → randomNumber
  3. Element(allSolutionsCalculated, randomNumber) → expectedSolutionValue
  4. Element(Element[allSolutionsSplitted, randomNumber], 1) → expectedSolutionGanze
  5. Element(Element[allSolutionsSplitted, randomNumber], 3) → expectedSolutionNenner
  6. Element(Element[allSolutionsSplitted, randomNumber], 2) → expectedSolutionZaehler
  7. Flatten({labyrinthW01, labyrinthW02, labyrinthW03, labyrinthW04}) → labyrinthWaagrecht
  8. Flatten({labyrinthS01, labyrinthS02, labyrinthS03, labyrinthS04}) → labyrinthSenkrecht
  9. Flatten({labyrinthSenkrecht, labyrinthWaagrecht}) → labyrinth
  10. If(randomNumber ∈ {1, 2, 3, 4, 5, 10}, inputno, inputyes) → correct
  11. Length(randomNumbers) → numberOfQuestions
  12. Sequence(Polygon[Element[questionsPositions, i], Element[questionsPositions, i] + sizeWaagrecht, Element[questionsPositions, i] + sizeWaagrecht + sizeSenkrecht, Element[questionsPositions, i] + sizeSenkrecht], i, 1, Length[questionsPositions]) → questionsRectangles
  13. IsInRegion(A, Element[questionsRectangles, actualQuestionNeeded]) → showQuestion
  14. Textfield(studentAnswer01) → inputBox01
  15. Textfield(studentAnswer02) → inputBox02
  16. Textfield(studentAnswer03) → inputBox03
  17. Text("\textsf{" + (ReplaceAll[Element[allTasks, randomNumber], "-", "\\minus"]) + "}", txtTaskPosition, true, true, -1, 0) → txtTask
  18. If((¬needGanze) ∧ needBruch, 5.25, 5.95) → startPositionBruchXValue
  19. Point(Line[B, xAxis]) → B2
  20. Segment(C, D) → f
  21. Segment(E, F) → g