Teacher copy · Velocity Arena
Answers for the Predict blanks and the Gap sentence on each Skills Arena card. Most blanks have one right answer; some depend on the team's own stats; some are measurements with no answer at all. The color tells you which.
chargePower = POWER² (as a %, capped at 100). Cards 3, 4, 5 and 7 all lean on it.
| POWER | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|
| chargePower % | 1 | 4 | 9 | 16 | 25 | 36 | 49 | 64 | 81 | 100 |
"From (1, 1) to (7, 1) is ___ grid squares, so we will call drive(___). With unitMs = ___ and startupMs = ___, motor-on time = (unitMs × 6) + startupMs = ___ ms."
| Blank | Answer |
|---|---|
| Fixedgrid squares | 6 (7 − 1) |
| Fixeddrive( ___ ) | 6 |
| StatsunitMs | their tuned value — expect 590–620 |
| StatsstartupMs | their tuned value — expect 80–140 |
| Statsmotor-on time | (unitMs × 6) + startupMs e.g. 600 & 100 → 3700 ms |
"Leg 1: from (1, 0) to (1, 3) is ___ squares → drive(___). Leg 2: from (1, 3) to (6, 3) is ___ squares → drive(___). We predict the final stop will be within ___ cm of (6, 3)."
| Blank | Answer |
|---|---|
| FixedLeg 1 squares · drive() | 3 · drive(3) (3 − 0) |
| FixedLeg 2 squares · drive() | 5 · drive(5) (6 − 1) |
| Measuredwithin ___ cm | their estimate — no answer |
"Our POWER stat is ___, so chargePower = POWER² = ___%. We predict the ranking will be 1st ___ 2nd ___ 3rd ___ (standard / squeaky / rubber) because ___."
| Blank | Answer |
|---|---|
| StatsPOWER stat | their locked POWER (1–10) |
| StatschargePower % | POWER² — use the table above |
| Measuredpredicted ranking + why | no correct answer — it's a hypothesis |
POWER². The ranking is theirs to predict and then test — a "wrong" prediction that gets revised in the gap sentence is a better outcome than a lucky guess."Leg 1: from (3, 4) to y = 2 is ___ squares → drive(___). chargePower = POWER² = ___%. For Leg 2, we will try drive(___) first because ___."
| Blank | Answer |
|---|---|
| FixedLeg 1 squares · drive() | 2 · drive(2) (4 → 2) |
| StatschargePower % | POWER² — table above |
| MeasuredLeg 2 first try + why | their choice — they iterate over 3 attempts |
kick() spends part of its 400 ms closing the gap. Teams with higher chargePower need to stop further back."Leg 1: from (4, 0) to y = 2 is ___ squares → drive(___). chargePower = POWER² = ___%. Our Card 4 winning Leg 2 was drive(___). We predict Leg 2 here will be [the same / different] because ___."
| Blank | Answer |
|---|---|
| FixedLeg 1 squares · drive() | 2 · drive(2) (0 → 2) |
| StatschargePower % | POWER² — unchanged from Card 4 |
| StatsCard 4 winning Leg 2 | whatever worked on Card 4 |
| Fixedsame or different? | the same |
"We will kick Ball [A / B] first. Route to Ball A: ___. Route to Ball B: ___. We predict Ball A [will / will not] score and Ball B [will / will not] score."
| Blank | Answer |
|---|---|
| Measuredwhich ball first, routes, predictions | no correct answer — either order is valid |
| Fixedtotal function calls (gap) | ≈ 8 for an efficient route |
turnAround(), so reversing takes two turns in the same direction. Teams that stall here usually haven't realised they must reverse — that belongs in "hardest transition.""chargePower values: P=3 → ___%, P=6 → ___%, P=9 → ___%. From P=3 to P=6, chargePower jumps ___%. From P=6 to P=9, it jumps ___%. We predict each distance increase will be [the same / bigger / smaller] because ___."
| Blank | Answer |
|---|---|
| FixedP=3 · P=6 · P=9 | 9% · 36% · 81% |
| Fixedjump 3→6 | 27 (36 − 9) |
| Fixedjump 6→9 | 45 (81 − 36) |
| Fixedeach increase will be… | bigger |
| Fixedrelationship is… (gap) | non-linear — chargePower = POWER², and squaring isn't linear |
"Path from (0,0) to box at (5,3): ___. We will enter the box from ( ___ , ___ ) — the coordinate just before (5, 3). Turn used to end facing (5, 0): [turnRight() / turnLeft() / two turns]. Total drive() calls: ___. Total turn calls: ___."
| Blank | Answer |
|---|---|
| Measuredpath & entry coordinate | more than one valid route |
| Fixedturn to end facing (5,0) | turnRight() on the reference route |
| Fixeddrive() calls | 2 drive(5), drive(3) |
| Fixedturn calls | 2 turnLeft(), turnLeft() |
drive(3) to (0,3) → turnRight() now facing (8,3) → drive(5) to (5,3) → turnRight() now facing (5,0). That's 2 drives, 2 turns. The bot is already inside the box after the third call — the last turn only spins it.drive() after the final turn, which drives straight back out of the box. Longer routes with a different turn column are equally valid."Cone detour: go around the [left / right] side. Detour route: ___. We will score into the [left / right] goal. Route to parking zone after scoring: ___. Estimated total function calls: ___."
| Blank | Answer |
|---|---|
| Measureddetour side & routes | either side can work — left (west) is the reference route |
| Measuredwhich goal | right goal on the reference route |
| Fixedtotal function calls | ≈ 11 on the reference route |
| Fixedscore (gap) | out of 3 — cone avoided, ball scored, bot parked |
skillsCode.ts) also contains a Lawnmower challenge that isn't on the lesson page, and a few start coordinates differ slightly between the two. Trust the numbers on the web page — that's what students are reading and filling in.(0,0) facing (0,4), finish inside the box at (5,3) facing (5,0). There are no compass directions anywhere on the card, so students describe every turn by the point they end up aimed at.