减法迷宫 - Level 1

减法迷宫 - Level 1
几何画板及绘图内容加载中,请稍等……
2025-07-22 20:56
减法迷宫 - Level 1是FLINK-Team制作的一款数学游戏,适合7-8年级学生。游戏的目的是让学生练习从大数减去小数,提高减法的准确性和速度。游戏中使用了GeoGebra的各种命令和对象,包括Textfield、Shuffle、Element、Vector等。学生可以通过输入正确的答案来解锁下一个级别。这个游戏不仅可以提高学生的减法能力,还可以培养他们的逻辑思维和问题解决能力。

GeoGebra 命令及参数

  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, {{2, 1}, {3, 6}, {2, 5}, {1, 8}, {2, 3}, {2, 4}, {3, 4}, {2, 6}, {1, 6}, {1, 5}, {3, 1}, {3, 9}, {3, 2}, {1, 1}, {3, 8}, {2, 8}, {2, 7}, {3, 3}, {2, 2}, {1, 2}, {1, 3}, {3, 5}, {1, 4}, {1, 9}, {2, 9}, {1, 7}, {3, 7}}
  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(-9, -1, 100) → NumberList1, {-9, -2, -3, -3, -4, -5, -7, -2, -8, -7, -9, -9, -5, -8, -8, -9, -8, -1, -9, -4, -5, -1, -5, -9, -5, -5, -2, -1, -3, -1, -2, -7, -9, -9, -5, -4, -5, -9, -5, -2, -9, -3, -4, -8, -1, -6, -3, -4, -9, -7, -7, -6, -1, -3, -5, -2, -4, -9, -7, -7, -6, -2, -9, -8, -4, -7, -6, -6, -5, -7, -6, -4, -5, -9, -6, -7, -9, -2, -9, -5, -5, -8, -5, -4, -5, -7, -6, -9, -3, -8, -6, -6, -7, -5, -5, -9, -9, -4, -6, -5}
  22. Sequence(Random[abs(NumberList1(k)) + 1, 10], k, 1, 100) → OperationNumberList1, {10, 8, 4, 4, 10, 7, 9, 9, 10, 8, 10, 10, 7, 10, 9, 10, 9, 5, 10, 10, 8, 4, 9, 10, 9, 7, 3, 2, 7, 10, 9, 9, 10, 10, 9, 5, 7, 10, 10, 9, 10, 7, 6, 9, 8, 9, 5, 8, 10, 9, 9, 8, 6, 8, 7, 6, 5, 10, 8, 9, 10, 7, 10, 10, 10, 8, 7, 9, 8, 9, 7, 7, 7, 10, 9, 8, 10, 5, 10, 9, 7, 10, 8, 8, 6, 8, 9, 10, 4, 10, 8, 7, 9, 8, 6, 10, 10, 5, 7, 6}
  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, 10, 100) → OperationNumberList2, {10, 3, 4, 8, 2, 6, 8, 1, 3, 6, 6, 10, 2, 10, 5, 8, 1, 2, 9, 8, 4, 3, 4, 1, 8, 7, 9, 9, 5, 4, 4, 2, 1, 1, 7, 7, 2, 1, 9, 3, 3, 1, 4, 8, 6, 4, 9, 7, 10, 8, 10, 1, 10, 7, 3, 4, 10, 3, 2, 5, 4, 4, 10, 9, 7, 10, 3, 5, 6, 3, 2, 7, 4, 7, 9, 2, 10, 3, 8, 2, 6, 2, 2, 1, 7, 6, 5, 4, 4, 10, 7, 10, 4, 9, 7, 9, 10, 4, 8, 4}
  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, 1, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2, 2, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 2, 2, 2, 1, 2, 2, 1, 1, 2, 2, 1, 1, 2, 1, 1, 2, 2, 1}
  29. Sequence(If[NumberList3(k) > 0, Random[NumberList3(k) + 1, 10], Random[1, 10]], 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, 2, 1, 1, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 2, 2, 1, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 2, 2, 1, 1, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 2, 1, 2, 2, 2, 2, 2, 1, 1, 2, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 1, 1, 2, 2, 1, 2, 2, 1, 1, 2}
  32. Sequence(If[NumberList4(k) > 0, Random[NumberList4(k) + 1, 10], Random[1, 10]], 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, 10], Random[1, 10]], 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, 2, 2, 2, 1, 2, 1, 1, 1, 2, 2, 2, 2, 1, 2, 2, 1, 2, 2, 2, 1, 1, 2, 1, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 1, 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 2, 2, 1, 1, 1, 1, 1, 2, 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, 2, 2, 2, 2, 2, 1, 2, 1, 1, 1, 2, 1, 2, 1, 1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 1, 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 2, 2, 1, 2, 1, 1, 1, 2, 2, 1, 2, 2, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 2, 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 2, 2, 1, 1, 2, 1, 1, 1, 2, 2, 1, 2, 2, 1, 2, 2, 2}
  38. Sequence(If[NumberList6(k) > 0, Random[NumberList6(k) + 1, 10], Random[1, 10]], 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, 10], Random[1, 10]], 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, 1, 1, 2, 1, 1, 1, 1, 2, 2, 2, 1, 1, 2, 2, 1, 2, 1, 2, 2, 2, 2, 1, 1, 2, 1, 2, 1, 2, 2, 2, 2, 1, 1, 2, 2, 1, 2, 1, 1, 1, 2, 1, 1, 1, 2, 1, 2, 1, 2, 1, 1, 2, 2, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 1, 2, 2, 1, 1, 2, 2, 1, 2, 2, 2, 2, 2, 1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 2, 1, 2, 1, 1, 2, 1, 2, 1}
  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, 2, 2, 2, 2, 1, 1, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 2, 2, 1, 1, 2, 1, 1, 2, 1, 1, 2, 2, 1, 2, 2, 2, 1, 2, 1, 2, 1, 2, 2, 1, 1, 2, 2, 2, 1, 2, 1, 2, 2, 2, 2, 1, 2, 2, 1, 2, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 1, 2, 1, 1, 2, 1, 2, 2, 2, 2, 1, 2, 1, 2, 2, 1, 2, 1, 2}
  44. Sequence(If[NumberList8(k) > 0, Random[NumberList8(k) + 1, 10], Random[1, 10]], 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