Racing Bears: Subtraction Game
Loading the math board and drawing, please wait…
This example demonstrates a game where players race to zero on a number line by performing subtraction operations. Core math concepts include subtraction, number line, linear functions, and natural numbers. It is constructed using GeoGebra commands like Point, Element, Sequence, Angle, If, Segment, and TableText. Suitable for middle school mathematics education to visually illustrate subtraction and number line applications.
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 integer points marked from 0 to 10. Place two bear anchors near -5 and 5. Draw a pointer pointing to a point on the number line. Draw a spinner with six sectors representing +0, +1, +2, -0, -1, and -2. Draw a win zone at both ends of the number line. Draw two player points on the number line, starting at -5 and 5. Draw a win zone at both ends of the second number line.
The prompt above was compiled from the original drawing commands and is for reference only.