Racing Bears: Race to 10 (Addition)

Racing Bears: Race to 10 (Addition)
Loading the math board and drawing, please wait…
2020-11-24 00:38
This example demonstrates an addition-based racing game where bear movements illustrate numerical growth. Core math concepts include addition operations, probability & statistics, and numerical comparison. Construction highlights GeoGebra commands like Point, Element, Sequence, Angle, If, Segment, and TableText. Suitable for elementary students learning addition, basic probability, and developing number sense and competitive awareness.

GeoGebra Commands & Parameters

  1. Point({-5, 2}) → numberLineStarter1
  2. Element({{Polygon[numberLineStarter1 + ((9.5 * spacer), ((-boxHeight) * spacer)), numberLineStarter1 + ((11.5 * spacer), ((-boxHeight) * spacer)), numberLineStarter1 + ((11.5 * spacer), ((1.5 * boxHeight) * spacer)), numberLineStarter1 + ((9.5 * spacer), ((1.5 * boxHeight) * spacer))]}, {Polygon[numberLineStarter1 + ((0.5 * spacer), ((-boxHeight) * spacer)), numberLineStarter1 + ((-1.5 * spacer), ((-boxHeight) * spacer)), numberLineStarter1 + ((-1.5 * spacer), ((1.5 * boxHeight) * spacer)), numberLineStarter1 + ((0.5 * spacer), ((1.5 * boxHeight) * spacer))]}, {Polygon[numberLineStarter1 + ((9.5 * spacer), ((-boxHeight) * spacer)), numberLineStarter1 + ((11.5 * spacer), ((-boxHeight) * spacer)), numberLineStarter1 + ((11.5 * spacer), ((1.5 * boxHeight) * spacer)), numberLineStarter1 + ((9.5 * spacer), ((1.5 * boxHeight) * spacer))], Polygon[numberLineStarter1 + ((0.5 * spacer), ((-boxHeight) * spacer)), numberLineStarter1 + ((-1.5 * spacer), ((-boxHeight) * spacer)), numberLineStarter1 + ((-1.5 * spacer), ((1.5 * boxHeight) * spacer)), numberLineStarter1 + ((0.5 * spacer), ((1.5 * boxHeight) * spacer))]}}, gameSelector) → winZone1
  3. Sequence(numberLineStarter1 + ((i * spacer), 0), i, -1 + (gameSelector ≟ 1), 11 - (gameSelector ≟ 2)) → numberLine1DotsMove
  4. Point(numberLine1DotsMove) → playerPoint
  5. Sequence((-5.2 + ((3 * i) * spacer), -1), i, 0, 3) → bearAnchors
  6. Element({0, 10, 5}, gameSelector) → start
  7. Element({10, 0}, gameSelector) → end
  8. Point({0, 0}) → spinnerCenter
  9. Sequence(Sector[Circle[spinnerCenter, spinnerRadius], ((spinnerRadius * cos((i * π / 3))), (spinnerRadius * sin((i * π / 3)))), ((spinnerRadius * cos(((i + 1) * π / 3))), (spinnerRadius * sin(((i + 1) * π / 3))))], i, 0, 5) → spinnerSections
  10. Angle(spinner) → currentAngle
  11. If(currentAngle ≤ π / 3, 1, If[currentAngle ≤ (2 * π / 3), 2, If[currentAngle ≤ π, 3, If[currentAngle ≤ (4 * π / 3), 4, If[currentAngle ≤ (5 * π / 3), 5, 6]]]]) → spinnerLocation
  12. Element(spinnerSections, spinnerLocation) → highlighted
  13. Element({{"+0", "+1", "+2", "+0", "+1", "+2"}, {"-0", "-1", "-2", "-0", "-1", "-2"}, {"+0", "+1", "+2", "-0", "-1", "-2"}}, gameSelector) → spinnerDisplayValues
  14. Sequence(Text[Element[spinnerDisplayValues, i], TextAdjuster + (((spinnerRadius * 0.7) * cos(π / 6 + ((i - 1) * π / 3))), ((spinnerRadius * 0.7) * sin(π / 6 + ((i - 1) * π / 3))))], i, 1, 6) → spinnerText
  15. Sequence(Segment[spinnerCenter, spinnerCenter + ((spinnerRadius * cos((i * π / 3))), (spinnerRadius * sin((i * π / 3))))], i, 0, 5) → lines
  16. Segment(numberLineStarter1, numberLineStarter1 + ((10 * spacer), 0)) → numberLine1
  17. Sequence(numberLineStarter1 + ((i * spacer), 0), i, 0, 10) → numberLine1DotsShown
  18. Point({-5, -2.5}) → numberLineStarter2
  19. Segment(numberLineStarter2, numberLineStarter2 + ((10 * spacer), 0)) → numberLine2
  20. Sequence(numberLineStarter2 + ((i * spacer), 0), i, -1 + (gameSelector ≟ 1), 11 - (gameSelector ≟ 2)) → numberLine2DotsMove
  21. Sequence(numberLineStarter2 + ((i * spacer), 0), i, 0, 10) → numberLine2DotsShown
  22. Sequence(Text[i, numberLineStarter1 + ((i * spacer), 0) + numberLineTextAdjuster], i, 0, 10) → numberLine1Text
  23. Sequence(Text[i, numberLineStarter2 + ((i * spacer), 0) + numberLineTextAdjuster], i, 0, 10) → numberLine2Text
  24. Element({{Polygon[numberLineStarter2 + ((9.5 * spacer), ((-boxHeight) * spacer)), numberLineStarter2 + ((11.5 * spacer), ((-boxHeight) * spacer)), numberLineStarter2 + ((11.5 * spacer), ((1.5 * boxHeight) * spacer)), numberLineStarter2 + ((9.5 * spacer), ((1.5 * boxHeight) * spacer))]}, {Polygon[numberLineStarter2 + ((0.5 * spacer), ((-boxHeight) * spacer)), numberLineStarter2 + ((-1.5 * spacer), ((-boxHeight) * spacer)), numberLineStarter2 + ((-1.5 * spacer), ((1.5 * boxHeight) * spacer)), numberLineStarter2 + ((0.5 * spacer), ((1.5 * boxHeight) * spacer))]}, {Polygon[numberLineStarter2 + ((9.5 * spacer), ((-boxHeight) * spacer)), numberLineStarter2 + ((11.5 * spacer), ((-boxHeight) * spacer)), numberLineStarter2 + ((11.5 * spacer), ((1.5 * boxHeight) * spacer)), numberLineStarter2 + ((9.5 * spacer), ((1.5 * boxHeight) * spacer))], Polygon[numberLineStarter2 + ((0.5 * spacer), ((-boxHeight) * spacer)), numberLineStarter2 + ((-1.5 * spacer), ((-boxHeight) * spacer)), numberLineStarter2 + ((-1.5 * spacer), ((1.5 * boxHeight) * spacer)), numberLineStarter2 + ((0.5 * spacer), ((1.5 * boxHeight) * spacer))]}}, gameSelector) → winZone2
  25. Point({x(numberLineStarter2) + (((computerOldScore * (1 - bearMove)) + (computerNewScore * bearMove)) * spacer), y(numberLineStarter2)}) → computerPoint
  26. TableText({"Right:", rightAnswers}, {"Wrong:", wrongAnswers}) → text8
  27. Element({{0, 1, 2, 0, 1, 2}, {0, -1, -2, 0, -1, -2}, {0, 1, 2, 0, -1, -2}}, gameSelector) → spinnerValues

AI Drawing Prompt Reference

Draw a number line from -5 to 5 with points at each unit. Place two bears on the number line, one starting at 0 and the other at 10. Next, draw a hexagonal spinner with six sectors labeled +0, +1, +2, -0, -1, -2. The spinner has a pointer indicating the current value. Draw two winning zones on the number line, one from 0 to 10 and the other from -5 to 5. Finally, draw a text box to display the correct and wrong answers.
The prompt above was compiled from the original drawing commands and is for reference only.