Racing Bears: Race to 10 (Addition)
Loading the math board and drawing, please wait…
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
Point({-5, 2}) → numberLineStarter1Element({{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) → winZone1Sequence(numberLineStarter1 + ((i * spacer), 0), i, -1 + (gameSelector ≟ 1), 11 - (gameSelector ≟ 2)) → numberLine1DotsMovePoint(numberLine1DotsMove) → playerPointSequence((-5.2 + ((3 * i) * spacer), -1), i, 0, 3) → bearAnchorsElement({0, 10, 5}, gameSelector) → startElement({10, 0}, gameSelector) → endPoint({0, 0}) → spinnerCenterSequence(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) → spinnerSectionsAngle(spinner) → currentAngleIf(currentAngle ≤ π / 3, 1, If[currentAngle ≤ (2 * π / 3), 2, If[currentAngle ≤ π, 3, If[currentAngle ≤ (4 * π / 3), 4, If[currentAngle ≤ (5 * π / 3), 5, 6]]]]) → spinnerLocationElement(spinnerSections, spinnerLocation) → highlightedElement({{"+0", "+1", "+2", "+0", "+1", "+2"}, {"-0", "-1", "-2", "-0", "-1", "-2"}, {"+0", "+1", "+2", "-0", "-1", "-2"}}, gameSelector) → spinnerDisplayValuesSequence(Text[Element[spinnerDisplayValues, i], TextAdjuster + (((spinnerRadius * 0.7) * cos(π / 6 + ((i - 1) * π / 3))), ((spinnerRadius * 0.7) * sin(π / 6 + ((i - 1) * π / 3))))], i, 1, 6) → spinnerTextSequence(Segment[spinnerCenter, spinnerCenter + ((spinnerRadius * cos((i * π / 3))), (spinnerRadius * sin((i * π / 3))))], i, 0, 5) → linesSegment(numberLineStarter1, numberLineStarter1 + ((10 * spacer), 0)) → numberLine1Sequence(numberLineStarter1 + ((i * spacer), 0), i, 0, 10) → numberLine1DotsShownPoint({-5, -2.5}) → numberLineStarter2Segment(numberLineStarter2, numberLineStarter2 + ((10 * spacer), 0)) → numberLine2Sequence(numberLineStarter2 + ((i * spacer), 0), i, -1 + (gameSelector ≟ 1), 11 - (gameSelector ≟ 2)) → numberLine2DotsMoveSequence(numberLineStarter2 + ((i * spacer), 0), i, 0, 10) → numberLine2DotsShownSequence(Text[i, numberLineStarter1 + ((i * spacer), 0) + numberLineTextAdjuster], i, 0, 10) → numberLine1TextSequence(Text[i, numberLineStarter2 + ((i * spacer), 0) + numberLineTextAdjuster], i, 0, 10) → numberLine2TextElement({{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) → winZone2Point({x(numberLineStarter2) + (((computerOldScore * (1 - bearMove)) + (computerNewScore * bearMove)) * spacer), y(numberLineStarter2)}) → computerPointTableText({"Right:", rightAnswers}, {"Wrong:", wrongAnswers}) → text8Element({{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.