Math Labyrinth Level 2: Interactive Integer Subtraction

Math Labyrinth Level 2: Interactive Integer Subtraction
Loading the math board and drawing, please wait…
2025-04-29 01:31
This GeoGebra example demonstrates an “operations labyrinth/level” activity where learners practice integer subtraction through randomized problem variants and answer checking. The central math concept is subtracting integers (including negatives), focusing on correct computation of a − b across different task instances. Construction highlights: Textfield is used for valid input and student answer

GeoGebra Commands & Parameters

  1. Textfield(studentAnswer8) → inputBox8
  2. Textfield(studentAnswer7) → inputBox7
  3. Textfield(studentAnswer6) → inputBox6
  4. Textfield(studentAnswer5) → inputBox5
  5. Textfield(studentAnswer4) → inputBox4
  6. Textfield(studentAnswer3) → inputBox3
  7. Textfield(studentAnswer2) → inputBox2
  8. Textfield(studentAnswer1) → inputBox1
  9. Shuffle(Zip[{x(a), y(a)}, a, Join[Sequence[Sequence[(i, j), j, 1, 9], i, 1, 3]]]) → randomVariant, {{1, 3}, {2, 9}, {3, 6}, {1, 2}, {2, 2}, {3, 8}, {1, 6}, {2, 7}, {1, 8}, {3, 2}, {2, 3}, {1, 1}, {2, 5}, {2, 8}, {1, 7}, {3, 9}, {3, 5}, {2, 4}, {3, 3}, {3, 1}, {2, 1}, {3, 4}, {1, 9}, {3, 7}, {1, 4}, {1, 5}, {2, 6}}
  10. Element(randomVariant, Mod[taskCount, Length[randomVariant]] + 1) → actualVariant
  11. Element(If[Element[actualVariant, 1] ≟ 1, valuesA, If[Element[actualVariant, 1] ≟ 2, valuesB, valuesC]], Element[actualVariant, 2]) → actualValues
  12. Element(operators, Element[actualVariant, 1]) → actualOperators
  13. Vector((2, 8.5), (5.5, 8.5)) → arrow1
  14. Vector((6.2, 7.8), (6.2, 6.4)) → arrow2
  15. Vector((5.4, 5.5), (3.2, 5.5)) → arrow3
  16. Vector((1.55, 4.9), (1.55, 3.1)) → arrow4
  17. Vector((3.2, 2.2), (7.9, 2.2)) → arrow5
  18. Vector((10.2, 8.5), (11.2, 8.5)) → arrow7
  19. Vector((11.45, 7.8), (11.45, 2.5)) → arrow8
  20. Vector((8.85, 3.1), (8.85, 7.8)) → arrow6
  21. Random(-24, -5, 100) → NumberList1, {-8, -13, -7, -15, -7, -6, -19, -10, -9, -16, -14, -22, -16, -6, -18, -11, -13, -24, -22, -16, -5, -5, -22, -5, -11, -5, -6, -23, -13, -23, -10, -7, -15, -5, -7, -6, -6, -10, -7, -14, -20, -10, -13, -24, -23, -24, -12, -24, -8, -6, -19, -12, -16, -23, -8, -20, -16, -8, -22, -8, -21, -23, -7, -22, -9, -12, -23, -17, -7, -24, -21, -22, -17, -18, -15, -8, -18, -19, -6, -8, -5, -17, -9, -5, -22, -13, -13, -16, -17, -12, -24, -6, -14, -17, -5, -18, -16, -19, -6, -16}
  22. Sequence(Random[abs(NumberList1(k)) + 1, 25], k, 1, 100) → OperationNumberList1, {21, 17, 13, 24, 10, 18, 20, 15, 25, 18, 21, 24, 22, 16, 25, 15, 15, 25, 23, 17, 23, 12, 23, 19, 17, 19, 10, 24, 17, 25, 18, 10, 24, 11, 19, 18, 23, 25, 20, 18, 23, 18, 21, 25, 24, 25, 14, 25, 16, 13, 23, 22, 22, 24, 24, 24, 25, 11, 23, 17, 24, 24, 14, 24, 23, 16, 24, 21, 21, 25, 23, 24, 22, 22, 20, 11, 19, 23, 22, 22, 6, 21, 18, 19, 23, 22, 24, 18, 23, 14, 25, 20, 25, 20, 12, 23, 24, 21, 20, 18}
  23. Random(1, 1, 100) → OperationList1, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
  24. Sequence(If[OperationList1(k) ≟ 1, NumberList1(k) + OperationNumberList1(k), NumberList1(k) - OperationNumberList1(k)], k, 1, 100) → NumberList2
  25. Random(2, 2, 100) → OperationList2, {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}
  26. Random(1, 25, 100) → OperationNumberList2, {6, 16, 13, 2, 24, 18, 2, 14, 12, 18, 12, 12, 17, 11, 6, 5, 5, 21, 23, 5, 19, 22, 11, 1, 19, 17, 20, 8, 20, 8, 2, 9, 20, 24, 1, 20, 17, 14, 7, 10, 1, 20, 25, 4, 10, 10, 15, 6, 18, 17, 9, 13, 1, 20, 21, 1, 12, 18, 21, 10, 21, 1, 25, 4, 9, 22, 10, 13, 23, 14, 1, 16, 14, 12, 9, 19, 25, 10, 2, 12, 10, 14, 2, 21, 17, 9, 16, 12, 22, 4, 4, 11, 11, 12, 1, 11, 22, 11, 15, 17}
  27. Sequence(If[OperationList2(k) ≟ 1, NumberList2(k) + OperationNumberList2(k), NumberList2(k) - OperationNumberList2(k)], k, 1, 100) → NumberList3
  28. Sequence(RandomElement[If[OperationList1(k) + OperationList2(k) ≟ 2 ∨ NumberList3(k) > 0, {2}, OperationList1(k) + OperationList2(k) ≟ 4, {1}, {1, 2}]], k, 1, 100) → OperationList3, {2, 2, 2, 2, 1, 2, 1, 1, 2, 1, 2, 2, 1, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 1, 2, 1, 1, 2, 2, 1, 1, 2, 2, 1, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 2, 2, 2, 2, 2, 1, 1, 2, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2}
  29. Sequence(If[NumberList3(k) > 0, Random[NumberList3(k) + 1, 35], Random[1, 25]], k, 1, 100) → OperationNumberList3
  30. Sequence(If[OperationList3(k) ≟ 1, NumberList3(k) + OperationNumberList3(k), NumberList3(k) - OperationNumberList3(k)], k, 1, 100) → NumberList4
  31. Sequence(RandomElement[If[OperationList2(k) + OperationList3(k) ≟ 2 ∨ NumberList4(k) > 0, {2}, OperationList2(k) + OperationList3(k) ≟ 4, {1}, {1, 2}]], k, 1, 100) → OperationList4, {1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 2, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1}
  32. Sequence(If[NumberList4(k) > 0, Random[NumberList4(k) + 1, 35], Random[1, 25]], k, 1, 100) → OperationNumberList4
  33. Sequence(If[OperationList4(k) ≟ 1, NumberList4(k) + OperationNumberList4(k), NumberList4(k) - OperationNumberList4(k)], k, 1, 100) → NumberList5
  34. Sequence(If[NumberList5(k) > 0, Random[NumberList5(k) + 1, 35], Random[1, 25]], k, 1, 100) → OperationNumberList5
  35. Sequence(RandomElement[If[OperationList3(k) + OperationList4(k) ≟ 2 ∨ NumberList5(k) > 0, {2}, OperationList3(k) + OperationList4(k) ≟ 4, {1}, {1, 2}]], k, 1, 100) → OperationList5, {2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 1, 2, 1, 2, 2, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 1, 1, 1, 1}
  36. Sequence(If[OperationList5(k) ≟ 1, NumberList5(k) + OperationNumberList5(k), NumberList5(k) - OperationNumberList5(k)], k, 1, 100) → NumberList6
  37. Sequence(RandomElement[If[OperationList4(k) + OperationList5(k) ≟ 2 ∨ NumberList6(k) > 0, {2}, OperationList4(k) + OperationList5(k) ≟ 4, {1}, {1, 2}]], k, 1, 100) → OperationList6, {2, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 1, 1, 2, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 2, 2, 2, 2, 1, 2, 2, 1, 2, 2, 2, 1, 2, 1, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2}
  38. Sequence(If[NumberList6(k) > 0, Random[NumberList6(k) + 1, 35], Random[1, 25]], k, 1, 100) → OperationNumberList6
  39. Sequence(If[OperationList6(k) ≟ 1, NumberList6(k) + OperationNumberList6(k), NumberList6(k) - OperationNumberList6(k)], k, 1, 100) → NumberList7
  40. Sequence(If[NumberList7(k) > 0, Random[NumberList7(k) + 1, 35], Random[1, 25]], k, 1, 100) → OperationNumberList7
  41. Sequence(RandomElement[If[OperationList5(k) + OperationList6(k) ≟ 2 ∨ NumberList7(k) > 0, {2}, OperationList5(k) + OperationList6(k) ≟ 4, {1}, {1, 2}]], k, 1, 100) → OperationList7, {1, 1, 2, 1, 2, 2, 1, 1, 2, 2, 1, 2, 2, 2, 1, 2, 2, 1, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 2, 2, 2, 2, 2, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 1, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 2}
  42. Sequence(If[OperationList7(k) ≟ 1, NumberList7(k) + OperationNumberList7(k), NumberList7(k) - OperationNumberList7(k)], k, 1, 100) → NumberList8
  43. Sequence(RandomElement[If[OperationList6(k) + OperationList7(k) ≟ 2 ∨ NumberList8(k) > 0, {2}, OperationList6(k) + OperationList7(k) ≟ 4, {1}, {1, 2}]], k, 1, 100) → OperationList8, {2, 2, 2, 2, 2, 1, 2, 2, 2, 1, 2, 1, 1, 2, 1, 1, 2, 2, 2, 2, 1, 2, 1, 1, 2, 1, 1, 1, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 1, 2, 1, 1, 2, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 2, 2, 2, 1, 1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 2, 2, 2, 1, 1}
  44. Sequence(If[NumberList8(k) > 0, Random[NumberList8(k) + 1, 35], Random[1, 25]], k, 1, 100) → OperationNumberList8
  45. Sequence(If[OperationList8(k) ≟ 1, NumberList8(k) + OperationNumberList8(k), NumberList8(k) - OperationNumberList8(k)], k, 1, 100) → NumberList9
  46. Sequence(studentAnswers(k) ≟ SolutionList(k), k, 1, 8) → inputBoxCorrect
  47. Point(Line[A, xAxis]) → B
  48. Text((("\textsf{\(" * NumberList1(counter)) * "\)}"), Point[arrow1, 0] + (0, 0.05), false, true, -1, 0) → CapN1
  49. Text((((("\textsf{" * OperationSignList(OperationList1(counter))) * " ") * OperationNumberList1(counter)) * "}"), Midpoint[Point[arrow1, 0], Point[arrow1, 1]] + (0, 0), false, true, 0, 1) → CapON1
  50. Text((((("\textsf{" * OperationSignList(OperationList2(counter))) * " ") * OperationNumberList2(counter)) * "}"), Midpoint[Point[arrow2, 0], Point[arrow2, 1]] + (0, 0.15), false, true, 1, 0) → CapON2
  51. Text((((("\textsf{" * OperationSignList(OperationList3(counter))) * " ") * OperationNumberList3(counter)) * "}"), Midpoint[Point[arrow3, 0], Point[arrow3, 1]] + (0, 0), false, true, 0, 1) → CapON3
  52. Text((((("\textsf{" * OperationSignList(OperationList4(counter))) * " ") * OperationNumberList4(counter)) * "}"), Midpoint[Point[arrow4, 0], Point[arrow4, 1]] + (-0.15, 0.15), false, true, 1, 0) → CapON4
  53. Text((((("\textsf{" * OperationSignList(OperationList5(counter))) * " ") * OperationNumberList5(counter)) * "}"), Midpoint[Point[arrow5, 0], Point[arrow5, 1]] + (0, 0), false, true, 0, 1) → CapON5
  54. Text((((("\textsf{" * OperationSignList(OperationList6(counter))) * " ") * OperationNumberList6(counter)) * "}"), Midpoint[Point[arrow6, 0], Point[arrow6, 1]] + (-0.15, 0.15), false, true, 1, 0) → CapON6
  55. Text((((("\textsf{" * OperationSignList(OperationList7(counter))) * " ") * OperationNumberList7(counter)) * "}"), Midpoint[Point[arrow7, 0], Point[arrow7, 1]] + (-0.15, 0), false, true, 0, 1) → CapON7
  56. Text((((("\textsf{" * OperationSignList(OperationList8(counter))) * " ") * OperationNumberList8(counter)) * "}"), Midpoint[Point[arrow8, 0], Point[arrow8, 1]] + (-0.15, 0.15), false, true, 1, 0) → CapON8
  57. Join({{Number1}, SolutionList}) → FirstNumbers
  58. Sequence((("\(" * FirstNumbers(k)) * "\)"), k, 1, Length[FirstNumbers]) → SolutionTxtList