Python-inspired, not full Python. One command per line; # starts a note.
move_north(2) / move_south(2)- Move two cells north or south. North decreases the row.
move_east(1) / move_west(1)- Move one cell east or west. East increases the column.
pick_up() / drop()- Collect a package at your feet, or deliver matching cargo at a dock.
if package_here(): / else:- Branch on whether a package is at the rover. Indent the body 2 spaces.
if dock_here(): / else:- Branch on whether a dock is at the rover. Indent the body 2 spaces.
if cargo_for_a(): / else:- Branch on whether the carried package belongs to dock A. Type is hidden until pickup. Indent the body 2 spaces.
if blocked_east():- True when the rover is at the map edge in that direction (also north/south/west). Pair with not to walk until the wall: for i in range(5): if not blocked_west(): move_west(1)
if not package_here():- Branch when the sensor is false.
say("hello")- Show a speech bubble above the rover. Does not count as an action.
for i in range(5):- Repeat the indented body 5 times. range accepts 1–20.
break- Exit the enclosing for loop early. Only inside a for body.
Use whole numbers from 1 to 5 for movement. Maximum 300 actions per run. Step runs one command at a time. The editor locks during playback; Reset stops the rover without erasing your code.
Progress saves to this browser. Completed stages, your code, and best cell counts survive a refresh.