Claude Sonnet 5.5, seed 2

Claude Code · medium reasoning effort

ValidCounts toward the meanGame-time budget used

  • Hay 13.6m produced, 7.13 points
  • Wood 11m produced, 7.04 points
  • Carrot 8.55m produced, 6.93 points
  • Pumpkin 7.57m produced, 6.88 points
  • Cactus 2.52m produced, 6.40 points
  • Power 134k produced, 5.13 points
  • Bone 10 produced, 1.04 points
  • Weird substance 500k produced, 5.70 points
  • Gold 373k produced, 5.57 points
  • Water 90.7k produced, 4.96 points
  • Fertilizer 9.3k produced, 3.97 points

Produced by the end of the run. Pips: points each resource adds to the score, one per tenfold.

Score · economy-v1
60.75orders of magnitude · model mean 55.09
On seed 2
#5of 8 models
Cost
$4.38API-equivalent estimate
Real time
18m 02swall clock, not scored
timelineeconomy-v1 · sampled every 10 game-seconds

Score and what the agent did, over game time

Ticks under the axis: upgrade purchases.

Data table
Game timeScore
0s0.00
1h 00m20.7
2h 00m38.9
3h 00m45.6
4h 00m53.3
5h 00m57.8
6h 00m60.8
runningrunning: 58 entries, first at 1m 00s
errorserrors: 8 entries, first at 9m 15s

Said: the agent's own progress messages. Thought: its thinking as the agent reported it. Read: docs and research. Wrote: program saves. Running: which program the farm ran. Text sits at the game time it was written; the game is paused while the agent thinks. Dots open the step in the log below.

how-it-playedcompared with Claude Sonnet 5.5's 3 valid seeds and the 8 models on seed 2

How it played

MeasureThis runModel meanSeed 2 meanWhat it counts
Resources opened11 of 1111 of 1110.1 of 11scored resources produced at least once
Study222143docs and research reads
Action overhead12%10%11%game time spent looking, reading and typing (10 s per call)
Tool calls266223231every action the agent took
Program writes534239accepted saves of a program
Program stints515039times a program was started and left running
Median stint3m 40s4m 57s5m 28show long a program usually ran before the next change
Cost per point$0.072$0.056$0.084API-equivalent estimate ÷ score

Farm idle 6% of samples; longest stint 1h 46m; 2 rejected writes.

production11 of 11 resources produced

Production and holdings

Each resource on its own scale. Ticks: purchases of the upgrade that feeds it. On the log scale each tenfold rise is one point.

  • Produced (cumulative, what the score counts)
  • Held (after spending)
Vertical scale
Hay13.6M produced · 7.13 pts
Hay13.6M produced · 7.13 pts
Wood11M produced · 7.04 pts
Wood11M produced · 7.04 pts
Carrot8.5M produced · 6.93 pts
Carrot8.5M produced · 6.93 pts
Pumpkin7.6M produced · 6.88 pts
Pumpkin7.6M produced · 6.88 pts
Cactus2.5M produced · 6.40 pts
Cactus2.5M produced · 6.40 pts
Weird substance500.1K produced · 5.70 pts
Weird substance500.1K produced · 5.70 pts
Gold373.3K produced · 5.57 pts
Gold373.3K produced · 5.57 pts
Power134.1K produced · 5.13 pts
Power134.1K produced · 5.13 pts
Water90.7K produced · 4.96 pts
Water90.7K produced · 4.96 pts
Fertilizer9.3K produced · 3.97 pts
Fertilizer9.3K produced · 3.97 pts
Bone10 produced · 1.04 pts
Bone10 produced · 1.04 pts
upgrades93 levels across 29 upgrades

Upgrade timeline

loopsloops: 1 entry, first at 1m 15s
speedspeed: 5 entries, first at 2m 45s
expandexpand: 8 entries, first at 2m 45s
plantplant: 1 entry, first at 2m 45s
carrotscarrots: 7 entries, first at 14m 55s
operatorsoperators: 1 entry, first at 19m 47s
wateringwatering: 8 entries, first at 19m 47s
sensessenses: 1 entry, first at 24m 48s
variablesvariables: 1 entry, first at 24m 48s
treestrees: 9 entries, first at 24m 48s
debugdebug: 1 entry, first at 24m 48s
functionsfunctions: 2 entries, first at 24m 58s
importimport: 1 entry, first at 24m 58s
pumpkinspumpkins: 8 entries, first at 30m 48s
grassgrass: 7 entries, first at 37m 38s
fertilizerfertilizer: 4 entries, first at 45m 38s
sunflowerssunflowers: 1 entry, first at 52m 48s
listslists: 1 entry, first at 1h 11m
utilitiesutilities: 1 entry, first at 1h 23m
timingtiming: 1 entry, first at 1h 23m
cactuscactus: 4 entries, first at 1h 31m
dinosaursdinosaurs: 4 entries, first at 1h 37m
hatshats: 4 entries, first at 1h 37m
polyculturepolyculture: 1 entry, first at 1h 42m
mazesmazes: 4 entries, first at 1h 49m
dictionariesdictionaries: 1 entry, first at 1h 49m
megafarmmegafarm: 4 entries, first at 1h 51m
costscosts: 1 entry, first at 2h 18m
auto_unlockauto_unlock: 1 entry, first at 2h 24m
Every purchase, with what the agent was told
Game timeCallUnlockedResult the agent saw
1m 05s{"upgrades":["loops"]}loops 1Bought loops, now level 1. Paid hay 5. Its tutorial is docs page docs/scripting/while.md.
2m 35s{"upgrades":["speed","expand","plant"]}speed 1, expand 1, plant 1Bought speed, now level 1. Paid hay 20. Its tutorial is docs page docs/unlocks/speed.md.
11m 35s{"upgrades":["expand","speed"]}expand 2, speed 2Bought expand, now level 2. Paid wood 20. Its tutorial is docs page docs/unlocks/expand_1.md.
14m 45s{"upgrades":["carrots","expand","speed"]}carrots 1Bought carrots, now level 1. Paid wood 50. Its tutorial is docs page docs/unlocks/carrots.md.
19m 37s{"upgrades":["speed","expand","operators","trees","watering"]}speed 3, expand 3, operators 1, watering 1Bought speed, now level 3. Paid wood 50, carrot 50. Its tutorial is docs page docs/unlocks/speed.md.
24m 38s{"upgrades":["senses","variables","trees","speed","debug"]}senses 1, variables 1, trees 1, debug 1Bought senses, now level 1. Paid hay 100. Its tutorial is docs page docs/unlocks/senses.md.
24m 48s{"upgrades":["functions","import","expand","speed","watering","lists"]}functions 1, functions 1, import 1, watering 2Bought functions, now level 1. Paid carrot 40. Its tutorial is docs page docs/scripting/functions.md.
30m 38s{"upgrades":["speed","expand","pumpkins","sunflowers","lists"]}expand 4, pumpkins 1Could not buy speed: Not enough resources.
37m 28s{"upgrades":["speed","lists","sunflowers","expand","watering","grass"]}grass 2Could not buy speed: Not enough resources.
45m 28s{"upgrades":["speed","fertilizer","sunflowers","lists","carrots","grass"]}speed 4, fertilizer 1Bought speed, now level 4. Paid carrot 500. Its tutorial is docs page docs/unlocks/speed.md.
52m 38s{"upgrades":["speed","trees","sunflowers","lists","carrots"]}trees 2, sunflowers 1Could not buy speed: Not enough resources.
56m 18s{"upgrades":["watering","grass","carrots","lists","speed"]}watering 3Bought watering, now level 3. Paid wood 800. Its tutorial is docs page docs/unlocks/watering.md.
1h 00m{"upgrades":["speed","carrots","grass","lists","expand","watering"]}carrots 2Could not buy speed: Not enough resources.
1h 05m{"upgrades":["speed","lists","grass","expand","watering","carrots"]}speed 5Bought speed, now level 5. Paid carrot 1000. Its tutorial is docs page docs/unlocks/speed.md.
1h 07m{"upgrades":["expand"]}expand 5Bought expand, now level 5. Paid pumpkin 1000. Its tutorial is docs page docs/unlocks/expand_1.md.
1h 11m{"upgrades":["lists","carrots","grass","watering","polyculture","timing"]}lists 1Bought lists, now level 1. Paid carrot 500. Its tutorial is docs page docs/scripting/lists.md.
1h 17m{"upgrades":["watering","grass","carrots","trees","expand","pumpkins","grass","watering","polyculture","utilities","timing"]}grass 3, carrots 3, trees 3, pumpkins 2Could not buy watering: Not enough resources.
1h 23m{"upgrades":["expand","polyculture","utilities","timing","cactus","watering","grass","dictionaries"]}utilities 1, timing 1, grass 4Could not buy expand: Not enough resources.
1h 27m{"upgrades":["pumpkins","cactus","polyculture","trees","watering","dictionaries"]}pumpkins 3, trees 4Bought pumpkins, now level 3. Paid carrot 4000. Its tutorial is docs page docs/unlocks/pumpkins.md.
1h 31m{"upgrades":["cactus","polyculture","watering","dictionaries","expand"]}cactus 1, watering 4Bought cactus, now level 1. Paid pumpkin 5000. Its tutorial is docs page docs/unlocks/cactus.md.
1h 37m{"upgrades":["dinosaurs","expand","polyculture","dictionaries","cactus"]}dinosaurs 1, hats 1Bought dinosaurs, now level 1. Paid cactus 2000. Its tutorial is docs page docs/unlocks/dinosaurs.md.
1h 42m{"upgrades":["expand","polyculture","dictionaries","costs","cactus"]}polyculture 1Could not buy expand: Not enough resources.
1h 43m{"upgrades":["watering","fertilizer","carrots","cactus","pumpkins","mazes"]}fertilizer 2Could not buy watering: Not enough resources.
1h 48m{"upgrades":["mazes","expand","dictionaries","watering","carrots","cactus","pumpkins"]}mazes 1, dictionaries 1Bought mazes, now level 1. Paid weird_substance 1000. Its tutorial is docs page docs/unlocks/mazes.md.
1h 51m{"upgrades":["megafarm"]}megafarm 1Bought megafarm, now level 1. Paid gold 2000. Its tutorial is docs page docs/unlocks/megafarm.md.
2h 04m{"upgrades":["megafarm"]}—Could not buy megafarm: Not enough resources.
2h 05m{"upgrades":["megafarm"]}megafarm 2Bought megafarm, now level 2. Paid gold 8000. Its tutorial is docs page docs/unlocks/megafarm.md.
2h 18m{"upgrades":["expand","cactus","pumpkins","costs","trees","grass","carrots","watering","dinosaurs","mazes"]}expand 6, pumpkins 4, costs 1, trees 5, dinosaurs 2, hats 1Bought expand, now level 6. Paid pumpkin 8000. Its tutorial is docs page docs/unlocks/expand_1.md.
2h 24m{"upgrades":["cactus","watering","watering","fertilizer","grass","carrots","pumpkins","expand","polyculture","auto_unlock","simulation"]}cactus 2, watering 5, carrots 4, auto_unlock 1Bought cactus, now level 2. Paid pumpkin 20000. Its tutorial is docs page docs/unlocks/cactus.md.
2h 26m{"upgrades":["hats"]}—Could not buy hats: Already at maximum level.
2h 45m{"upgrades":["cactus","expand","dinosaurs","mazes","watering","fertilizer","grass","polyculture","pumpkins","carrots","trees"]}expand 7, mazes 2, fertilizer 3, trees 6Could not buy cactus: Not enough resources.
2h 51m{"upgrades":["cactus","pumpkins","carrots","watering","watering","grass","dinosaurs","polyculture","fertilizer","expand"]}carrots 5Could not buy cactus: Not enough resources.
3h 11m{"upgrades":["megafarm"]}megafarm 3Bought megafarm, now level 3. Paid gold 32000. Its tutorial is docs page docs/unlocks/megafarm.md.
3h 16m{"upgrades":["pumpkins","cactus","dinosaurs","mazes","carrots","trees","watering","fertilizer","grass","expand"]}pumpkins 5, dinosaurs 3, hats 1, grass 5Bought pumpkins, now level 5. Paid carrot 64000. Its tutorial is docs page docs/unlocks/pumpkins.md.
3h 21m{"upgrades":["cactus","carrots","watering","fertilizer","trees","mazes","pumpkins","grass","expand"]}cactus 3, watering 6Bought cactus, now level 3. Paid pumpkin 120000. Its tutorial is docs page docs/unlocks/cactus.md.
3h 32m{"upgrades":["pumpkins","carrots","fertilizer","mazes","trees","grass","watering","cactus","expand"]}pumpkins 6, fertilizer 4, mazes 3, trees 7, grass 6Bought pumpkins, now level 6. Paid carrot 256000. Its tutorial is docs page docs/unlocks/pumpkins.md.
3h 47m{"upgrades":["carrots","watering","cactus","dinosaurs","expand","pumpkins","trees","grass"]}carrots 6, watering 7, expand 8Bought carrots, now level 6. Paid wood 156000. Its tutorial is docs page docs/unlocks/carrots.md.
4h 17m{"upgrades":["cactus","pumpkins","carrots","watering","mazes","dinosaurs","grass","trees","expand","megafarm"]}cactus 4, pumpkins 7, grass 7, trees 8Bought cactus, now level 4. Paid pumpkin 720000. Its tutorial is docs page docs/unlocks/cactus.md.
4h 32m{"upgrades":["carrots","watering","mazes","dinosaurs","cactus","pumpkins","expand","megafarm","fertilizer","grass","trees"]}carrots 7, mazes 4Bought carrots, now level 7. Paid wood 781000. Its tutorial is docs page docs/unlocks/carrots.md.
4h 52m{"upgrades":["watering","dinosaurs","cactus","pumpkins","expand","megafarm","grass","trees","carrots"]}watering 8, dinosaurs 4, hats 1Bought watering, now level 8. Paid wood 819000. Its tutorial is docs page docs/unlocks/watering.md.
5h 13m{"upgrades":["cactus","pumpkins","expand","grass","trees","carrots","mazes"]}grass 8Could not buy cactus: Not enough resources.
5h 38m{"upgrades":["cactus","pumpkins","megafarm","carrots","trees","mazes"]}pumpkins 8, megafarm 4, trees 9Could not buy cactus: Not enough resources.

Programs 55 writes, code as the agent wrote it

a.py1 write · 1 ran · first at 40s
  1. r140sRanFinal10 lines · ran 5s
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    Write result the agent saw
    Saved a (10 lines).
    Game time: 50s elapsed, 5h 59m 10s of budget remaining.
    run_program at 50s for 30s (agent saw)
    Ran a for 5s of game time; it finished.
    Inventory change: hay +10.
    Game time: 1m 5s elapsed, 5h 58m 55s of budget remaining.
    Output:
    (none)
b.py2 writes · 1 ran · first at 1m 15s
  1. r11m 15sRan2 lines · ran 4m 00s
    while True:
        harvest()
    Write result the agent saw
    Saved b (2 lines).
    Game time: 1m 25s elapsed, 5h 58m 35s of budget remaining.
    run_program at 1m 25s for 60s (agent saw)
    Ran b for 1m of game time; it is still running.
    Inventory change: hay +120.
    Game time: 2m 35s elapsed, 5h 57m 25s of budget remaining.
    Output:
    (none)
    run_program at 3m 15s for 120s (agent saw)
    Ran b for 2m of game time; it is still running.
    Inventory change: no change.
    Game time: 5m 25s elapsed, 5h 54m 35s of budget remaining.
    Output:
    (none)
  2. —3m 05sRejected
    while True:
        harvest()
        plant(Entities.Bush)
        move(North)
    Write result the agent saw
    Stop the program before editing it.
c.py21 writes · 20 ran · first at 5m 35s
  1. r15m 35sRan4 lines · ran 3m 00s
    while True:
        harvest()
        plant(Entities.Bush)
        move(North)
    Write result the agent saw
    Saved c (4 lines).
    Game time: 5m 45s elapsed, 5h 54m 15s of budget remaining.
    run_program at 5m 45s for 60s (agent saw)
    Ran c for 1m of game time; it is still running.
    Inventory change: hay +3.
    Game time: 6m 55s elapsed, 5h 53m 5s of budget remaining.
    Output:
    (none)
  2. r28m 55sRan7 lines · +6 −3 · ran 0s · 1 runtime error
    while True:
        for i in range(3):
            harvest()
            plant(Entities.Bush)
            move(North)
        for j in range(10):
            do_a_flip()
    Changes from the previous revision
      while True:
    -     harvest()
    -     plant(Entities.Bush)
    -     move(North)
    +     for i in range(3):
    +         harvest()
    +         plant(Entities.Bush)
    +         move(North)
    +     for j in range(10):
    +         do_a_flip()
    
    Write result the agent saw
    Saved c (7 lines).
    Game time: 9m 5s elapsed, 5h 50m 55s of budget remaining.
    run_program at 9m 05s for 120s (agent saw)
    Ran c for 0s of game time; it stopped with an error: This must be unlocked before it can be used.
    Inventory change: no change.
    Game time: 9m 15s elapsed, 5h 50m 45s of budget remaining.
    Output:
    Error: This must be unlocked before it can be used.
    In: 
    for i in range(3):
                  ^^  
    --------------------------------------------------------------------
    Runtime error at 9m 15s (telemetry; not shown to the agent)
    This must be unlocked before it can be used.
  3. r39m 15sRan16 lines · +15 −6 · ran 2m 20s
    while True:
        harvest()
        plant(Entities.Bush)
        move(North)
        harvest()
        plant(Entities.Bush)
        move(North)
        harvest()
        plant(Entities.Bush)
        move(North)
        do_a_flip()
        do_a_flip()
        do_a_flip()
        do_a_flip()
        do_a_flip()
        do_a_flip()
    Changes from the previous revision
      while True:
    -     for i in range(3):
    -         harvest()
    -         plant(Entities.Bush)
    -         move(North)
    -     for j in range(10):
    -         do_a_flip()
    +     harvest()
    +     plant(Entities.Bush)
    +     move(North)
    +     harvest()
    +     plant(Entities.Bush)
    +     move(North)
    +     harvest()
    +     plant(Entities.Bush)
    +     move(North)
    +     do_a_flip()
    +     do_a_flip()
    +     do_a_flip()
    +     do_a_flip()
    +     do_a_flip()
    +     do_a_flip()
    
    Write result the agent saw
    Saved c (16 lines).
    Game time: 9m 25s elapsed, 5h 50m 35s of budget remaining.
    run_program at 9m 25s for 120s (agent saw)
    Ran c for 2m of game time; it is still running.
    Inventory change: wood +42.
    Game time: 11m 35s elapsed, 5h 48m 25s of budget remaining.
    Output:
    (none)
  4. r411m 55sRan11 lines · +1 −6 · ran 3m 00s
    while True:
        harvest()
        plant(Entities.Bush)
        move(North)
        harvest()
        plant(Entities.Bush)
        move(North)
        harvest()
        plant(Entities.Bush)
        move(North)
        move(East)
    Changes from the previous revision
          plant(Entities.Bush)
          move(North)
    -     do_a_flip()
    -     do_a_flip()
    -     do_a_flip()
    -     do_a_flip()
    -     do_a_flip()
    -     do_a_flip()
    +     move(East)
    
    Write result the agent saw
    Saved c (11 lines).
    Game time: 12m 5s elapsed, 5h 47m 55s of budget remaining.
    run_program at 12m 05s for 150s (agent saw)
    Ran c for 2m 30s of game time; it is still running.
    Inventory change: hay +10, wood +201.
    Game time: 14m 45s elapsed, 5h 45m 15s of budget remaining.
    Output:
    (none)
  5. r515m 25sRan28 lines · +17 −0 · ran 3m 40s
    while True:
        harvest()
        move(North)
        harvest()
        move(North)
        harvest()
        move(North)
        move(East)
        harvest()
        plant(Entities.Carrot)
        move(North)
        harvest()
        plant(Entities.Carrot)
        move(North)
        harvest()
        plant(Entities.Carrot)
        move(North)
        move(East)
        harvest()
        plant(Entities.Bush)
        move(North)
        harvest()
        plant(Entities.Bush)
        move(North)
        harvest()
        plant(Entities.Bush)
        move(North)
        move(East)
    Changes from the previous revision
      while True:
          harvest()
    +     move(North)
    +     harvest()
    +     move(North)
    +     harvest()
    +     move(North)
    +     move(East)
    +     harvest()
    +     plant(Entities.Carrot)
    +     move(North)
    +     harvest()
    +     plant(Entities.Carrot)
    +     move(North)
    +     harvest()
    +     plant(Entities.Carrot)
    +     move(North)
    +     move(East)
    +     harvest()
          plant(Entities.Bush)
          move(North)
    
    Write result the agent saw
    Saved c (28 lines).
    Game time: 15m 35s elapsed, 5h 44m 25s of budget remaining.
    run_program at 16m 07s for 200s (agent saw)
    Ran c for 3m 20s of game time; it is still running.
    Inventory change: carrot +87, hay +94, wood +101.
    Game time: 19m 37s elapsed, 5h 40m 23s of budget remaining.
    Output:
    (none)
  6. r620m 07sRan49 lines · +21 −0 · ran 4m 30s
    while True:
        harvest()
        move(North)
        harvest()
        move(North)
        harvest()
        move(North)
        harvest()
        move(North)
        move(East)
        harvest()
        plant(Entities.Carrot)
        move(North)
        harvest()
        plant(Entities.Carrot)
        move(North)
        harvest()
        plant(Entities.Carrot)
        move(North)
        harvest()
        plant(Entities.Carrot)
        move(North)
        move(East)
        harvest()
        plant(Entities.Bush)
        move(North)
        harvest()
        plant(Entities.Bush)
        move(North)
        harvest()
        plant(Entities.Bush)
        move(North)
        harvest()
        plant(Entities.Bush)
        move(North)
        move(East)
        harvest()
        plant(Entities.Bush)
        move(North)
        harvest()
        plant(Entities.Bush)
        move(North)
        harvest()
        plant(Entities.Bush)
        move(North)
        harvest()
        plant(Entities.Bush)
        move(North)
        move(East)
    Changes from the previous revision
          harvest()
          move(North)
    +     harvest()
    +     move(North)
          move(East)
          harvest()
          plant(Entities.Carrot)
          move(North)
    +     harvest()
    +     plant(Entities.Carrot)
    +     move(North)
          move(East)
          harvest()
          plant(Entities.Bush)
          move(North)
    +     harvest()
    +     plant(Entities.Bush)
    +     move(North)
          move(East)
    +     harvest()
    +     plant(Entities.Bush)
    +     move(North)
    +     harvest()
    +     plant(Entities.Bush)
    +     move(North)
    +     harvest()
    +     plant(Entities.Bush)
    +     move(North)
    +     harvest()
    +     plant(Entities.Bush)
    +     move(North)
    +     move(East)
    
    Write result the agent saw
    Saved c (49 lines).
    Game time: 20m 17s elapsed, 5h 39m 43s of budget remaining.
    run_program at 20m 28s for 240s (agent saw)
    Ran c for 4m of game time; it is still running.
    Inventory change: carrot +218, hay +137, water +24, wood +317.
    Game time: 24m 38s elapsed, 5h 35m 22s of budget remaining.
    Output:
    (none)
  7. r725m 08sRan15 lines · +14 −48 · ran 5m 30s
    def work():
        x = get_pos_x()
        if get_entity_type() == None or can_harvest():
            harvest()
            if x == 1:
                plant(Entities.Carrot)
            elif x >= 2:
                plant(Entities.Bush)
    
    while True:
        for x in range(4):
            for y in range(4):
                work()
                move(North)
            move(East)
    Changes from the previous revision
    + def work():
    +     x = get_pos_x()
    +     if get_entity_type() == None or can_harvest():
    +         harvest()
    +         if x == 1:
    +             plant(Entities.Carrot)
    +         elif x >= 2:
    +             plant(Entities.Bush)
    + 
      while True:
    -     harvest()
    -     move(North)
    -     harvest()
    -     move(North)
    -     harvest()
    -     move(North)
    -     harvest()
    -     move(North)
    -     move(East)
    -     harvest()
    -     plant(Entities.Carrot)
    -     move(North)
    -     harvest()
    -     plant(Entities.Carrot)
    -     move(North)
    -     harvest()
    -     plant(Entities.Carrot)
    -     move(North)
    -     harvest()
    -     plant(Entities.Carrot)
    -     move(North)
    -     move(East)
    -     harvest()
    -     plant(Entities.Bush)
    -     move(North)
    -     harvest()
    -     plant(Entities.Bush)
    -     move(North)
    -     harvest()
    -     plant(Entities.Bush)
    -     move(North)
    -     harvest()
    -     plant(Entities.Bush)
    -     move(North)
    -     move(East)
    -     harvest()
    -     plant(Entities.Bush)
    -     move(North)
    -     harvest()
    -     plant(Entities.Bush)
    -     move(North)
    -     harvest()
    -     plant(Entities.Bush)
    -     move(North)
    -     harvest()
    -     plant(Entities.Bush)
    -     move(North)
    -     move(East)
    +     for x in range(4):
    +         for y in range(4):
    +             work()
    +             move(North)
    +         move(East)
    
    Write result the agent saw
    Saved c (15 lines).
    Game time: 25m 18s elapsed, 5h 34m 42s of budget remaining.
    run_program at 25m 18s for 120s (agent saw)
    Ran c for 2m of game time; it is still running.
    Inventory change: carrot +111, hay +109, water +24, wood +177.
    Game time: 27m 28s elapsed, 5h 32m 32s of budget remaining.
    Output:
    (none)
  8. r830m 58sRan21 lines · +8 −2 · ran 7m 00s
    def work():
        x = get_pos_x()
        if x == 1 or x == 4:
            if get_ground_type() != Grounds.Soil:
                till()
        if get_entity_type() == None or can_harvest():
            harvest()
            if x == 1:
                plant(Entities.Carrot)
            elif x == 4:
                plant(Entities.Pumpkin)
            elif x >= 2:
                plant(Entities.Bush)
    
    while True:
        n = get_world_size()
        for x in range(n):
            for y in range(n):
                work()
                move(North)
            move(East)
    Changes from the previous revision
      def work():
          x = get_pos_x()
    +     if x == 1 or x == 4:
    +         if get_ground_type() != Grounds.Soil:
    +             till()
          if get_entity_type() == None or can_harvest():
              harvest()
              if x == 1:
                  plant(Entities.Carrot)
    +         elif x == 4:
    +             plant(Entities.Pumpkin)
              elif x >= 2:
                  plant(Entities.Bush)
      
      while True:
    -     for x in range(4):
    -         for y in range(4):
    +     n = get_world_size()
    +     for x in range(n):
    +         for y in range(n):
                  work()
                  move(North)
    
    Write result the agent saw
    Saved c (21 lines).
    Game time: 31m 8s elapsed, 5h 28m 52s of budget remaining.
    run_program at 31m 08s for 120s (agent saw)
    Ran c for 2m of game time; it is still running.
    Inventory change: carrot +47, hay +58, pumpkin +17, water +24, wood +148.
    Game time: 33m 18s elapsed, 5h 26m 42s of budget remaining.
    Output:
    (none)
  9. r938m 18sRan40 lines · +27 −8 · ran 7m 20s
    def goto(tx, ty):
        n = get_world_size()
        while get_pos_x() != tx:
            move(East)
        while get_pos_y() != ty:
            move(North)
    
    def work(x):
        if x == 1 or x >= 3:
            if get_ground_type() != Grounds.Soil:
                till()
        t = get_entity_type()
        if x >= 3:
            if t == None or t == Entities.Dead_Pumpkin:
                plant(Entities.Pumpkin)
                return 0
            if can_harvest():
                return 1
            return 0
        if t == None or can_harvest():
            harvest()
            if x == 1:
                plant(Entities.Carrot)
            elif x == 2:
                plant(Entities.Bush)
        return 0
    
    while True:
        n = get_world_size()
        ripe = 0
        total = (n - 3) * n
        for x in range(n):
            for y in range(n):
                ripe += work(x)
                move(North)
            move(East)
        if ripe == total:
            goto(3, 0)
            harvest()
            goto(0, 0)
    Changes from the previous revision
    - def work():
    -     x = get_pos_x()
    -     if x == 1 or x == 4:
    + def goto(tx, ty):
    +     n = get_world_size()
    +     while get_pos_x() != tx:
    +         move(East)
    +     while get_pos_y() != ty:
    +         move(North)
    + 
    + def work(x):
    +     if x == 1 or x >= 3:
              if get_ground_type() != Grounds.Soil:
                  till()
    -     if get_entity_type() == None or can_harvest():
    +     t = get_entity_type()
    +     if x >= 3:
    +         if t == None or t == Entities.Dead_Pumpkin:
    +             plant(Entities.Pumpkin)
    +             return 0
    +         if can_harvest():
    +             return 1
    +         return 0
    +     if t == None or can_harvest():
              harvest()
              if x == 1:
                  plant(Entities.Carrot)
    -         elif x == 4:
    -             plant(Entities.Pumpkin)
    -         elif x >= 2:
    +         elif x == 2:
                  plant(Entities.Bush)
    +     return 0
      
      while True:
          n = get_world_size()
    +     ripe = 0
    +     total = (n - 3) * n
          for x in range(n):
              for y in range(n):
    -             work()
    +             ripe += work(x)
                  move(North)
              move(East)
    +     if ripe == total:
    +         goto(3, 0)
    +         harvest()
    +         goto(0, 0)
    
    Write result the agent saw
    Saved c (40 lines).
    Game time: 38m 28s elapsed, 5h 21m 32s of budget remaining.
    run_program at 38m 28s for 150s (agent saw)
    Ran c for 2m 30s of game time; it is still running.
    Inventory change: carrot +48, hay -82, pumpkin +60, water +30, wood +15.
    Game time: 41m 8s elapsed, 5h 18m 52s of budget remaining.
    Output:
    (none)
  10. r1045m 58sRan43 lines · +11 −8 · ran 6m 40s
    def goto(tx, ty):
        while get_pos_x() != tx:
            move(East)
        while get_pos_y() != ty:
            move(North)
    
    def work(x):
        if x == 0:
            if get_ground_type() == Grounds.Soil:
                till()
        elif get_ground_type() != Grounds.Soil and x != 3:
            till()
        t = get_entity_type()
        if x >= 4:
            if t == None or t == Entities.Dead_Pumpkin:
                plant(Entities.Pumpkin)
                use_item(Items.Water)
                return 0
            if can_harvest():
                return 1
            return 0
        if t == None or can_harvest():
            harvest()
            if x == 1 or x == 2:
                plant(Entities.Carrot)
                use_item(Items.Water)
            elif x == 3:
                plant(Entities.Bush)
        return 0
    
    while True:
        n = get_world_size()
        ripe = 0
        total = (n - 4) * n
        for x in range(n):
            for y in range(n):
                ripe += work(x)
                move(North)
            move(East)
        if ripe == total:
            goto(4, 0)
            harvest()
            goto(0, 0)
    Changes from the previous revision
      def goto(tx, ty):
    -     n = get_world_size()
          while get_pos_x() != tx:
              move(East)
      
      def work(x):
    -     if x == 1 or x >= 3:
    -         if get_ground_type() != Grounds.Soil:
    +     if x == 0:
    +         if get_ground_type() == Grounds.Soil:
                  till()
    +     elif get_ground_type() != Grounds.Soil and x != 3:
    +         till()
          t = get_entity_type()
    -     if x >= 3:
    +     if x >= 4:
              if t == None or t == Entities.Dead_Pumpkin:
                  plant(Entities.Pumpkin)
    +             use_item(Items.Water)
                  return 0
              if can_harvest():
          if t == None or can_harvest():
              harvest()
    -         if x == 1:
    +         if x == 1 or x == 2:
                  plant(Entities.Carrot)
    -         elif x == 2:
    +             use_item(Items.Water)
    +         elif x == 3:
                  plant(Entities.Bush)
          return 0
          n = get_world_size()
          ripe = 0
    -     total = (n - 3) * n
    +     total = (n - 4) * n
          for x in range(n):
              for y in range(n):
              move(East)
          if ripe == total:
    -         goto(3, 0)
    +         goto(4, 0)
              harvest()
              goto(0, 0)
    
    Write result the agent saw
    Saved c (43 lines).
    Game time: 46m 8s elapsed, 5h 13m 52s of budget remaining.
    run_program at 46m 08s for 180s (agent saw)
    Ran c for 3m of game time; it is still running.
    Inventory change: carrot +311, fertilizer +18, hay +144, pumpkin +61, water -204, wood -8.
    Game time: 49m 18s elapsed, 5h 10m 42s of budget remaining.
    Output:
    Warning: Didn't have the required items to plant Entities.Carrot.
    In: work
    plant(Entities.Carrot)
         ^^               
    --------------------------------------------------------------------
  11. r1152m 58sRan37 lines · +23 −29 · ran 3m 20s
    def want(x):
        if x == 1:
            return Entities.Carrot
        if x == 2:
            return Entities.Sunflower
        if x == 5:
            return Entities.Pumpkin
        if x == 0:
            return Entities.Grass
        return Entities.Bush
    
    def work(x):
        w = want(x)
        if w == Entities.Grass:
            if get_ground_type() == Grounds.Soil:
                till()
            if can_harvest():
                harvest()
            return
        if w != Entities.Bush and get_ground_type() != Grounds.Soil:
            till()
        t = get_entity_type()
        if t == w and not can_harvest():
            return
        if t != None:
            harvest()
        plant(w)
        if w != Entities.Bush:
            use_item(Items.Water)
    
    while True:
        n = get_world_size()
        for x in range(n):
            for y in range(n):
                work(x)
                move(North)
            move(East)
    Changes from the previous revision
    - def goto(tx, ty):
    -     while get_pos_x() != tx:
    -         move(East)
    -     while get_pos_y() != ty:
    -         move(North)
    + def want(x):
    +     if x == 1:
    +         return Entities.Carrot
    +     if x == 2:
    +         return Entities.Sunflower
    +     if x == 5:
    +         return Entities.Pumpkin
    +     if x == 0:
    +         return Entities.Grass
    +     return Entities.Bush
      
      def work(x):
    -     if x == 0:
    +     w = want(x)
    +     if w == Entities.Grass:
              if get_ground_type() == Grounds.Soil:
                  till()
    -     elif get_ground_type() != Grounds.Soil and x != 3:
    +         if can_harvest():
    +             harvest()
    +         return
    +     if w != Entities.Bush and get_ground_type() != Grounds.Soil:
              till()
          t = get_entity_type()
    -     if x >= 4:
    -         if t == None or t == Entities.Dead_Pumpkin:
    -             plant(Entities.Pumpkin)
    -             use_item(Items.Water)
    -             return 0
    -         if can_harvest():
    -             return 1
    -         return 0
    -     if t == None or can_harvest():
    +     if t == w and not can_harvest():
    +         return
    +     if t != None:
              harvest()
    -         if x == 1 or x == 2:
    -             plant(Entities.Carrot)
    -             use_item(Items.Water)
    -         elif x == 3:
    -             plant(Entities.Bush)
    -     return 0
    +     plant(w)
    +     if w != Entities.Bush:
    +         use_item(Items.Water)
      
      while True:
          n = get_world_size()
    -     ripe = 0
    -     total = (n - 4) * n
          for x in range(n):
              for y in range(n):
    -             ripe += work(x)
    +             work(x)
                  move(North)
              move(East)
    -     if ripe == total:
    -         goto(4, 0)
    -         harvest()
    -         goto(0, 0)
    
    Write result the agent saw
    Saved c (37 lines).
    Game time: 53m 8s elapsed, 5h 6m 52s of budget remaining.
    run_program at 53m 08s for 180s (agent saw)
    Ran c for 3m of game time; it is still running.
    Inventory change: carrot -3, fertilizer +18, hay +415, power +3.34, pumpkin +144, water -4, wood +791.
    Game time: 56m 18s elapsed, 5h 3m 42s of budget remaining.
    Output:
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: work
    use_item(Items.Water)
            ^^           
    --------------------------------------------------------------------
  12. r1256m 38sRan37 lines · +2 −2 · ran 8m 50s
    def want(x):
        if x == 1 or x == 4:
            return Entities.Carrot
        if x == 2:
            return Entities.Sunflower
        if x == 5:
            return Entities.Pumpkin
        if x == 0:
            return Entities.Grass
        return Entities.Bush
    
    def work(x):
        w = want(x)
        if w == Entities.Grass:
            if get_ground_type() == Grounds.Soil:
                till()
            if can_harvest():
                harvest()
            return
        if w != Entities.Bush and get_ground_type() != Grounds.Soil:
            till()
        t = get_entity_type()
        if t == w and not can_harvest():
            return
        if t != None:
            harvest()
        plant(w)
        if w != Entities.Bush and num_items(Items.Water) > 0:
            use_item(Items.Water)
    
    while True:
        n = get_world_size()
        for x in range(n):
            for y in range(n):
                work(x)
                move(North)
            move(East)
    Changes from the previous revision
      def want(x):
    -     if x == 1:
    +     if x == 1 or x == 4:
              return Entities.Carrot
          if x == 2:
              harvest()
          plant(w)
    -     if w != Entities.Bush:
    +     if w != Entities.Bush and num_items(Items.Water) > 0:
              use_item(Items.Water)
      
    
    Write result the agent saw
    Saved c (37 lines).
    Game time: 56m 48s elapsed, 5h 3m 12s of budget remaining.
    run_program at 56m 48s for 240s (agent saw)
    Ran c for 4m of game time; it is still running.
    Inventory change: carrot +213, fertilizer +24, hay +396, power +81.05, pumpkin +192, water -8, wood +380.
    Game time: 1h 58s elapsed, 4h 59m 2s of budget remaining.
    Output:
    (none)
  13. r131h 05mRan37 lines · +3 −3 · ran 1m 20s
    def want(x):
        if x == 1 or x == 4:
            return Entities.Carrot
        if x == 2:
            return Entities.Sunflower
        if x == 5:
            return Entities.Pumpkin
        if x == 0:
            return Entities.Grass
        return Entities.Bush
    
    def work():
        w = want(get_pos_x())
        if w == Entities.Grass:
            if get_ground_type() == Grounds.Soil:
                till()
            if can_harvest():
                harvest()
            return
        if w != Entities.Bush and get_ground_type() != Grounds.Soil:
            till()
        t = get_entity_type()
        if t == w and not can_harvest():
            return
        if t != None:
            harvest()
        plant(w)
        if w != Entities.Bush and num_items(Items.Water) > 0:
            use_item(Items.Water)
    
    while True:
        n = get_world_size()
        for x in range(n):
            for y in range(n):
                work()
                move(North)
            move(East)
    Changes from the previous revision
          return Entities.Bush
      
    - def work(x):
    -     w = want(x)
    + def work():
    +     w = want(get_pos_x())
          if w == Entities.Grass:
              if get_ground_type() == Grounds.Soil:
          for x in range(n):
              for y in range(n):
    -             work(x)
    +             work()
                  move(North)
              move(East)
    
    Write result the agent saw
    Saved c (37 lines).
    Game time: 1h 5m 58s elapsed, 4h 54m 2s of budget remaining.
    run_program at 1h 05m for 60s (agent saw)
    Ran c for 1m of game time; it is still running.
    Inventory change: carrot +224, fertilizer +6, hay +30, power +13.33, pumpkin +76, water -8, wood +38.
    Game time: 1h 7m 8s elapsed, 4h 52m 52s of budget remaining.
    Output:
    (none)
  14. r141h 07mRan37 lines · +2 −2 · ran 4m 30s
    def want(x):
        if x == 1 or x == 4 or x == 5:
            return Entities.Carrot
        if x == 2:
            return Entities.Sunflower
        if x == 7:
            return Entities.Pumpkin
        if x == 0:
            return Entities.Grass
        return Entities.Bush
    
    def work():
        w = want(get_pos_x())
        if w == Entities.Grass:
            if get_ground_type() == Grounds.Soil:
                till()
            if can_harvest():
                harvest()
            return
        if w != Entities.Bush and get_ground_type() != Grounds.Soil:
            till()
        t = get_entity_type()
        if t == w and not can_harvest():
            return
        if t != None:
            harvest()
        plant(w)
        if w != Entities.Bush and num_items(Items.Water) > 0:
            use_item(Items.Water)
    
    while True:
        n = get_world_size()
        for x in range(n):
            for y in range(n):
                work()
                move(North)
            move(East)
    Changes from the previous revision
      def want(x):
    -     if x == 1 or x == 4:
    +     if x == 1 or x == 4 or x == 5:
              return Entities.Carrot
          if x == 2:
              return Entities.Sunflower
    -     if x == 5:
    +     if x == 7:
              return Entities.Pumpkin
          if x == 0:
    
    Write result the agent saw
    Saved c (37 lines).
    Game time: 1h 7m 38s elapsed, 4h 52m 22s of budget remaining.
    run_program at 1h 07m for 240s (agent saw)
    Ran c for 4m of game time; it is still running.
    Inventory change: carrot +1904, fertilizer +24, hay -708, power +9.08, pumpkin +231, water -9, wood +276.
    Game time: 1h 11m 48s elapsed, 4h 48m 12s of budget remaining.
    Output:
    Warning: Didn't have the required items to plant Entities.Carrot.
    In: work
    plant(w)
         ^^ 
    --------------------------------------------------------------------
  15. r151h 12mRan37 lines · +2 −2 · ran 5m 20s
    def want(x):
        if x == 1:
            return Entities.Carrot
        if x == 2:
            return Entities.Sunflower
        if x == 7:
            return Entities.Pumpkin
        if x == 0 or x == 4 or x == 5:
            return Entities.Grass
        return Entities.Bush
    
    def work():
        w = want(get_pos_x())
        if w == Entities.Grass:
            if get_ground_type() == Grounds.Soil:
                till()
            if can_harvest():
                harvest()
            return
        if w != Entities.Bush and get_ground_type() != Grounds.Soil:
            till()
        t = get_entity_type()
        if t == w and not can_harvest():
            return
        if t != None:
            harvest()
        plant(w)
        if w != Entities.Bush and num_items(Items.Water) > 0:
            use_item(Items.Water)
    
    while True:
        n = get_world_size()
        for x in range(n):
            for y in range(n):
                work()
                move(North)
            move(East)
    Changes from the previous revision
      def want(x):
    -     if x == 1 or x == 4 or x == 5:
    +     if x == 1:
              return Entities.Carrot
          if x == 2:
          if x == 7:
              return Entities.Pumpkin
    -     if x == 0:
    +     if x == 0 or x == 4 or x == 5:
              return Entities.Grass
          return Entities.Bush
    
    Write result the agent saw
    Saved c (37 lines).
    Game time: 1h 12m 28s elapsed, 4h 47m 32s of budget remaining.
    run_program at 1h 12m for 300s (agent saw)
    Ran c for 5m of game time; it is still running.
    Inventory change: carrot +462, fertilizer +30, hay +2842, power +22.35, pumpkin +316, water -7, wood +2140.
    Game time: 1h 17m 38s elapsed, 4h 42m 22s of budget remaining.
    Output:
    (none)
  16. r161h 17mRan61 lines · +31 −7 · ran 13m 40s
    def goto(tx, ty):
        while get_pos_x() != tx:
            move(East)
        while get_pos_y() != ty:
            move(North)
    
    def want(x):
        if x == 1 or x == 7:
            return Entities.Carrot
        if x == 2:
            return Entities.Sunflower
        if x == 0 or x == 4 or x == 5:
            return Entities.Grass
        return Entities.Bush
    
    def work():
        x = get_pos_x()
        y = get_pos_y()
        if x >= 4 and y >= 4:
            if get_ground_type() != Grounds.Soil:
                till()
            t = get_entity_type()
            if t == None or t == Entities.Dead_Pumpkin:
                plant(Entities.Pumpkin)
                if num_items(Items.Water) > 0:
                    use_item(Items.Water)
                return 0
            if can_harvest():
                return 1
            return 0
        w = want(x)
        if w == Entities.Grass:
            if get_ground_type() == Grounds.Soil:
                till()
            if can_harvest():
                harvest()
            return 0
        if w != Entities.Bush and get_ground_type() != Grounds.Soil:
            till()
        t = get_entity_type()
        if t == w and not can_harvest():
            return 0
        if t != None:
            harvest()
        plant(w)
        if w != Entities.Bush and num_items(Items.Water) > 0:
            use_item(Items.Water)
        return 0
    
    while True:
        n = get_world_size()
        ripe = 0
        for x in range(n):
            for y in range(n):
                ripe += work()
                move(North)
            move(East)
        if ripe == (n - 4) * (n - 4):
            goto(4, 4)
            harvest()
            goto(0, 0)
    Changes from the previous revision
    + def goto(tx, ty):
    +     while get_pos_x() != tx:
    +         move(East)
    +     while get_pos_y() != ty:
    +         move(North)
    + 
      def want(x):
    -     if x == 1:
    +     if x == 1 or x == 7:
              return Entities.Carrot
          if x == 2:
              return Entities.Sunflower
    -     if x == 7:
    -         return Entities.Pumpkin
          if x == 0 or x == 4 or x == 5:
              return Entities.Grass
      
      def work():
    -     w = want(get_pos_x())
    +     x = get_pos_x()
    +     y = get_pos_y()
    +     if x >= 4 and y >= 4:
    +         if get_ground_type() != Grounds.Soil:
    +             till()
    +         t = get_entity_type()
    +         if t == None or t == Entities.Dead_Pumpkin:
    +             plant(Entities.Pumpkin)
    +             if num_items(Items.Water) > 0:
    +                 use_item(Items.Water)
    +             return 0
    +         if can_harvest():
    +             return 1
    +         return 0
    +     w = want(x)
          if w == Entities.Grass:
              if get_ground_type() == Grounds.Soil:
              if can_harvest():
                  harvest()
    -         return
    +         return 0
          if w != Entities.Bush and get_ground_type() != Grounds.Soil:
              till()
          t = get_entity_type()
          if t == w and not can_harvest():
    -         return
    +         return 0
          if t != None:
              harvest()
          if w != Entities.Bush and num_items(Items.Water) > 0:
              use_item(Items.Water)
    +     return 0
      
      while True:
          n = get_world_size()
    +     ripe = 0
          for x in range(n):
              for y in range(n):
    -             work()
    +             ripe += work()
                  move(North)
              move(East)
    +     if ripe == (n - 4) * (n - 4):
    +         goto(4, 4)
    +         harvest()
    +         goto(0, 0)
    
    Write result the agent saw
    Saved c (61 lines).
    Game time: 1h 18m 8s elapsed, 4h 41m 52s of budget remaining.
    run_program at 1h 18m for 300s (agent saw)
    Ran c for 5m of game time; it is still running.
    Inventory change: carrot +2821, fertilizer +30, hay +2380, power +23.32, pumpkin +1928, water -8, wood +1384.
    Game time: 1h 23m 18s elapsed, 4h 36m 42s of budget remaining.
    Output:
    (none)
  17. r171h 31mSaved, never run96 lines · +39 −4
    def goto(tx, ty):
        while get_pos_x() != tx:
            move(East)
        while get_pos_y() != ty:
            move(North)
    
    def sort_cactus():
        for p in range(3):
            for y in range(4):
                goto(4, y)
                for i in range(3):
                    if measure() > measure(East):
                        swap(East)
                    move(East)
        for p in range(3):
            for x in range(4, 8):
                goto(x, 0)
                for i in range(3):
                    if measure() > measure(North):
                        swap(North)
                    move(North)
    
    def want(x):
        if x == 1:
            return Entities.Carrot
        if x == 2:
            return Entities.Sunflower
        if x == 0:
            return Entities.Grass
        return Entities.Bush
    
    def work():
        x = get_pos_x()
        y = get_pos_y()
        if x >= 4 and y >= 4:
            if get_ground_type() != Grounds.Soil:
                till()
            t = get_entity_type()
            if t == None or t == Entities.Dead_Pumpkin:
                plant(Entities.Pumpkin)
                if num_items(Items.Water) > 0:
                    use_item(Items.Water)
                return 0
            if can_harvest():
                return 1
            return 0
        if x >= 4:
            if get_ground_type() != Grounds.Soil:
                till()
            if get_entity_type() == None:
                plant(Entities.Cactus)
                if num_items(Items.Water) > 0:
                    use_item(Items.Water)
                return 0
            if can_harvest():
                return 100
            return 0
        w = want(x)
        if w == Entities.Grass:
            if get_ground_type() == Grounds.Soil:
                till()
            if can_harvest():
                harvest()
            return 0
        if w != Entities.Bush and get_ground_type() != Grounds.Soil:
            till()
        t = get_entity_type()
        if t == w and not can_harvest():
            return 0
        if t != None:
            harvest()
        plant(w)
        if w != Entities.Bush and num_items(Items.Water) > 0:
            use_item(Items.Water)
        return 0
    
    while True:
        n = get_world_size()
        ripe = 0
        for x in range(n):
            for y in range(n):
                ripe += work()
                move(North)
            move(East)
        if ripe % 100 == 16:
            goto(0, 0)
            sort_cactus()
            goto(4, 0)
            harvest()
        if ripe // 100 == 16:
            goto(0, 0)
            sort_cactus()
            goto(4, 0)
            harvest()
        if ripe % 100 == 16:
            pass
    Changes from the previous revision
              move(North)
      
    + def sort_cactus():
    +     for p in range(3):
    +         for y in range(4):
    +             goto(4, y)
    +             for i in range(3):
    +                 if measure() > measure(East):
    +                     swap(East)
    +                 move(East)
    +     for p in range(3):
    +         for x in range(4, 8):
    +             goto(x, 0)
    +             for i in range(3):
    +                 if measure() > measure(North):
    +                     swap(North)
    +                 move(North)
    + 
      def want(x):
    -     if x == 1 or x == 7:
    +     if x == 1:
              return Entities.Carrot
          if x == 2:
              return Entities.Sunflower
    -     if x == 0 or x == 4 or x == 5:
    +     if x == 0:
              return Entities.Grass
          return Entities.Bush
                  return 1
              return 0
    +     if x >= 4:
    +         if get_ground_type() != Grounds.Soil:
    +             till()
    +         if get_entity_type() == None:
    +             plant(Entities.Cactus)
    +             if num_items(Items.Water) > 0:
    +                 use_item(Items.Water)
    +             return 0
    +         if can_harvest():
    +             return 100
    +         return 0
          w = want(x)
          if w == Entities.Grass:
                  move(North)
              move(East)
    -     if ripe == (n - 4) * (n - 4):
    -         goto(4, 4)
    +     if ripe % 100 == 16:
    +         goto(0, 0)
    +         sort_cactus()
    +         goto(4, 0)
              harvest()
    +     if ripe // 100 == 16:
              goto(0, 0)
    +         sort_cactus()
    +         goto(4, 0)
    +         harvest()
    +     if ripe % 100 == 16:
    +         pass
    
    Write result the agent saw
    Saved c (96 lines).
    Game time: 1h 32m 8s elapsed, 4h 27m 52s of budget remaining.
  18. r181h 32mRan92 lines · +2 −6 · ran 12s · 1 runtime error
    def goto(tx, ty):
        while get_pos_x() != tx:
            move(East)
        while get_pos_y() != ty:
            move(North)
    
    def sort_cactus():
        for p in range(3):
            for y in range(4):
                goto(4, y)
                for i in range(3):
                    if measure() > measure(East):
                        swap(East)
                    move(East)
        for p in range(3):
            for x in range(4, 8):
                goto(x, 0)
                for i in range(3):
                    if measure() > measure(North):
                        swap(North)
                    move(North)
    
    def want(x):
        if x == 1:
            return Entities.Carrot
        if x == 2:
            return Entities.Sunflower
        if x == 0:
            return Entities.Grass
        return Entities.Bush
    
    def work():
        x = get_pos_x()
        y = get_pos_y()
        if x >= 4 and y >= 4:
            if get_ground_type() != Grounds.Soil:
                till()
            t = get_entity_type()
            if t == None or t == Entities.Dead_Pumpkin:
                plant(Entities.Pumpkin)
                if num_items(Items.Water) > 0:
                    use_item(Items.Water)
                return 0
            if can_harvest():
                return 1
            return 0
        if x >= 4:
            if get_ground_type() != Grounds.Soil:
                till()
            if get_entity_type() == None:
                plant(Entities.Cactus)
                if num_items(Items.Water) > 0:
                    use_item(Items.Water)
                return 0
            if can_harvest():
                return 100
            return 0
        w = want(x)
        if w == Entities.Grass:
            if get_ground_type() == Grounds.Soil:
                till()
            if can_harvest():
                harvest()
            return 0
        if w != Entities.Bush and get_ground_type() != Grounds.Soil:
            till()
        t = get_entity_type()
        if t == w and not can_harvest():
            return 0
        if t != None:
            harvest()
        plant(w)
        if w != Entities.Bush and num_items(Items.Water) > 0:
            use_item(Items.Water)
        return 0
    
    while True:
        n = get_world_size()
        ripe = 0
        for x in range(n):
            for y in range(n):
                ripe += work()
                move(North)
            move(East)
        if ripe // 100 == 16:
            goto(0, 0)
            sort_cactus()
            goto(4, 0)
            harvest()
        if ripe % 100 == 16:
            goto(4, 4)
            harvest()
    Changes from the previous revision
                  move(North)
              move(East)
    -     if ripe % 100 == 16:
    -         goto(0, 0)
    -         sort_cactus()
    -         goto(4, 0)
    -         harvest()
          if ripe // 100 == 16:
              goto(0, 0)
              harvest()
          if ripe % 100 == 16:
    -         pass
    +         goto(4, 4)
    +         harvest()
    
    Write result the agent saw
    Saved c (92 lines).
    Game time: 1h 32m 18s elapsed, 4h 27m 42s of budget remaining.
    run_program at 1h 32m for 240s (agent saw)
    Ran c for 12s of game time; it stopped with an error: The operator > cannot be used on the operands 9 and None.
    Inventory change: carrot +32, fertilizer +2, hay +96, power +3.14, pumpkin +232, water -23, wood +96.
    Game time: 1h 32m 40s elapsed, 4h 27m 20s of budget remaining.
    Output:
    Error: The operator > cannot be used on the operands 9 and None.
    In: sort_cactus
    if measure() > measure(East):
              ^^^^^^^^^^^^^^^^^^^^
    --------------------------------------------------------------------
    Runtime error at 1h 32m (telemetry; not shown to the agent)
    The operator > cannot be used on the operands 9 and None.
  19. r191h 32mRan98 lines · +7 −1 · ran 10m 20s
    def goto(tx, ty):
        while get_pos_x() != tx:
            move(East)
        while get_pos_y() != ty:
            move(North)
    
    def sort_cactus():
        for p in range(3):
            for y in range(4):
                goto(4, y)
                for i in range(3):
                    if measure() > measure(East):
                        swap(East)
                    move(East)
        for p in range(3):
            for x in range(4, 8):
                goto(x, 0)
                for i in range(3):
                    if measure() > measure(North):
                        swap(North)
                    move(North)
    
    def want(x):
        if x == 1:
            return Entities.Carrot
        if x == 2:
            return Entities.Sunflower
        if x == 0:
            return Entities.Grass
        return Entities.Bush
    
    def work():
        x = get_pos_x()
        y = get_pos_y()
        if x >= 4 and y >= 4:
            if get_ground_type() != Grounds.Soil:
                till()
            t = get_entity_type()
            if t != Entities.Pumpkin and t != None and t != Entities.Dead_Pumpkin:
                harvest()
                t = None
            if t == None or t == Entities.Dead_Pumpkin:
                plant(Entities.Pumpkin)
                if num_items(Items.Water) > 0:
                    use_item(Items.Water)
                return 0
            if can_harvest():
                return 1
            return 0
        if x >= 4:
            if get_ground_type() != Grounds.Soil:
                till()
            t = get_entity_type()
            if t != Entities.Cactus:
                if t != None:
                    harvest()
                plant(Entities.Cactus)
                if num_items(Items.Water) > 0:
                    use_item(Items.Water)
                return 0
            if can_harvest():
                return 100
            return 0
        w = want(x)
        if w == Entities.Grass:
            if get_ground_type() == Grounds.Soil:
                till()
            if can_harvest():
                harvest()
            return 0
        if w != Entities.Bush and get_ground_type() != Grounds.Soil:
            till()
        t = get_entity_type()
        if t == w and not can_harvest():
            return 0
        if t != None:
            harvest()
        plant(w)
        if w != Entities.Bush and num_items(Items.Water) > 0:
            use_item(Items.Water)
        return 0
    
    while True:
        n = get_world_size()
        ripe = 0
        for x in range(n):
            for y in range(n):
                ripe += work()
                move(North)
            move(East)
        if ripe // 100 == 16:
            goto(0, 0)
            sort_cactus()
            goto(4, 0)
            harvest()
        if ripe % 100 == 16:
            goto(4, 4)
            harvest()
    Changes from the previous revision
                  till()
              t = get_entity_type()
    +         if t != Entities.Pumpkin and t != None and t != Entities.Dead_Pumpkin:
    +             harvest()
    +             t = None
              if t == None or t == Entities.Dead_Pumpkin:
                  plant(Entities.Pumpkin)
              if get_ground_type() != Grounds.Soil:
                  till()
    -         if get_entity_type() == None:
    +         t = get_entity_type()
    +         if t != Entities.Cactus:
    +             if t != None:
    +                 harvest()
                  plant(Entities.Cactus)
                  if num_items(Items.Water) > 0:
    
    Write result the agent saw
    Saved c (98 lines).
    Game time: 1h 33m elapsed, 4h 27m of budget remaining.
    run_program at 1h 33m for 240s (agent saw)
    Ran c for 4m of game time; it is still running.
    Inventory change: cactus +3072, carrot +501, fertilizer +24, hay +1464, power -51.83, pumpkin +1400, water -24, wood +1016.
    Game time: 1h 37m 10s elapsed, 4h 22m 50s of budget remaining.
    Output:
    (none)
  20. r201h 43mRan100 lines · +2 −0 · ran 5m 50s
    def goto(tx, ty):
        while get_pos_x() != tx:
            move(East)
        while get_pos_y() != ty:
            move(North)
    
    def sort_cactus():
        for p in range(3):
            for y in range(4):
                goto(4, y)
                for i in range(3):
                    if measure() > measure(East):
                        swap(East)
                    move(East)
        for p in range(3):
            for x in range(4, 8):
                goto(x, 0)
                for i in range(3):
                    if measure() > measure(North):
                        swap(North)
                    move(North)
    
    def want(x):
        if x == 1:
            return Entities.Carrot
        if x == 2:
            return Entities.Sunflower
        if x == 0:
            return Entities.Grass
        return Entities.Bush
    
    def work():
        x = get_pos_x()
        y = get_pos_y()
        if x >= 4 and y >= 4:
            if get_ground_type() != Grounds.Soil:
                till()
            t = get_entity_type()
            if t != Entities.Pumpkin and t != None and t != Entities.Dead_Pumpkin:
                harvest()
                t = None
            if t == None or t == Entities.Dead_Pumpkin:
                plant(Entities.Pumpkin)
                if num_items(Items.Water) > 0:
                    use_item(Items.Water)
                return 0
            if can_harvest():
                return 1
            return 0
        if x >= 4:
            if get_ground_type() != Grounds.Soil:
                till()
            t = get_entity_type()
            if t != Entities.Cactus:
                if t != None:
                    harvest()
                plant(Entities.Cactus)
                if num_items(Items.Water) > 0:
                    use_item(Items.Water)
                return 0
            if can_harvest():
                return 100
            return 0
        w = want(x)
        if w == Entities.Grass:
            if get_ground_type() == Grounds.Soil:
                till()
            if num_items(Items.Fertilizer) > 0:
                use_item(Items.Fertilizer)
            if can_harvest():
                harvest()
            return 0
        if w != Entities.Bush and get_ground_type() != Grounds.Soil:
            till()
        t = get_entity_type()
        if t == w and not can_harvest():
            return 0
        if t != None:
            harvest()
        plant(w)
        if w != Entities.Bush and num_items(Items.Water) > 0:
            use_item(Items.Water)
        return 0
    
    while True:
        n = get_world_size()
        ripe = 0
        for x in range(n):
            for y in range(n):
                ripe += work()
                move(North)
            move(East)
        if ripe // 100 == 16:
            goto(0, 0)
            sort_cactus()
            goto(4, 0)
            harvest()
        if ripe % 100 == 16:
            goto(4, 4)
            harvest()
    Changes from the previous revision
              if get_ground_type() == Grounds.Soil:
                  till()
    +         if num_items(Items.Fertilizer) > 0:
    +             use_item(Items.Fertilizer)
              if can_harvest():
                  harvest()
    
    Write result the agent saw
    Saved c (100 lines).
    Game time: 1h 43m 40s elapsed, 4h 16m 20s of budget remaining.
    run_program at 1h 43m for 300s (agent saw)
    Ran c for 5m of game time; it is still running.
    Inventory change: cactus +3840, carrot +1353, fertilizer -180, hay +652, power -80.58, pumpkin +1568, water -15, weird_substance +1608, wood +1860.
    Game time: 1h 48m 50s elapsed, 4h 11m 10s of budget remaining.
    Output:
    (none)
  21. r211h 57mRan98 lines · +3 −5 · ran 5m 10s
    def goto(tx, ty):
        while get_pos_x() != tx:
            move(East)
        while get_pos_y() != ty:
            move(North)
    
    def sort_cactus():
        for p in range(3):
            for y in range(4):
                goto(4, y)
                for i in range(3):
                    if measure() > measure(East):
                        swap(East)
                    move(East)
        for p in range(3):
            for x in range(4, 8):
                goto(x, 0)
                for i in range(3):
                    if measure() > measure(North):
                        swap(North)
                    move(North)
    
    def want(x):
        if x == 1:
            return Entities.Carrot
        if x == 2:
            return Entities.Sunflower
        return Entities.Grass
    
    def work():
        x = get_pos_x()
        y = get_pos_y()
        if x >= 4 and y >= 4:
            if get_ground_type() != Grounds.Soil:
                till()
            t = get_entity_type()
            if t != Entities.Pumpkin and t != None and t != Entities.Dead_Pumpkin:
                harvest()
                t = None
            if t == None or t == Entities.Dead_Pumpkin:
                plant(Entities.Pumpkin)
                if num_items(Items.Water) > 0:
                    use_item(Items.Water)
                return 0
            if can_harvest():
                return 1
            return 0
        if x >= 4:
            if get_ground_type() != Grounds.Soil:
                till()
            t = get_entity_type()
            if t != Entities.Cactus:
                if t != None:
                    harvest()
                plant(Entities.Cactus)
                if num_items(Items.Water) > 0:
                    use_item(Items.Water)
                return 0
            if can_harvest():
                return 100
            return 0
        w = want(x)
        if w == Entities.Grass:
            if get_ground_type() == Grounds.Soil:
                till()
            if num_items(Items.Fertilizer) > 0:
                use_item(Items.Fertilizer)
            if can_harvest():
                harvest()
            return 0
        if get_ground_type() != Grounds.Soil:
            till()
        t = get_entity_type()
        if t == w and not can_harvest():
            return 0
        if t != None:
            harvest()
        plant(w)
        if num_items(Items.Water) > 0:
            use_item(Items.Water)
        return 0
    
    while True:
        n = get_world_size()
        ripe = 0
        for x in range(n):
            for y in range(n):
                ripe += work()
                move(North)
            move(East)
        if ripe // 100 == 16:
            goto(0, 0)
            sort_cactus()
            goto(4, 0)
            harvest()
        if ripe % 100 == 16:
            goto(4, 4)
            harvest()
    Changes from the previous revision
          if x == 2:
              return Entities.Sunflower
    -     if x == 0:
    -         return Entities.Grass
    -     return Entities.Bush
    +     return Entities.Grass
      
      def work():
                  harvest()
              return 0
    -     if w != Entities.Bush and get_ground_type() != Grounds.Soil:
    +     if get_ground_type() != Grounds.Soil:
              till()
          t = get_entity_type()
              harvest()
          plant(w)
    -     if w != Entities.Bush and num_items(Items.Water) > 0:
    +     if num_items(Items.Water) > 0:
              use_item(Items.Water)
          return 0
    
    Write result the agent saw
    Saved c (98 lines).
    Game time: 1h 57m 21s elapsed, 4h 2m 39s of budget remaining.
    run_program at 1h 57m for 300s (agent saw)
    Ran c for 5m of game time; it is still running.
    Inventory change: cactus +2560, carrot +888, fertilizer -235, hay +1472, power +1.80, pumpkin +928, water -373, weird_substance +1576, wood -704.
    Game time: 2h 2m 31s elapsed, 3h 57m 29s of budget remaining.
    Output:
    (none)
init.py2 writes · 2 ran · first at 15m 15s
  1. r115m 15sRan6 lines · ran 1s
    move(East)
    till()
    move(North)
    till()
    move(North)
    till()
    Write result the agent saw
    Saved init (6 lines).
    Game time: 15m 25s elapsed, 5h 44m 35s of budget remaining.
    run_program at 15m 35s for 10s (agent saw)
    Ran init for 1s of game time; it finished.
    Inventory change: no change.
    Game time: 15m 46s elapsed, 5h 44m 14s of budget remaining.
    Output:
    (none)
  2. r219m 57sRanFinal10 lines · +4 −0 · ran 1s
    move(East)
    till()
    move(North)
    till()
    move(North)
    till()
    move(North)
    till()
    move(North)
    move(West)
    Changes from the previous revision
      move(North)
      till()
    + move(North)
    + till()
    + move(North)
    + move(West)
    
    Write result the agent saw
    Saved init (10 lines).
    Game time: 20m 7s elapsed, 5h 39m 53s of budget remaining.
    run_program at 20m 17s for 5s (agent saw)
    Ran init for 2s of game time; it finished.
    Inventory change: no change.
    Game time: 20m 28s elapsed, 5h 39m 32s of budget remaining.
    Output:
    (none)
fix.py1 write · 1 ran · first at 15m 46s
  1. r115m 46sRanFinal2 lines · ran 0s
    move(North)
    move(West)
    Write result the agent saw
    Saved fix (2 lines).
    Game time: 15m 56s elapsed, 5h 44m 4s of budget remaining.
    run_program at 15m 56s for 3s (agent saw)
    Ran fix for 1s of game time; it finished.
    Inventory change: no change.
    Game time: 16m 7s elapsed, 5h 43m 53s of budget remaining.
    Output:
    (none)
maze.py1 write · 1 ran · first at 1h 49m
  1. r11h 49mRan17 lines · ran 30m 24s
    def solve():
        dirs = [North, East, South, West]
        d = 0
        while get_entity_type() != Entities.Treasure:
            for k in [1, 0, 3, 2]:
                nd = (d + k) % 4
                if move(dirs[nd]):
                    d = nd
                    break
        harvest()
    
    while True:
        if get_entity_type() != None:
            harvest()
        plant(Entities.Bush)
        use_item(Items.Weird_Substance, get_world_size() * 2**(num_unlocked(Unlocks.Mazes) - 1))
        solve()
    Write result the agent saw
    Saved maze (17 lines).
    Game time: 1h 49m 30s elapsed, 4h 10m 30s of budget remaining.
    run_program at 1h 49m for 60s (agent saw)
    Ran maze for 1m of game time; it is still running.
    Inventory change: cactus +1, fertilizer +12, gold +1344, power -47.65, water +48, weird_substance -176.
    Game time: 1h 50m 40s elapsed, 4h 9m 20s of budget remaining.
    Output:
    (none)
    run_program at 2h 02m for 100s (agent saw)
    Ran maze for 1m 40s of game time; it is still running.
    Inventory change: fertilizer +20, gold +1664, hay +8, power -6.64, water +80, weird_substance -216.
    Game time: 2h 4m 21s elapsed, 3h 55m 39s of budget remaining.
    Output:
    (none)
    run_program at 2h 51m for 120s (agent saw)
    Ran maze for 2m of game time; it is still running.
    Inventory change: cactus +7688, fertilizer +48, gold +4096, power -12.27, water +192, weird_substance -288.
    Game time: 2h 53m 48s elapsed, 3h 6m 12s of budget remaining.
    Output:
    (none)
farm.py15 writes · 14 ran · first at 2h 05m
  1. r12h 05mRan117 lines · ran 6m 40s
    def goto(tx, ty):
        while get_pos_x() != tx:
            move(East)
        while get_pos_y() != ty:
            move(North)
    
    def sort_cactus():
        for p in range(3):
            for y in range(4):
                goto(4, y)
                for i in range(3):
                    if measure() > measure(East):
                        swap(East)
                    move(East)
        for p in range(3):
            for x in range(4, 8):
                goto(x, 0)
                for i in range(3):
                    if measure() > measure(North):
                        swap(North)
                    move(North)
    
    def water():
        if num_items(Items.Water) > 0:
            use_item(Items.Water)
    
    def cactus_task():
        goto(4, 0)
        while True:
            ripe = 0
            for x in range(4):
                for y in range(4):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Cactus:
                        if t != None:
                            harvest()
                        plant(Entities.Cactus)
                        water()
                    elif can_harvest():
                        ripe += 1
                    move(North)
                move(East)
            goto(4, 0)
            if ripe == 16:
                sort_cactus()
                goto(4, 0)
                harvest()
    
    def pumpkin_task():
        goto(4, 4)
        while True:
            ripe = 0
            for x in range(4):
                for y in range(4):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Pumpkin:
                        if t != None and t != Entities.Dead_Pumpkin:
                            harvest()
                        plant(Entities.Pumpkin)
                        water()
                    elif can_harvest():
                        ripe += 1
                    move(North)
                move(East)
            goto(4, 4)
            if ripe == 16:
                harvest()
    
    def grass_task():
        goto(0, 0)
        while True:
            for x in [0, 3]:
                goto(x, 0)
                for y in range(8):
                    if get_ground_type() == Grounds.Soil:
                        till()
                    if num_items(Items.Fertilizer) > 0:
                        use_item(Items.Fertilizer)
                    if can_harvest():
                        harvest()
                    move(North)
    
    def crop_task():
        goto(1, 0)
        while True:
            for x in [1, 2]:
                goto(x, 0)
                if x == 1:
                    p = Entities.Carrot
                else:
                    p = Entities.Sunflower
                for y in range(8):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != p:
                        if t != None:
                            harvest()
                        plant(p)
                        water()
                    elif can_harvest():
                        harvest()
                        plant(p)
                        water()
                    move(North)
    
    goto(4, 0)
    spawn_drone(cactus_task)
    goto(4, 4)
    spawn_drone(pumpkin_task)
    goto(0, 0)
    spawn_drone(crop_task)
    grass_task()
    Write result the agent saw
    Saved farm (117 lines).
    Game time: 2h 5m 47s elapsed, 3h 54m 13s of budget remaining.
    run_program at 2h 05m for 120s (agent saw)
    Ran farm for 2m of game time; it is still running.
    Inventory change: fertilizer +24, water +96.
    Game time: 2h 7m 57s elapsed, 3h 52m 3s of budget remaining.
    Output:
    (none)
    run_program at 2h 08m for 240s (agent saw)
    Ran farm for 4m of game time; it is still running.
    Inventory change: cactus +336, carrot +5693, fertilizer -73, hay +25348, power +0.28, pumpkin +208, water -293, weird_substance +556, wood -3456.
    Game time: 2h 12m 47s elapsed, 3h 47m 13s of budget remaining.
    Output:
    Warning: Tried to swap Entities.Pumpkin, which cannot be swapped.
    In: cactus_task <- sort_cactus
    swap(East)
        ^^    
    --------------------------------------------------------------------
    Warning: Tried to swap Entities.Pumpkin, which cannot be swapped.
    In: cactus_task <- sort_cactus
    swap(North)
        ^^     
    --------------------------------------------------------------------
  2. r22h 12mRan116 lines · +23 −24 · ran 5m 20s
    def goto(tx, ty):
        while get_pos_x() != tx:
            move(East)
        while get_pos_y() != ty:
            move(North)
    
    def sort_cactus():
        for p in range(3):
            for y in range(4):
                goto(4, y)
                for i in range(3):
                    if measure() > measure(East):
                        swap(East)
                    move(East)
        for p in range(3):
            for x in range(4, 8):
                goto(x, 0)
                for i in range(3):
                    if measure() > measure(North):
                        swap(North)
                    move(North)
    
    def water():
        if num_items(Items.Water) > 0:
            use_item(Items.Water)
    
    def cactus_task():
        while True:
            ripe = 0
            for x in range(4, 8):
                goto(x, 0)
                for y in range(4):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Cactus:
                        if t != None:
                            harvest()
                        plant(Entities.Cactus)
                        water()
                    elif can_harvest():
                        ripe += 1
                    move(North)
            goto(4, 0)
            if ripe == 16:
                sort_cactus()
                goto(4, 0)
                harvest()
    
    def pumpkin_task():
        while True:
            ripe = 0
            for x in range(4, 8):
                goto(x, 4)
                for y in range(4):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Pumpkin:
                        if t != None and t != Entities.Dead_Pumpkin:
                            harvest()
                        plant(Entities.Pumpkin)
                        water()
                    elif can_harvest():
                        ripe += 1
                    move(North)
            goto(4, 4)
            if ripe == 16:
                harvest()
    
    def grass_task():
        while True:
            goto(0, 0)
            for y in range(8):
                if get_ground_type() == Grounds.Soil:
                    till()
                if num_items(Items.Fertilizer) > 0:
                    use_item(Items.Fertilizer)
                if can_harvest():
                    harvest()
                move(North)
    
    def crop_task():
        while True:
            for x in [1, 2, 3]:
                goto(x, 0)
                if x == 1:
                    p = Entities.Carrot
                elif x == 2:
                    p = Entities.Sunflower
                else:
                    p = Entities.Bush
                for y in range(8):
                    if p != Entities.Bush and get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != p:
                        if t != None:
                            harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    elif can_harvest():
                        harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    move(North)
    
    goto(4, 0)
    spawn_drone(cactus_task)
    goto(4, 4)
    spawn_drone(pumpkin_task)
    goto(1, 0)
    spawn_drone(crop_task)
    grass_task()
    Changes from the previous revision
      
      def cactus_task():
    -     goto(4, 0)
          while True:
              ripe = 0
    -         for x in range(4):
    +         for x in range(4, 8):
    +             goto(x, 0)
                  for y in range(4):
                      if get_ground_type() != Grounds.Soil:
                          ripe += 1
                      move(North)
    -             move(East)
              goto(4, 0)
              if ripe == 16:
      
      def pumpkin_task():
    -     goto(4, 4)
          while True:
              ripe = 0
    -         for x in range(4):
    +         for x in range(4, 8):
    +             goto(x, 4)
                  for y in range(4):
                      if get_ground_type() != Grounds.Soil:
                          ripe += 1
                      move(North)
    -             move(East)
              goto(4, 4)
              if ripe == 16:
      
      def grass_task():
    -     goto(0, 0)
          while True:
    -         for x in [0, 3]:
    -             goto(x, 0)
    -             for y in range(8):
    -                 if get_ground_type() == Grounds.Soil:
    -                     till()
    -                 if num_items(Items.Fertilizer) > 0:
    -                     use_item(Items.Fertilizer)
    -                 if can_harvest():
    -                     harvest()
    -                 move(North)
    +         goto(0, 0)
    +         for y in range(8):
    +             if get_ground_type() == Grounds.Soil:
    +                 till()
    +             if num_items(Items.Fertilizer) > 0:
    +                 use_item(Items.Fertilizer)
    +             if can_harvest():
    +                 harvest()
    +             move(North)
      
      def crop_task():
    -     goto(1, 0)
          while True:
    -         for x in [1, 2]:
    +         for x in [1, 2, 3]:
                  goto(x, 0)
                  if x == 1:
                      p = Entities.Carrot
    -             else:
    +             elif x == 2:
                      p = Entities.Sunflower
    +             else:
    +                 p = Entities.Bush
                  for y in range(8):
    -                 if get_ground_type() != Grounds.Soil:
    +                 if p != Entities.Bush and get_ground_type() != Grounds.Soil:
                          till()
                      t = get_entity_type()
                              harvest()
                          plant(p)
    -                     water()
    +                     if p != Entities.Bush:
    +                         water()
                      elif can_harvest():
                          harvest()
                          plant(p)
    -                     water()
    +                     if p != Entities.Bush:
    +                         water()
                      move(North)
      
      goto(4, 4)
      spawn_drone(pumpkin_task)
    - goto(0, 0)
    + goto(1, 0)
      spawn_drone(crop_task)
      grass_task()
    
    Write result the agent saw
    Saved farm (116 lines).
    Game time: 2h 13m 7s elapsed, 3h 46m 53s of budget remaining.
    run_program at 2h 13m for 300s (agent saw)
    Ran farm for 5m of game time; it is still running.
    Inventory change: cactus +4884, carrot +2077, fertilizer -6, hay +43568, power +4.71, pumpkin +8624, water -25, weird_substance +372, wood +1188.
    Game time: 2h 18m 28s elapsed, 3h 41m 32s of budget remaining.
    Output:
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: pumpkin_task <- water
    use_item(Items.Water)
            ^^           
    --------------------------------------------------------------------
  3. r32h 18mRan120 lines · +37 −33 · ran 5m 40s
    N = 12
    H = 6
    
    def goto(tx, ty):
        while get_pos_x() != tx:
            move(East)
        while get_pos_y() != ty:
            move(North)
    
    def sort_cactus():
        for p in range(H - 1):
            for y in range(H):
                goto(H, y)
                for i in range(H - 1):
                    if measure() > measure(East):
                        swap(East)
                    move(East)
        for p in range(H - 1):
            for x in range(H, N):
                goto(x, 0)
                for i in range(H - 1):
                    if measure() > measure(North):
                        swap(North)
                    move(North)
    
    def water():
        if num_items(Items.Water) > 0:
            use_item(Items.Water)
    
    def cactus_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, 0)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Cactus:
                        if t != None:
                            harvest()
                        plant(Entities.Cactus)
                        water()
                    elif can_harvest():
                        ripe += 1
                    move(North)
            goto(H, 0)
            if ripe == H * H:
                sort_cactus()
                goto(H, 0)
                harvest()
    
    def pumpkin_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, H)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Pumpkin:
                        if t != None and t != Entities.Dead_Pumpkin:
                            harvest()
                        plant(Entities.Pumpkin)
                        water()
                    elif can_harvest():
                        ripe += 1
                    move(North)
            goto(H, H)
            if ripe == H * H:
                harvest()
    
    def grass_task():
        while True:
            for x in [0, 1, 5]:
                goto(x, 0)
                for y in range(N):
                    if get_ground_type() == Grounds.Soil:
                        till()
                    if num_items(Items.Fertilizer) > 0:
                        use_item(Items.Fertilizer)
                    if can_harvest():
                        harvest()
                    move(North)
    
    def crop_task():
        while True:
            for x in [2, 3, 4]:
                goto(x, 0)
                if x == 2:
                    p = Entities.Carrot
                elif x == 3:
                    p = Entities.Sunflower
                else:
                    p = Entities.Bush
                for y in range(N):
                    if p != Entities.Bush and get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != p:
                        if t != None:
                            harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    elif can_harvest():
                        harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    move(North)
    
    goto(H, 0)
    spawn_drone(cactus_task)
    goto(H, H)
    spawn_drone(pumpkin_task)
    goto(2, 0)
    spawn_drone(crop_task)
    grass_task()
    Changes from the previous revision
    + N = 12
    + H = 6
    + 
      def goto(tx, ty):
          while get_pos_x() != tx:
      
      def sort_cactus():
    -     for p in range(3):
    -         for y in range(4):
    -             goto(4, y)
    -             for i in range(3):
    +     for p in range(H - 1):
    +         for y in range(H):
    +             goto(H, y)
    +             for i in range(H - 1):
                      if measure() > measure(East):
                          swap(East)
                      move(East)
    -     for p in range(3):
    -         for x in range(4, 8):
    +     for p in range(H - 1):
    +         for x in range(H, N):
                  goto(x, 0)
    -             for i in range(3):
    +             for i in range(H - 1):
                      if measure() > measure(North):
                          swap(North)
          while True:
              ripe = 0
    -         for x in range(4, 8):
    +         for x in range(H, N):
                  goto(x, 0)
    -             for y in range(4):
    +             for y in range(H):
                      if get_ground_type() != Grounds.Soil:
                          till()
                          ripe += 1
                      move(North)
    -         goto(4, 0)
    -         if ripe == 16:
    +         goto(H, 0)
    +         if ripe == H * H:
                  sort_cactus()
    -             goto(4, 0)
    +             goto(H, 0)
                  harvest()
      
          while True:
              ripe = 0
    -         for x in range(4, 8):
    -             goto(x, 4)
    -             for y in range(4):
    +         for x in range(H, N):
    +             goto(x, H)
    +             for y in range(H):
                      if get_ground_type() != Grounds.Soil:
                          till()
                          ripe += 1
                      move(North)
    -         goto(4, 4)
    -         if ripe == 16:
    +         goto(H, H)
    +         if ripe == H * H:
                  harvest()
      
      def grass_task():
          while True:
    -         goto(0, 0)
    -         for y in range(8):
    -             if get_ground_type() == Grounds.Soil:
    -                 till()
    -             if num_items(Items.Fertilizer) > 0:
    -                 use_item(Items.Fertilizer)
    -             if can_harvest():
    -                 harvest()
    -             move(North)
    +         for x in [0, 1, 5]:
    +             goto(x, 0)
    +             for y in range(N):
    +                 if get_ground_type() == Grounds.Soil:
    +                     till()
    +                 if num_items(Items.Fertilizer) > 0:
    +                     use_item(Items.Fertilizer)
    +                 if can_harvest():
    +                     harvest()
    +                 move(North)
      
      def crop_task():
          while True:
    -         for x in [1, 2, 3]:
    +         for x in [2, 3, 4]:
                  goto(x, 0)
    -             if x == 1:
    +             if x == 2:
                      p = Entities.Carrot
    -             elif x == 2:
    +             elif x == 3:
                      p = Entities.Sunflower
                  else:
                      p = Entities.Bush
    -             for y in range(8):
    +             for y in range(N):
                      if p != Entities.Bush and get_ground_type() != Grounds.Soil:
                          till()
                      move(North)
      
    - goto(4, 0)
    + goto(H, 0)
      spawn_drone(cactus_task)
    - goto(4, 4)
    + goto(H, H)
      spawn_drone(pumpkin_task)
    - goto(1, 0)
    + goto(2, 0)
      spawn_drone(crop_task)
      grass_task()
    
    Write result the agent saw
    Saved farm (120 lines).
    Game time: 2h 18m 58s elapsed, 3h 41m 2s of budget remaining.
    run_program at 2h 18m for 300s (agent saw)
    Ran farm for 5m of game time; it is still running.
    Inventory change: cactus +9078, carrot +937, fertilizer -4, hay +42320, power +127.51, pumpkin +37480, water -16, weird_substance +364, wood +16180.
    Game time: 2h 24m 8s elapsed, 3h 35m 52s of budget remaining.
    Output:
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: cactus_task <- water
    use_item(Items.Water)
            ^^           
    --------------------------------------------------------------------
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: pumpkin_task <- water
    use_item(Items.Water)
            ^^           
    --------------------------------------------------------------------
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: crop_task <- water
    use_item(Items.Water)
            ^^           
    --------------------------------------------------------------------
  4. r42h 25mRan125 lines · +21 −16 · ran 51s · 1 runtime error
    N = 12
    H = 6
    
    def goto(tx, ty):
        while get_pos_x() != tx:
            move(East)
        while get_pos_y() != ty:
            move(North)
    
    def sort_cactus():
        for p in range(H - 1):
            for y in range(H):
                goto(H, y)
                for i in range(H - 1):
                    if measure() > measure(East):
                        swap(East)
                    move(East)
        for p in range(H - 1):
            for x in range(H, N):
                goto(x, 0)
                for i in range(H - 1):
                    if measure() > measure(North):
                        swap(North)
                    move(North)
    
    def water():
        if num_items(Items.Water) > 0:
            use_item(Items.Water)
    
    def cactus_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, 0)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Cactus:
                        if t != None:
                            harvest()
                        plant(Entities.Cactus)
                        water()
                    elif can_harvest():
                        ripe += 1
                    move(North)
            goto(H, 0)
            if ripe == H * H:
                sort_cactus()
                goto(H, 0)
                harvest()
    
    def pumpkin_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, H)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Pumpkin:
                        if t != None and t != Entities.Dead_Pumpkin:
                            harvest()
                        plant(Entities.Pumpkin)
                        water()
                    elif can_harvest():
                        ripe += 1
                    move(North)
            goto(H, H)
            if ripe == H * H:
                harvest()
    
    def crop_task():
        while True:
            for x in [2, 3, 4, 5]:
                goto(x, 0)
                if x == 2 or x == 5:
                    p = Entities.Carrot
                elif x == 3:
                    p = Entities.Sunflower
                else:
                    p = Entities.Bush
                for y in range(N):
                    if p != Entities.Bush and get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != p:
                        if t != None:
                            harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    elif can_harvest():
                        harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    move(North)
    
    def dino(cycles):
        goto(0, 0)
        for x in range(2):
            goto(x, 0)
            for y in range(N):
                harvest()
                move(North)
        goto(0, 0)
        change_hat(Hats.Dinosaur_Hat)
        for c in range(cycles):
            for i in range(N - 1):
                move(North)
            move(East)
            for i in range(N - 1):
                move(South)
            move(West)
        change_hat(Hats.Green_Hat)
    
    goto(H, 0)
    spawn_drone(cactus_task)
    goto(H, H)
    spawn_drone(pumpkin_task)
    goto(2, 0)
    spawn_drone(crop_task)
    dino(30)
    Changes from the previous revision
                  harvest()
      
    - def grass_task():
    -     while True:
    -         for x in [0, 1, 5]:
    -             goto(x, 0)
    -             for y in range(N):
    -                 if get_ground_type() == Grounds.Soil:
    -                     till()
    -                 if num_items(Items.Fertilizer) > 0:
    -                     use_item(Items.Fertilizer)
    -                 if can_harvest():
    -                     harvest()
    -                 move(North)
    - 
      def crop_task():
          while True:
    -         for x in [2, 3, 4]:
    +         for x in [2, 3, 4, 5]:
                  goto(x, 0)
    -             if x == 2:
    +             if x == 2 or x == 5:
                      p = Entities.Carrot
                  elif x == 3:
                      move(North)
      
    + def dino(cycles):
    +     goto(0, 0)
    +     for x in range(2):
    +         goto(x, 0)
    +         for y in range(N):
    +             harvest()
    +             move(North)
    +     goto(0, 0)
    +     change_hat(Hats.Dinosaur_Hat)
    +     for c in range(cycles):
    +         for i in range(N - 1):
    +             move(North)
    +         move(East)
    +         for i in range(N - 1):
    +             move(South)
    +         move(West)
    +     change_hat(Hats.Green_Hat)
    + 
      goto(H, 0)
      spawn_drone(cactus_task)
      goto(2, 0)
      spawn_drone(crop_task)
    - grass_task()
    + dino(30)
    
    Write result the agent saw
    Saved farm (125 lines).
    Game time: 2h 25m 18s elapsed, 3h 34m 42s of budget remaining.
    run_program at 2h 25m for 60s (agent saw)
    Ran farm for 51s of game time; it stopped with an error: Hats.Green_Hat must be unlocked before this can be used.
    Inventory change: cactus +2588, carrot +908, fertilizer +10, hay -1368, power +9.35, pumpkin +5040, water -64, wood +2184.
    Game time: 2h 26m 19s elapsed, 3h 33m 41s of budget remaining.
    Output:
    Error: Hats.Green_Hat must be unlocked before this can be used.
    In: dino
    change_hat(Hats.Green_Hat)
              ^^              
    --------------------------------------------------------------------
    Runtime error at 2h 26m (telemetry; not shown to the agent)
    Hats.Green_Hat must be unlocked before this can be used.
  5. r52h 30mRan123 lines · +11 −13 · ran 6m 20s
    N = 12
    H = 6
    
    def goto(tx, ty):
        while get_pos_x() != tx:
            move(East)
        while get_pos_y() != ty:
            move(North)
    
    def sort_cactus():
        for p in range(H - 1):
            for y in range(H):
                goto(H, y)
                for i in range(H - 1):
                    if measure() > measure(East):
                        swap(East)
                    move(East)
        for p in range(H - 1):
            for x in range(H, N):
                goto(x, 0)
                for i in range(H - 1):
                    if measure() > measure(North):
                        swap(North)
                    move(North)
    
    def water():
        if num_items(Items.Water) > 0:
            use_item(Items.Water)
    
    def cactus_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, 0)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Cactus:
                        if t != None:
                            harvest()
                        plant(Entities.Cactus)
                        water()
                    elif can_harvest():
                        ripe += 1
                    move(North)
            goto(H, 0)
            if ripe == H * H:
                sort_cactus()
                goto(H, 0)
                harvest()
    
    def pumpkin_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, H)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Pumpkin:
                        if t != None and t != Entities.Dead_Pumpkin:
                            harvest()
                        plant(Entities.Pumpkin)
                        water()
                    elif can_harvest():
                        ripe += 1
                    move(North)
            goto(H, H)
            if ripe == H * H:
                harvest()
    
    def crop_task():
        while True:
            for x in [2, 3, 4, 5]:
                goto(x, 0)
                if x == 2 or x == 5:
                    p = Entities.Carrot
                elif x == 3:
                    p = Entities.Sunflower
                else:
                    p = Entities.Bush
                for y in range(N):
                    if p != Entities.Bush and get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != p:
                        if t != None:
                            harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    elif can_harvest():
                        harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    move(North)
    
    def dino_task():
        change_hat(Hats.Dinosaur_Hat)
        for c in range(80):
            for i in range(N - 1):
                move(North)
            move(East)
            for i in range(N - 1):
                move(South)
            move(West)
    
    goto(H, 0)
    spawn_drone(cactus_task)
    goto(H, H)
    spawn_drone(pumpkin_task)
    goto(0, 0)
    for x in range(2):
        goto(x, 0)
        for y in range(N):
            harvest()
            move(North)
    goto(0, 0)
    spawn_drone(dino_task)
    crop_task()
    Changes from the previous revision
                      move(North)
      
    - def dino(cycles):
    -     goto(0, 0)
    -     for x in range(2):
    -         goto(x, 0)
    -         for y in range(N):
    -             harvest()
    -             move(North)
    -     goto(0, 0)
    + def dino_task():
          change_hat(Hats.Dinosaur_Hat)
    -     for c in range(cycles):
    +     for c in range(80):
              for i in range(N - 1):
                  move(North)
                  move(South)
              move(West)
    -     change_hat(Hats.Green_Hat)
      
      goto(H, 0)
      goto(H, H)
      spawn_drone(pumpkin_task)
    - goto(2, 0)
    - spawn_drone(crop_task)
    - dino(30)
    + goto(0, 0)
    + for x in range(2):
    +     goto(x, 0)
    +     for y in range(N):
    +         harvest()
    +         move(North)
    + goto(0, 0)
    + spawn_drone(dino_task)
    + crop_task()
    
    Write result the agent saw
    Saved farm (123 lines).
    Game time: 2h 30m 48s elapsed, 3h 29m 12s of budget remaining.
    run_program at 2h 30m for 240s (agent saw)
    Ran farm for 4m of game time; it is still running.
    Inventory change: fertilizer +48, power -131.79, water +384.
    Game time: 2h 34m 58s elapsed, 3h 25m 2s of budget remaining.
    Output:
    (none)
    run_program at 2h 36m for 30s (agent saw)
    Ran farm for 30s of game time; it is still running.
    Inventory change: fertilizer +6, water +48.
    Game time: 2h 37m 8s elapsed, 3h 22m 52s of budget remaining.
    Output:
    (none)
  6. r62h 38mRan122 lines · +21 −22 · ran 6m 30s
    N = 12
    H = 6
    
    def goto(tx, ty):
        while get_pos_x() < tx:
            move(East)
        while get_pos_x() > tx:
            move(West)
        while get_pos_y() < ty:
            move(North)
        while get_pos_y() > ty:
            move(South)
    
    def sort_cactus():
        for p in range(H - 1):
            for y in range(H):
                goto(H, y)
                for i in range(H - 1):
                    if measure() > measure(East):
                        swap(East)
                    move(East)
        for p in range(H - 1):
            for x in range(H, N):
                goto(x, 0)
                for i in range(H - 1):
                    if measure() > measure(North):
                        swap(North)
                    move(North)
    
    def water():
        if num_items(Items.Water) > 0:
            use_item(Items.Water)
    
    def cactus_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, 0)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Cactus:
                        if t != None:
                            harvest()
                        plant(Entities.Cactus)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < H - 1:
                        move(North)
            goto(H, 0)
            if ripe == H * H:
                sort_cactus()
                goto(H, 0)
                harvest()
    
    def pumpkin_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, H)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Pumpkin:
                        if t != None and t != Entities.Dead_Pumpkin:
                            harvest()
                        plant(Entities.Pumpkin)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < H - 1:
                        move(North)
            goto(H, H)
            if ripe == H * H:
                harvest()
    
    def crop_task():
        while True:
            for x in [2, 3, 4, 5]:
                goto(x, 0)
                if x == 2 or x == 5:
                    p = Entities.Carrot
                elif x == 3:
                    p = Entities.Sunflower
                else:
                    p = Entities.Bush
                for y in range(N):
                    if p != Entities.Bush and get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != p:
                        if t != None:
                            harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    elif can_harvest():
                        harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    if y < N - 1:
                        move(North)
    
    goto(H, 0)
    spawn_drone(cactus_task)
    goto(H, H)
    spawn_drone(pumpkin_task)
    goto(2, 0)
    spawn_drone(crop_task)
    goto(0, 0)
    change_hat(Hats.Dinosaur_Hat)
    for c in range(40):
        for i in range(N - 1):
            move(North)
        move(East)
        for i in range(N - 1):
            move(South)
        move(West)
    Changes from the previous revision
      
      def goto(tx, ty):
    -     while get_pos_x() != tx:
    +     while get_pos_x() < tx:
              move(East)
    -     while get_pos_y() != ty:
    +     while get_pos_x() > tx:
    +         move(West)
    +     while get_pos_y() < ty:
              move(North)
    +     while get_pos_y() > ty:
    +         move(South)
      
      def sort_cactus():
                      elif can_harvest():
                          ripe += 1
    -                 move(North)
    +                 if y < H - 1:
    +                     move(North)
              goto(H, 0)
              if ripe == H * H:
                      elif can_harvest():
                          ripe += 1
    -                 move(North)
    +                 if y < H - 1:
    +                     move(North)
              goto(H, H)
              if ripe == H * H:
                          if p != Entities.Bush:
                              water()
    -                 move(North)
    - 
    - def dino_task():
    -     change_hat(Hats.Dinosaur_Hat)
    -     for c in range(80):
    -         for i in range(N - 1):
    -             move(North)
    -         move(East)
    -         for i in range(N - 1):
    -             move(South)
    -         move(West)
    +                 if y < N - 1:
    +                     move(North)
      
      goto(H, 0)
      goto(H, H)
      spawn_drone(pumpkin_task)
    + goto(2, 0)
    + spawn_drone(crop_task)
      goto(0, 0)
    - for x in range(2):
    -     goto(x, 0)
    -     for y in range(N):
    -         harvest()
    + change_hat(Hats.Dinosaur_Hat)
    + for c in range(40):
    +     for i in range(N - 1):
              move(North)
    - goto(0, 0)
    - spawn_drone(dino_task)
    - crop_task()
    +     move(East)
    +     for i in range(N - 1):
    +         move(South)
    +     move(West)
    
    Write result the agent saw
    Saved farm (122 lines).
    Game time: 2h 38m 58s elapsed, 3h 21m 2s of budget remaining.
    run_program at 2h 38m for 120s (agent saw)
    Ran farm for 2m of game time; it is still running.
    Inventory change: bone +2, cactus +7772, carrot +852, fertilizer +24, hay -2496, power +17.12, pumpkin +13392, water -738, wood +2592.
    Game time: 2h 41m 8s elapsed, 3h 18m 52s of budget remaining.
    Output:
    (none)
  7. r72h 45mRan132 lines · +14 −4 · ran 5m 30s
    N = 16
    H = 8
    
    def goto(tx, ty):
        while get_pos_x() < tx:
            move(East)
        while get_pos_x() > tx:
            move(West)
        while get_pos_y() < ty:
            move(North)
        while get_pos_y() > ty:
            move(South)
    
    def sort_cactus():
        for p in range(H - 1):
            for y in range(H):
                goto(H, y)
                for i in range(H - 1):
                    if measure() > measure(East):
                        swap(East)
                    move(East)
        for p in range(H - 1):
            for x in range(H, N):
                goto(x, 0)
                for i in range(H - 1):
                    if measure() > measure(North):
                        swap(North)
                    move(North)
    
    def water():
        if num_items(Items.Water) > 0:
            use_item(Items.Water)
    
    def cactus_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, 0)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Cactus:
                        if t != None:
                            harvest()
                        plant(Entities.Cactus)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < H - 1:
                        move(North)
            goto(H, 0)
            if ripe == H * H:
                sort_cactus()
                goto(H, 0)
                harvest()
    
    def pumpkin_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, H)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Pumpkin:
                        if t != None and t != Entities.Dead_Pumpkin:
                            harvest()
                        plant(Entities.Pumpkin)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < H - 1:
                        move(North)
            goto(H, H)
            if ripe == H * H:
                harvest()
    
    def crop_task():
        while True:
            for x in [2, 3, 4, 5, 6, 7]:
                goto(x, 0)
                if x == 2 or x == 5:
                    p = Entities.Carrot
                elif x == 3:
                    p = Entities.Sunflower
                elif x == 4:
                    p = Entities.Bush
                elif x == 6:
                    p = Entities.Carrot
                else:
                    p = Entities.Bush
                for y in range(N):
                    if p != Entities.Bush and get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != p:
                        if t != None:
                            harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    elif can_harvest():
                        harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    if y < N - 1:
                        move(North)
    
    goto(H, 0)
    spawn_drone(cactus_task)
    goto(H, H)
    spawn_drone(pumpkin_task)
    goto(2, 0)
    spawn_drone(crop_task)
    goto(0, 0)
    for x in range(2):
        goto(x, 0)
        for y in range(N):
            harvest()
            if y < N - 1:
                move(North)
    goto(0, 0)
    for c in range(40):
        for i in range(N - 1):
            move(North)
        move(East)
        for i in range(N - 1):
            move(South)
        move(West)
    Changes from the previous revision
    - N = 12
    - H = 6
    + N = 16
    + H = 8
      
      def goto(tx, ty):
      def crop_task():
          while True:
    -         for x in [2, 3, 4, 5]:
    +         for x in [2, 3, 4, 5, 6, 7]:
                  goto(x, 0)
                  if x == 2 or x == 5:
                  elif x == 3:
                      p = Entities.Sunflower
    +             elif x == 4:
    +                 p = Entities.Bush
    +             elif x == 6:
    +                 p = Entities.Carrot
                  else:
                      p = Entities.Bush
      spawn_drone(crop_task)
      goto(0, 0)
    - change_hat(Hats.Dinosaur_Hat)
    + for x in range(2):
    +     goto(x, 0)
    +     for y in range(N):
    +         harvest()
    +         if y < N - 1:
    +             move(North)
    + goto(0, 0)
      for c in range(40):
          for i in range(N - 1):
    
    Write result the agent saw
    Saved farm (132 lines).
    Game time: 2h 45m 58s elapsed, 3h 14m 2s of budget remaining.
    run_program at 2h 45m for 300s (agent saw)
    Ran farm for 5m of game time; it is still running.
    Inventory change: cactus +24600, carrot +9016, fertilizer +120, hay -7360, power -145.68, pumpkin +36448, water -49, wood +36000.
    Game time: 2h 51m 8s elapsed, 3h 8m 52s of budget remaining.
    Output:
    (none)
  8. r83h 11mRan148 lines · +32 −16 · ran 4m 30s
    N = 16
    H = 8
    
    def goto(tx, ty):
        while get_pos_x() < tx:
            move(East)
        while get_pos_x() > tx:
            move(West)
        while get_pos_y() < ty:
            move(North)
        while get_pos_y() > ty:
            move(South)
    
    def sort_cactus():
        for p in range(H - 1):
            for y in range(H):
                goto(H, y)
                for i in range(H - 1):
                    if measure() > measure(East):
                        swap(East)
                    move(East)
        for p in range(H - 1):
            for x in range(H, N):
                goto(x, 0)
                for i in range(H - 1):
                    if measure() > measure(North):
                        swap(North)
                    move(North)
    
    def water():
        if num_items(Items.Water) > 0:
            use_item(Items.Water)
    
    def cactus_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, 0)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Cactus:
                        if t != None:
                            harvest()
                        plant(Entities.Cactus)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < H - 1:
                        move(North)
            goto(H, 0)
            if ripe == H * H:
                sort_cactus()
                goto(H, 0)
                harvest()
    
    def pumpkin_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, H)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Pumpkin:
                        if t != None and t != Entities.Dead_Pumpkin:
                            harvest()
                        plant(Entities.Pumpkin)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < H - 1:
                        move(North)
            goto(H, H)
            if ripe == H * H:
                harvest()
    
    def col_task(x, k):
        if k == 0:
            p = Entities.Carrot
        elif k == 1:
            p = Entities.Sunflower
        elif k == 2:
            p = Entities.Bush
        else:
            p = Entities.Grass
        while True:
            goto(x, 0)
            for y in range(N):
                if p == Entities.Grass:
                    if get_ground_type() == Grounds.Soil:
                        till()
                    if num_items(Items.Fertilizer) > 0:
                        use_item(Items.Fertilizer)
                    if can_harvest():
                        harvest()
                else:
                    if p != Entities.Bush and get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != p:
                        if t != None:
                            harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    elif can_harvest():
                        harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                if y < N - 1:
                    move(North)
    
    harvest()
    goto(H, 0)
    spawn_drone(cactus_task)
    goto(H, H)
    spawn_drone(pumpkin_task)
    goto(2, 0)
    spawn_drone(col_task, 2, 0)
    goto(3, 0)
    spawn_drone(col_task, 3, 1)
    goto(4, 0)
    spawn_drone(col_task, 4, 2)
    goto(5, 0)
    spawn_drone(col_task, 5, 0)
    goto(6, 0)
    spawn_drone(col_task, 6, 3)
    goto(7, 0)
    spawn_drone(col_task, 7, 2)
    goto(0, 0)
    for x in range(2):
        goto(x, 0)
        for y in range(N):
            harvest()
            if y < N - 1:
                move(North)
    goto(0, 0)
    for c in range(40):
        for i in range(N - 1):
            move(North)
        move(East)
        for i in range(N - 1):
            move(South)
        move(West)
    Changes from the previous revision
                  harvest()
      
    - def crop_task():
    + def col_task(x, k):
    +     if k == 0:
    +         p = Entities.Carrot
    +     elif k == 1:
    +         p = Entities.Sunflower
    +     elif k == 2:
    +         p = Entities.Bush
    +     else:
    +         p = Entities.Grass
          while True:
    -         for x in [2, 3, 4, 5, 6, 7]:
    -             goto(x, 0)
    -             if x == 2 or x == 5:
    -                 p = Entities.Carrot
    -             elif x == 3:
    -                 p = Entities.Sunflower
    -             elif x == 4:
    -                 p = Entities.Bush
    -             elif x == 6:
    -                 p = Entities.Carrot
    +         goto(x, 0)
    +         for y in range(N):
    +             if p == Entities.Grass:
    +                 if get_ground_type() == Grounds.Soil:
    +                     till()
    +                 if num_items(Items.Fertilizer) > 0:
    +                     use_item(Items.Fertilizer)
    +                 if can_harvest():
    +                     harvest()
                  else:
    -                 p = Entities.Bush
    -             for y in range(N):
                      if p != Entities.Bush and get_ground_type() != Grounds.Soil:
                          till()
                          if p != Entities.Bush:
                              water()
    -                 if y < N - 1:
    -                     move(North)
    +             if y < N - 1:
    +                 move(North)
      
    + harvest()
      goto(H, 0)
      spawn_drone(cactus_task)
      spawn_drone(pumpkin_task)
      goto(2, 0)
    - spawn_drone(crop_task)
    + spawn_drone(col_task, 2, 0)
    + goto(3, 0)
    + spawn_drone(col_task, 3, 1)
    + goto(4, 0)
    + spawn_drone(col_task, 4, 2)
    + goto(5, 0)
    + spawn_drone(col_task, 5, 0)
    + goto(6, 0)
    + spawn_drone(col_task, 6, 3)
    + goto(7, 0)
    + spawn_drone(col_task, 7, 2)
      goto(0, 0)
      for x in range(2):
    
    Write result the agent saw
    Saved farm (148 lines).
    Game time: 3h 11m 55s elapsed, 2h 48m 5s of budget remaining.
    run_program at 3h 11m for 240s (agent saw)
    Ran farm for 4m of game time; it is still running.
    Inventory change: cactus +24576, carrot +114103, fertilizer -886, hay -23664, power +1092.83, pumpkin +32960, water -1963, weird_substance +7456, wood +16144.
    Game time: 3h 16m 5s elapsed, 2h 43m 55s of budget remaining.
    Output:
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: col_task <- water
    use_item(Items.Water)
            ^^           
    --------------------------------------------------------------------
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: pumpkin_task <- water
    use_item(Items.Water)
            ^^           
    --------------------------------------------------------------------
    Warning: Didn't have the required items to plant Entities.Carrot.
    In: col_task
    plant(p)
         ^^ 
    --------------------------------------------------------------------
    Warning: Didn't have the required items to plant Entities.Carrot.
    In: col_task
    plant(p)
         ^^ 
    --------------------------------------------------------------------
    Warning: Didn't have the required items to plant Entities.Carrot.
    In: col_task
    plant(p)
         ^^ 
    --------------------------------------------------------------------
    Warning: Didn't have the required items to plant Entities.Carrot.
    In: col_task
    plant(p)
         ^^ 
    --------------------------------------------------------------------
  9. r93h 16mRan148 lines · +2 −2 · ran 33m 30s
    N = 16
    H = 8
    
    def goto(tx, ty):
        while get_pos_x() < tx:
            move(East)
        while get_pos_x() > tx:
            move(West)
        while get_pos_y() < ty:
            move(North)
        while get_pos_y() > ty:
            move(South)
    
    def sort_cactus():
        for p in range(H - 1):
            for y in range(H):
                goto(H, y)
                for i in range(H - 1):
                    if measure() > measure(East):
                        swap(East)
                    move(East)
        for p in range(H - 1):
            for x in range(H, N):
                goto(x, 0)
                for i in range(H - 1):
                    if measure() > measure(North):
                        swap(North)
                    move(North)
    
    def water():
        if num_items(Items.Water) > 0:
            use_item(Items.Water)
    
    def cactus_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, 0)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Cactus:
                        if t != None:
                            harvest()
                        plant(Entities.Cactus)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < H - 1:
                        move(North)
            goto(H, 0)
            if ripe == H * H:
                sort_cactus()
                goto(H, 0)
                harvest()
    
    def pumpkin_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, H)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Pumpkin:
                        if t != None and t != Entities.Dead_Pumpkin:
                            harvest()
                        plant(Entities.Pumpkin)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < H - 1:
                        move(North)
            goto(H, H)
            if ripe == H * H:
                harvest()
    
    def col_task(x, k):
        if k == 0:
            p = Entities.Carrot
        elif k == 1:
            p = Entities.Sunflower
        elif k == 2:
            p = Entities.Bush
        else:
            p = Entities.Grass
        while True:
            goto(x, 0)
            for y in range(N):
                if p == Entities.Grass:
                    if get_ground_type() == Grounds.Soil:
                        till()
                    if num_items(Items.Fertilizer) > 0:
                        use_item(Items.Fertilizer)
                    if can_harvest():
                        harvest()
                else:
                    if p != Entities.Bush and get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != p:
                        if t != None:
                            harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    elif can_harvest():
                        harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                if y < N - 1:
                    move(North)
    
    harvest()
    goto(H, 0)
    spawn_drone(cactus_task)
    goto(H, H)
    spawn_drone(pumpkin_task)
    goto(2, 0)
    spawn_drone(col_task, 2, 3)
    goto(3, 0)
    spawn_drone(col_task, 3, 1)
    goto(4, 0)
    spawn_drone(col_task, 4, 2)
    goto(5, 0)
    spawn_drone(col_task, 5, 0)
    goto(6, 0)
    spawn_drone(col_task, 6, 3)
    goto(7, 0)
    spawn_drone(col_task, 7, 3)
    goto(0, 0)
    for x in range(2):
        goto(x, 0)
        for y in range(N):
            harvest()
            if y < N - 1:
                move(North)
    goto(0, 0)
    for c in range(40):
        for i in range(N - 1):
            move(North)
        move(East)
        for i in range(N - 1):
            move(South)
        move(West)
    Changes from the previous revision
      spawn_drone(pumpkin_task)
      goto(2, 0)
    - spawn_drone(col_task, 2, 0)
    + spawn_drone(col_task, 2, 3)
      goto(3, 0)
      spawn_drone(col_task, 3, 1)
      spawn_drone(col_task, 6, 3)
      goto(7, 0)
    - spawn_drone(col_task, 7, 2)
    + spawn_drone(col_task, 7, 3)
      goto(0, 0)
      for x in range(2):
    
    Write result the agent saw
    Saved farm (148 lines).
    Game time: 3h 16m 45s elapsed, 2h 43m 15s of budget remaining.
    run_program at 3h 16m for 300s (agent saw)
    Ran farm for 5m of game time; it is still running.
    Inventory change: cactus +24626, carrot +73242, fertilizer -8, hay +131264, power +1266.07, pumpkin +85228, water -32, weird_substance +1888, wood +50832.
    Game time: 3h 21m 55s elapsed, 2h 38m 5s of budget remaining.
    Output:
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: col_task <- water
    use_item(Items.Water)
            ^^           
    --------------------------------------------------------------------
    run_program at 3h 48m for 120s (agent saw)
    Ran farm for 2m of game time; it is still running.
    Inventory change: cactus +16384, carrot +57122, hay +104080, power +686.28, pumpkin +72704, water -1, weird_substance +1968, wood +49664.
    Game time: 3h 50m 15s elapsed, 2h 9m 45s of budget remaining.
    Output:
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: cactus_task <- water
    use_item(Items.Water)
            ^^           
    --------------------------------------------------------------------
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: pumpkin_task <- water
    use_item(Items.Water)
            ^^           
    --------------------------------------------------------------------
  10. —3h 47mRejected
    N = 16
    H = 8
    S = 6
    
    def goto(tx, ty):
        while get_pos_x() < tx:
            move(East)
        while get_pos_x() > tx:
            move(West)
        while get_pos_y() < ty:
            move(North)
        while get_pos_y() > ty:
            move(South)
    
    def sort_cactus():
        for p in range(H - 1):
            for y in range(H):
                goto(H, y)
                for i in range(H - 1):
                    if measure() > measure(East):
                        swap(East)
                    move(East)
        for p in range(H - 1):
            for x in range(H, N):
                goto(x, 0)
                for i in range(H - 1):
                    if measure() > measure(North):
                        swap(North)
                    move(North)
    
    def water():
        if num_items(Items.Water) > 0:
            use_item(Items.Water)
    
    def cactus_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, 0)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Cactus:
                        if t != None:
                            harvest()
                        plant(Entities.Cactus)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < H - 1:
                        move(North)
            goto(H, 0)
            if ripe == H * H:
                sort_cactus()
                goto(H, 0)
                harvest()
    
    def pumpkin_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, H)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Pumpkin:
                        if t != None and t != Entities.Dead_Pumpkin:
                            harvest()
                        plant(Entities.Pumpkin)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < H - 1:
                        move(North)
            goto(H, H)
            if ripe == H * H:
                harvest()
    
    def col_task(x, k):
        if k == 0:
            p = Entities.Carrot
        elif k == 1:
            p = Entities.Sunflower
        elif k == 2:
            p = Entities.Bush
        else:
            p = Entities.Grass
        while True:
            goto(x, 0)
            for y in range(N):
                if p == Entities.Grass:
                    if get_ground_type() == Grounds.Soil:
                        till()
                    if num_items(Items.Fertilizer) > 0:
                        use_item(Items.Fertilizer)
                    if can_harvest():
                        harvest()
                else:
                    if p != Entities.Bush and get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != p:
                        if t != None:
                            harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    elif can_harvest():
                        harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                if y < N - 1:
                    move(North)
    
    def solve():
        dirs = [North, East, South, West]
        d = 0
        while get_entity_type() != Entities.Treasure:
            for k in [1, 0, 3, 2]:
                nd = (d + k) % 4
                if move(dirs[nd]):
                    d = nd
                    break
        harvest()
    
    harvest()
    goto(H, 0)
    spawn_drone(cactus_task)
    goto(H, H)
    spawn_drone(pumpkin_task)
    goto(2, 0)
    spawn_drone(col_task, 2, 3)
    goto(3, 0)
    spawn_drone(col_task, 3, 1)
    goto(4, 0)
    spawn_drone(col_task, 4, 2)
    goto(5, 0)
    spawn_drone(col_task, 5, 0)
    goto(6, 0)
    spawn_drone(col_task, 6, 3)
    goto(7, 0)
    spawn_drone(col_task, 7, 3)
    while True:
        goto(16, 0)
        if get_entity_type() != None:
            harvest()
        plant(Entities.Bush)
        use_item(Items.Weird_Substance, S * 2**(num_unlocked(Unlocks.Mazes) - 1))
        solve()
    Write result the agent saw
    Stop the program before editing it.
  11. r103h 50mRan152 lines · +18 −14 · ran 3m 30s
    N = 16
    H = 8
    S = 6
    
    def goto(tx, ty):
        while get_pos_x() < tx:
            move(East)
        while get_pos_x() > tx:
            move(West)
        while get_pos_y() < ty:
            move(North)
        while get_pos_y() > ty:
            move(South)
    
    def sort_cactus():
        for p in range(H - 1):
            for y in range(H):
                goto(H, y)
                for i in range(H - 1):
                    if measure() > measure(East):
                        swap(East)
                    move(East)
        for p in range(H - 1):
            for x in range(H, N):
                goto(x, 0)
                for i in range(H - 1):
                    if measure() > measure(North):
                        swap(North)
                    move(North)
    
    def water():
        if num_items(Items.Water) > 0:
            use_item(Items.Water)
    
    def cactus_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, 0)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Cactus:
                        if t != None:
                            harvest()
                        plant(Entities.Cactus)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < H - 1:
                        move(North)
            goto(H, 0)
            if ripe == H * H:
                sort_cactus()
                goto(H, 0)
                harvest()
    
    def pumpkin_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, H)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Pumpkin:
                        if t != None and t != Entities.Dead_Pumpkin:
                            harvest()
                        plant(Entities.Pumpkin)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < H - 1:
                        move(North)
            goto(H, H)
            if ripe == H * H:
                harvest()
    
    def col_task(x, k):
        if k == 0:
            p = Entities.Carrot
        elif k == 1:
            p = Entities.Sunflower
        elif k == 2:
            p = Entities.Bush
        else:
            p = Entities.Grass
        while True:
            goto(x, 0)
            for y in range(N):
                if p == Entities.Grass:
                    if get_ground_type() == Grounds.Soil:
                        till()
                    if num_items(Items.Fertilizer) > 0:
                        use_item(Items.Fertilizer)
                    if can_harvest():
                        harvest()
                else:
                    if p != Entities.Bush and get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != p:
                        if t != None:
                            harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    elif can_harvest():
                        harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                if y < N - 1:
                    move(North)
    
    def solve():
        dirs = [North, East, South, West]
        d = 0
        while get_entity_type() != Entities.Treasure:
            for k in [1, 0, 3, 2]:
                nd = (d + k) % 4
                if move(dirs[nd]):
                    d = nd
                    break
        harvest()
    
    harvest()
    goto(H, 0)
    spawn_drone(cactus_task)
    goto(H, H)
    spawn_drone(pumpkin_task)
    goto(2, 0)
    spawn_drone(col_task, 2, 3)
    goto(3, 0)
    spawn_drone(col_task, 3, 1)
    goto(4, 0)
    spawn_drone(col_task, 4, 2)
    goto(5, 0)
    spawn_drone(col_task, 5, 0)
    goto(6, 0)
    spawn_drone(col_task, 6, 3)
    goto(7, 0)
    spawn_drone(col_task, 7, 3)
    while True:
        goto(16, 0)
        if get_entity_type() != None:
            harvest()
        plant(Entities.Bush)
        use_item(Items.Weird_Substance, S * 2**(num_unlocked(Unlocks.Mazes) - 1))
        solve()
    Changes from the previous revision
      N = 16
      H = 8
    + S = 6
      
      def goto(tx, ty):
                      move(North)
      
    + def solve():
    +     dirs = [North, East, South, West]
    +     d = 0
    +     while get_entity_type() != Entities.Treasure:
    +         for k in [1, 0, 3, 2]:
    +             nd = (d + k) % 4
    +             if move(dirs[nd]):
    +                 d = nd
    +                 break
    +     harvest()
    + 
      harvest()
      goto(H, 0)
      goto(7, 0)
      spawn_drone(col_task, 7, 3)
    - goto(0, 0)
    - for x in range(2):
    -     goto(x, 0)
    -     for y in range(N):
    + while True:
    +     goto(16, 0)
    +     if get_entity_type() != None:
              harvest()
    -         if y < N - 1:
    -             move(North)
    - goto(0, 0)
    - for c in range(40):
    -     for i in range(N - 1):
    -         move(North)
    -     move(East)
    -     for i in range(N - 1):
    -         move(South)
    -     move(West)
    +     plant(Entities.Bush)
    +     use_item(Items.Weird_Substance, S * 2**(num_unlocked(Unlocks.Mazes) - 1))
    +     solve()
    
    Write result the agent saw
    Saved farm (152 lines).
    Game time: 3h 50m 35s elapsed, 2h 9m 25s of budget remaining.
    run_program at 3h 50m for 120s (agent saw)
    Ran farm for 2m of game time; it is still running.
    Inventory change: cactus +16388, carrot +58512, fertilizer -16, gold +144, hay +99872, power +600.01, pumpkin +60768, water -127, weird_substance +2608, wood +49600.
    Game time: 3h 52m 45s elapsed, 2h 7m 15s of budget remaining.
    Output:
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: col_task <- water
    use_item(Items.Water)
            ^^           
    --------------------------------------------------------------------
  12. r113h 54mRan154 lines · +3 −1 · ran 27s · 1 runtime error
    N = 16
    H = 8
    S = 6
    
    def goto(tx, ty):
        while get_pos_x() < tx:
            move(East)
        while get_pos_x() > tx:
            move(West)
        while get_pos_y() < ty:
            move(North)
        while get_pos_y() > ty:
            move(South)
    
    def sort_cactus():
        for p in range(H - 1):
            for y in range(H):
                goto(H, y)
                for i in range(H - 1):
                    if measure() > measure(East):
                        swap(East)
                    move(East)
        for p in range(H - 1):
            for x in range(H, N):
                goto(x, 0)
                for i in range(H - 1):
                    if measure() > measure(North):
                        swap(North)
                    move(North)
    
    def water():
        if num_items(Items.Water) > 0:
            use_item(Items.Water)
    
    def cactus_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, 0)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Cactus:
                        if t != None:
                            harvest()
                        plant(Entities.Cactus)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < H - 1:
                        move(North)
            goto(H, 0)
            if ripe == H * H:
                sort_cactus()
                goto(H, 0)
                harvest()
    
    def pumpkin_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, H)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Pumpkin:
                        if t != None and t != Entities.Dead_Pumpkin:
                            harvest()
                        plant(Entities.Pumpkin)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < H - 1:
                        move(North)
            goto(H, H)
            if ripe == H * H:
                harvest()
    
    def col_task(x, k):
        if k == 0:
            p = Entities.Carrot
        elif k == 1:
            p = Entities.Sunflower
        elif k == 2:
            p = Entities.Bush
        else:
            p = Entities.Grass
        while True:
            goto(x, 0)
            for y in range(N):
                if p == Entities.Grass:
                    if get_ground_type() == Grounds.Soil:
                        till()
                    if num_items(Items.Fertilizer) > 0:
                        use_item(Items.Fertilizer)
                    if can_harvest():
                        harvest()
                else:
                    if p != Entities.Bush and get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != p:
                        if t != None:
                            harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    elif can_harvest():
                        harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                if y < N - 1:
                    move(North)
    
    def solve():
        dirs = [North, East, South, West]
        d = 0
        steps = 0
        while get_entity_type() != Entities.Treasure and steps < 600:
            steps += 1
            for k in [1, 0, 3, 2]:
                nd = (d + k) % 4
                if move(dirs[nd]):
                    d = nd
                    break
        harvest()
    
    harvest()
    goto(H, 0)
    spawn_drone(cactus_task)
    goto(H, H)
    spawn_drone(pumpkin_task)
    goto(2, 0)
    spawn_drone(col_task, 2, 3)
    goto(3, 0)
    spawn_drone(col_task, 3, 1)
    goto(4, 0)
    spawn_drone(col_task, 4, 2)
    goto(5, 0)
    spawn_drone(col_task, 5, 0)
    goto(6, 0)
    spawn_drone(col_task, 6, 3)
    goto(7, 0)
    spawn_drone(col_task, 7, 3)
    while True:
        goto(16, 0)
        if get_entity_type() != None:
            harvest()
        plant(Entities.Bush)
        use_item(Items.Weird_Substance, S * 2**(num_unlocked(Unlocks.Mazes) - 1))
        solve()
    Changes from the previous revision
          dirs = [North, East, South, West]
          d = 0
    -     while get_entity_type() != Entities.Treasure:
    +     steps = 0
    +     while get_entity_type() != Entities.Treasure and steps < 600:
    +         steps += 1
              for k in [1, 0, 3, 2]:
                  nd = (d + k) % 4
    
    Write result the agent saw
    Saved farm (154 lines).
    Game time: 3h 54m 58s elapsed, 2h 5m 2s of budget remaining.
    run_program at 3h 54m for 300s (agent saw)
    Ran farm for 27s of game time; it stopped with an error: The operator > cannot be used on the operands 2 and (17,4).
    Inventory change: carrot +11170, fertilizer -43, gold +144, hay +19760, power +104.14, pumpkin +12136, water -243, weird_substance +1384, wood +10464.
    Game time: 3h 55m 35s elapsed, 2h 4m 25s of budget remaining.
    Output:
    Error: The operator > cannot be used on the operands 2 and (17,4).
    In: cactus_task <- sort_cactus
    if measure() > measure(East):
              ^^^^^^^^^^^^^^^^^^^^
    --------------------------------------------------------------------
    Runtime error at 3h 55m (telemetry; not shown to the agent)
    The operator > cannot be used on the operands 2 and (17,4).
  13. r123h 56mRan158 lines · +6 −2 · ran 5m 20s
    N = 16
    H = 8
    S = 6
    
    def goto(tx, ty):
        while get_pos_x() < tx:
            move(East)
        while get_pos_x() > tx:
            move(West)
        while get_pos_y() < ty:
            move(North)
        while get_pos_y() > ty:
            move(South)
    
    def sort_cactus():
        for p in range(H - 1):
            for y in range(H):
                goto(H, y)
                for i in range(H - 1):
                    a = measure()
                    b = measure(East)
                    if a != None and b != None and a > b:
                        swap(East)
                    move(East)
        for p in range(H - 1):
            for x in range(H, N):
                goto(x, 0)
                for i in range(H - 1):
                    a = measure()
                    b = measure(North)
                    if a != None and b != None and a > b:
                        swap(North)
                    move(North)
    
    def water():
        if num_items(Items.Water) > 0:
            use_item(Items.Water)
    
    def cactus_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, 0)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Cactus:
                        if t != None:
                            harvest()
                        plant(Entities.Cactus)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < H - 1:
                        move(North)
            goto(H, 0)
            if ripe == H * H:
                sort_cactus()
                goto(H, 0)
                harvest()
    
    def pumpkin_task():
        while True:
            ripe = 0
            for x in range(H, N):
                goto(x, H)
                for y in range(H):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Pumpkin:
                        if t != None and t != Entities.Dead_Pumpkin:
                            harvest()
                        plant(Entities.Pumpkin)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < H - 1:
                        move(North)
            goto(H, H)
            if ripe == H * H:
                harvest()
    
    def col_task(x, k):
        if k == 0:
            p = Entities.Carrot
        elif k == 1:
            p = Entities.Sunflower
        elif k == 2:
            p = Entities.Bush
        else:
            p = Entities.Grass
        while True:
            goto(x, 0)
            for y in range(N):
                if p == Entities.Grass:
                    if get_ground_type() == Grounds.Soil:
                        till()
                    if num_items(Items.Fertilizer) > 0:
                        use_item(Items.Fertilizer)
                    if can_harvest():
                        harvest()
                else:
                    if p != Entities.Bush and get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != p:
                        if t != None:
                            harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    elif can_harvest():
                        harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                if y < N - 1:
                    move(North)
    
    def solve():
        dirs = [North, East, South, West]
        d = 0
        steps = 0
        while get_entity_type() != Entities.Treasure and steps < 600:
            steps += 1
            for k in [1, 0, 3, 2]:
                nd = (d + k) % 4
                if move(dirs[nd]):
                    d = nd
                    break
        harvest()
    
    harvest()
    goto(H, 0)
    spawn_drone(cactus_task)
    goto(H, H)
    spawn_drone(pumpkin_task)
    goto(2, 0)
    spawn_drone(col_task, 2, 3)
    goto(3, 0)
    spawn_drone(col_task, 3, 1)
    goto(4, 0)
    spawn_drone(col_task, 4, 2)
    goto(5, 0)
    spawn_drone(col_task, 5, 0)
    goto(6, 0)
    spawn_drone(col_task, 6, 3)
    goto(7, 0)
    spawn_drone(col_task, 7, 3)
    while True:
        goto(16, 0)
        if get_entity_type() != None:
            harvest()
        plant(Entities.Bush)
        use_item(Items.Weird_Substance, S * 2**(num_unlocked(Unlocks.Mazes) - 1))
        solve()
    Changes from the previous revision
                  goto(H, y)
                  for i in range(H - 1):
    -                 if measure() > measure(East):
    +                 a = measure()
    +                 b = measure(East)
    +                 if a != None and b != None and a > b:
                          swap(East)
                      move(East)
                  goto(x, 0)
                  for i in range(H - 1):
    -                 if measure() > measure(North):
    +                 a = measure()
    +                 b = measure(North)
    +                 if a != None and b != None and a > b:
                          swap(North)
                      move(North)
    
    Write result the agent saw
    Saved farm (158 lines).
    Game time: 3h 56m 25s elapsed, 2h 3m 35s of budget remaining.
    run_program at 3h 56m for 300s (agent saw)
    Ran farm for 5m of game time; it is still running.
    Inventory change: cactus +4, carrot +156214, fertilizer -48, hay +259328, power +1598.90, pumpkin +159736, water -479, weird_substance +8352, wood +121408.
    Game time: 4h 1m 35s elapsed, 1h 58m 25s of budget remaining.
    Output:
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: pumpkin_task <- water
    use_item(Items.Water)
            ^^           
    --------------------------------------------------------------------
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: col_task <- water
    use_item(Items.Water)
            ^^           
    --------------------------------------------------------------------
  14. r134h 03mRan164 lines · +45 −39 · ran 9m 30s
    N = 16
    PX = 8
    PY = 8
    PH = 8
    CX = 16
    CY = 6
    CH = 6
    S = 6
    
    def goto(tx, ty):
        while get_pos_y() < ty:
            move(North)
        while get_pos_y() > ty:
            move(South)
        while get_pos_x() < tx:
            move(East)
        while get_pos_x() > tx:
            move(West)
    
    def sort_cactus():
        for p in range(CH - 1):
            for y in range(CY, CY + CH):
                goto(CX, y)
                for i in range(CH - 1):
                    a = measure()
                    b = measure(East)
                    if a != None and b != None and a > b:
                        swap(East)
                    move(East)
        for p in range(CH - 1):
            for x in range(CX, CX + CH):
                goto(x, CY)
                for i in range(CH - 1):
                    a = measure()
                    b = measure(North)
                    if a != None and b != None and a > b:
                        swap(North)
                    move(North)
    
    def water():
        if num_items(Items.Water) > 0:
            use_item(Items.Water)
    
    def cactus_task():
        while True:
            ripe = 0
            for x in range(CX, CX + CH):
                goto(x, CY)
                for y in range(CH):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Cactus:
                        if t != None:
                            harvest()
                        plant(Entities.Cactus)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < CH - 1:
                        move(North)
            goto(CX, CY)
            if ripe == CH * CH:
                sort_cactus()
                goto(CX, CY)
                harvest()
    
    def pumpkin_task():
        while True:
            ripe = 0
            for x in range(PX, PX + PH):
                goto(x, PY)
                for y in range(PH):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Pumpkin:
                        if t != None and t != Entities.Dead_Pumpkin:
                            harvest()
                        plant(Entities.Pumpkin)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < PH - 1:
                        move(North)
            goto(PX, PY)
            if ripe == PH * PH:
                harvest()
    
    def col_task(x, k):
        if k == 0:
            p = Entities.Carrot
        elif k == 1:
            p = Entities.Sunflower
        elif k == 2:
            p = Entities.Bush
        else:
            p = Entities.Grass
        while True:
            goto(x, 0)
            for y in range(N):
                if p == Entities.Grass:
                    if get_ground_type() == Grounds.Soil:
                        till()
                    if num_items(Items.Fertilizer) > 0:
                        use_item(Items.Fertilizer)
                    if can_harvest():
                        harvest()
                else:
                    if p != Entities.Bush and get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != p:
                        if t != None:
                            harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    elif can_harvest():
                        harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                if y < N - 1:
                    move(North)
    
    def solve():
        dirs = [North, East, South, West]
        d = 0
        steps = 0
        while get_entity_type() != Entities.Treasure and steps < 600:
            steps += 1
            for k in [1, 0, 3, 2]:
                nd = (d + k) % 4
                if move(dirs[nd]):
                    d = nd
                    break
        harvest()
    
    def maze_task():
        while True:
            goto(16, 16)
            if get_entity_type() != None:
                harvest()
            plant(Entities.Bush)
            use_item(Items.Weird_Substance, S * 2**(num_unlocked(Unlocks.Mazes) - 1))
            solve()
    
    goto(CX, CY)
    spawn_drone(cactus_task)
    goto(PX, PY)
    spawn_drone(pumpkin_task)
    goto(3, 0)
    spawn_drone(col_task, 3, 1)
    goto(4, 0)
    spawn_drone(col_task, 4, 2)
    goto(5, 0)
    spawn_drone(col_task, 5, 0)
    goto(6, 0)
    spawn_drone(col_task, 6, 3)
    goto(16, 16)
    spawn_drone(maze_task)
    while True:
        do_a_flip()
    Changes from the previous revision
      N = 16
    - H = 8
    + PX = 8
    + PY = 8
    + PH = 8
    + CX = 16
    + CY = 6
    + CH = 6
      S = 6
      
      def goto(tx, ty):
    -     while get_pos_x() < tx:
    -         move(East)
    -     while get_pos_x() > tx:
    -         move(West)
          while get_pos_y() < ty:
              move(North)
          while get_pos_y() > ty:
              move(South)
    +     while get_pos_x() < tx:
    +         move(East)
    +     while get_pos_x() > tx:
    +         move(West)
      
      def sort_cactus():
    -     for p in range(H - 1):
    -         for y in range(H):
    -             goto(H, y)
    -             for i in range(H - 1):
    +     for p in range(CH - 1):
    +         for y in range(CY, CY + CH):
    +             goto(CX, y)
    +             for i in range(CH - 1):
                      a = measure()
                      b = measure(East)
                          swap(East)
                      move(East)
    -     for p in range(H - 1):
    -         for x in range(H, N):
    -             goto(x, 0)
    -             for i in range(H - 1):
    +     for p in range(CH - 1):
    +         for x in range(CX, CX + CH):
    +             goto(x, CY)
    +             for i in range(CH - 1):
                      a = measure()
                      b = measure(North)
          while True:
              ripe = 0
    -         for x in range(H, N):
    -             goto(x, 0)
    -             for y in range(H):
    +         for x in range(CX, CX + CH):
    +             goto(x, CY)
    +             for y in range(CH):
                      if get_ground_type() != Grounds.Soil:
                          till()
                      elif can_harvest():
                          ripe += 1
    -                 if y < H - 1:
    +                 if y < CH - 1:
                          move(North)
    -         goto(H, 0)
    -         if ripe == H * H:
    +         goto(CX, CY)
    +         if ripe == CH * CH:
                  sort_cactus()
    -             goto(H, 0)
    +             goto(CX, CY)
                  harvest()
      
          while True:
              ripe = 0
    -         for x in range(H, N):
    -             goto(x, H)
    -             for y in range(H):
    +         for x in range(PX, PX + PH):
    +             goto(x, PY)
    +             for y in range(PH):
                      if get_ground_type() != Grounds.Soil:
                          till()
                      elif can_harvest():
                          ripe += 1
    -                 if y < H - 1:
    +                 if y < PH - 1:
                          move(North)
    -         goto(H, H)
    -         if ripe == H * H:
    +         goto(PX, PY)
    +         if ripe == PH * PH:
                  harvest()
      
          harvest()
      
    - harvest()
    - goto(H, 0)
    + def maze_task():
    +     while True:
    +         goto(16, 16)
    +         if get_entity_type() != None:
    +             harvest()
    +         plant(Entities.Bush)
    +         use_item(Items.Weird_Substance, S * 2**(num_unlocked(Unlocks.Mazes) - 1))
    +         solve()
    + 
    + goto(CX, CY)
      spawn_drone(cactus_task)
    - goto(H, H)
    + goto(PX, PY)
      spawn_drone(pumpkin_task)
    - goto(2, 0)
    - spawn_drone(col_task, 2, 3)
      goto(3, 0)
      spawn_drone(col_task, 3, 1)
      goto(6, 0)
      spawn_drone(col_task, 6, 3)
    - goto(7, 0)
    - spawn_drone(col_task, 7, 3)
    + goto(16, 16)
    + spawn_drone(maze_task)
      while True:
    -     goto(16, 0)
    -     if get_entity_type() != None:
    -         harvest()
    -     plant(Entities.Bush)
    -     use_item(Items.Weird_Substance, S * 2**(num_unlocked(Unlocks.Mazes) - 1))
    -     solve()
    +     do_a_flip()
    
    Write result the agent saw
    Saved farm (164 lines).
    Game time: 4h 3m 15s elapsed, 1h 56m 45s of budget remaining.
    run_program at 4h 03m for 120s (agent saw)
    Ran farm for 2m of game time; it is still running.
    Inventory change: cactus +12, carrot +56698, fertilizer -72, gold +2592, hay +40048, power +567.67, pumpkin +48840, water -576, weird_substance +4584, wood +38688.
    Game time: 4h 5m 25s elapsed, 1h 54m 35s of budget remaining.
    Output:
    Warning: Cannot plant Entities.Pumpkin on Grounds.Grassland.
    In: pumpkin_task
    plant(Entities.Pumpkin)
         ^^                
    --------------------------------------------------------------------
  15. r144h 12mRan168 lines · +29 −25 · ran 1h 46m
    N = 16
    PX = 8
    PY = 8
    PH = 8
    S = 6
    
    def goto(tx, ty):
        while get_pos_y() < ty:
            move(North)
        while get_pos_y() > ty:
            move(South)
        while get_pos_x() < tx:
            move(East)
        while get_pos_x() > tx:
            move(West)
    
    def sort_cactus(cx, cy, w, h):
        for p in range(w - 1):
            for y in range(cy, cy + h):
                goto(cx, y)
                for i in range(w - 1):
                    a = measure()
                    b = measure(East)
                    if a != None and b != None and a > b:
                        swap(East)
                    move(East)
        for p in range(h - 1):
            for x in range(cx, cx + w):
                goto(x, cy)
                for i in range(h - 1):
                    a = measure()
                    b = measure(North)
                    if a != None and b != None and a > b:
                        swap(North)
                    move(North)
    
    def water():
        if num_items(Items.Water) > 0:
            use_item(Items.Water)
    
    def cactus_task(cx, cy, w, h):
        while True:
            ripe = 0
            for x in range(cx, cx + w):
                goto(x, cy)
                for y in range(h):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Cactus:
                        if t != None:
                            harvest()
                        plant(Entities.Cactus)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < h - 1:
                        move(North)
            goto(cx, cy)
            if ripe == w * h:
                sort_cactus(cx, cy, w, h)
                goto(cx, cy)
                harvest()
    
    def pumpkin_task():
        while True:
            ripe = 0
            for x in range(PX, PX + PH):
                goto(x, PY)
                for y in range(PH):
                    if get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != Entities.Pumpkin:
                        if t != None and t != Entities.Dead_Pumpkin:
                            harvest()
                        plant(Entities.Pumpkin)
                        water()
                    elif can_harvest():
                        ripe += 1
                    if y < PH - 1:
                        move(North)
            goto(PX, PY)
            if ripe == PH * PH:
                harvest()
    
    def col_task(x, k):
        if k == 0:
            p = Entities.Carrot
        elif k == 1:
            p = Entities.Sunflower
        elif k == 2:
            p = Entities.Bush
        else:
            p = Entities.Grass
        while True:
            goto(x, 0)
            for y in range(N):
                if p == Entities.Grass:
                    if get_ground_type() == Grounds.Soil:
                        till()
                    if num_items(Items.Fertilizer) > 0:
                        use_item(Items.Fertilizer)
                    if can_harvest():
                        harvest()
                else:
                    if p != Entities.Bush and get_ground_type() != Grounds.Soil:
                        till()
                    t = get_entity_type()
                    if t != p:
                        if t != None:
                            harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                    elif can_harvest():
                        harvest()
                        plant(p)
                        if p != Entities.Bush:
                            water()
                if y < N - 1:
                    move(North)
    
    def solve():
        dirs = [North, East, South, West]
        d = 0
        steps = 0
        while get_entity_type() != Entities.Treasure and steps < 600:
            steps += 1
            for k in [1, 0, 3, 2]:
                nd = (d + k) % 4
                if move(dirs[nd]):
                    d = nd
                    break
        harvest()
    
    def maze_task():
        while True:
            goto(16, 16)
            if get_entity_type() != None:
                harvest()
            plant(Entities.Bush)
            use_item(Items.Weird_Substance, S * 2**(num_unlocked(Unlocks.Mazes) - 1))
            solve()
    
    def clear_edge():
        goto(15, 6)
        harvest()
        goto(15, 7)
        harvest()
    
    goto(16, 6)
    spawn_drone(cactus_task, 16, 6, 6, 6)
    goto(PX, PY)
    spawn_drone(pumpkin_task)
    goto(3, 0)
    spawn_drone(col_task, 3, 1)
    goto(4, 0)
    spawn_drone(col_task, 4, 2)
    goto(5, 0)
    spawn_drone(col_task, 5, 0)
    goto(6, 0)
    spawn_drone(col_task, 6, 3)
    goto(16, 16)
    spawn_drone(maze_task)
    clear_edge()
    goto(8, 0)
    cactus_task(8, 0, 5, 8)
    Changes from the previous revision
      PY = 8
      PH = 8
    - CX = 16
    - CY = 6
    - CH = 6
      S = 6
      
              move(West)
      
    - def sort_cactus():
    -     for p in range(CH - 1):
    -         for y in range(CY, CY + CH):
    -             goto(CX, y)
    -             for i in range(CH - 1):
    + def sort_cactus(cx, cy, w, h):
    +     for p in range(w - 1):
    +         for y in range(cy, cy + h):
    +             goto(cx, y)
    +             for i in range(w - 1):
                      a = measure()
                      b = measure(East)
                          swap(East)
                      move(East)
    -     for p in range(CH - 1):
    -         for x in range(CX, CX + CH):
    -             goto(x, CY)
    -             for i in range(CH - 1):
    +     for p in range(h - 1):
    +         for x in range(cx, cx + w):
    +             goto(x, cy)
    +             for i in range(h - 1):
                      a = measure()
                      b = measure(North)
              use_item(Items.Water)
      
    - def cactus_task():
    + def cactus_task(cx, cy, w, h):
          while True:
              ripe = 0
    -         for x in range(CX, CX + CH):
    -             goto(x, CY)
    -             for y in range(CH):
    +         for x in range(cx, cx + w):
    +             goto(x, cy)
    +             for y in range(h):
                      if get_ground_type() != Grounds.Soil:
                          till()
                      elif can_harvest():
                          ripe += 1
    -                 if y < CH - 1:
    +                 if y < h - 1:
                          move(North)
    -         goto(CX, CY)
    -         if ripe == CH * CH:
    -             sort_cactus()
    -             goto(CX, CY)
    +         goto(cx, cy)
    +         if ripe == w * h:
    +             sort_cactus(cx, cy, w, h)
    +             goto(cx, cy)
                  harvest()
      
              solve()
      
    - goto(CX, CY)
    - spawn_drone(cactus_task)
    + def clear_edge():
    +     goto(15, 6)
    +     harvest()
    +     goto(15, 7)
    +     harvest()
    + 
    + goto(16, 6)
    + spawn_drone(cactus_task, 16, 6, 6, 6)
      goto(PX, PY)
      spawn_drone(pumpkin_task)
      goto(16, 16)
      spawn_drone(maze_task)
    - while True:
    -     do_a_flip()
    + clear_edge()
    + goto(8, 0)
    + cactus_task(8, 0, 5, 8)
    
    Write result the agent saw
    Saved farm (168 lines).
    Game time: 4h 13m 5s elapsed, 1h 46m 55s of budget remaining.
    run_program at 4h 13m for 240s (agent saw)
    Ran farm for 4m of game time; it is still running.
    Inventory change: cactus +36296, carrot +132594, fertilizer -16, gold +7776, hay +91504, power +1251.62, pumpkin +88512, water -128, weird_substance +4000, wood +87296.
    Game time: 4h 17m 15s elapsed, 1h 42m 45s of budget remaining.
    Output:
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: col_task <- water
    use_item(Items.Water)
            ^^           
    --------------------------------------------------------------------
    Warning: Cannot plant Entities.Pumpkin on Grounds.Grassland.
    In: pumpkin_task
    plant(Entities.Pumpkin)
         ^^                
    --------------------------------------------------------------------
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: pumpkin_task <- water
    use_item(Items.Water)
            ^^           
    --------------------------------------------------------------------
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: col_task <- water
    use_item(Items.Water)
            ^^           
    --------------------------------------------------------------------
clear.py1 write · 1 ran · first at 2h 08m
  1. r12h 08mRanFinal1 lines · ran 0s
    harvest()
    Write result the agent saw
    Saved clear (1 lines).
    Game time: 2h 8m 17s elapsed, 3h 51m 43s of budget remaining.
    run_program at 2h 08m for 2s (agent saw)
    Ran clear for 0s of game time; it finished.
    Inventory change: no change.
    Game time: 2h 8m 37s elapsed, 3h 51m 23s of budget remaining.
    Output:
    (none)
    run_program at 2h 13m for 2s (agent saw)
    Ran clear for 0s of game time; it finished.
    Inventory change: hay +8, water +1.
    Game time: 2h 13m 18s elapsed, 3h 46m 42s of budget remaining.
    Output:
    (none)
dino.py4 writes · 3 ran · first at 2h 24m
  1. r12h 24mSaved, never run14 lines
    def dino(cycles):
        while get_pos_x() != 0:
            move(East)
        while get_pos_y() != 0:
            move(North)
        change_hat(Hats.Dinosaur_Hat)
        for c in range(cycles):
            for i in range(11):
                move(North)
            move(East)
            for i in range(11):
                move(South)
            move(West)
        change_hat(Hats.Green_Hat)
    Write result the agent saw
    Saved dino (14 lines).
    Game time: 2h 24m 58s elapsed, 3h 35m 2s of budget remaining.
  2. r22h 28mRan9 lines · +8 −13 · ran 8s
    N = 12
    change_hat(Hats.Dinosaur_Hat)
    for c in range(5):
        for i in range(N - 1):
            move(North)
        move(East)
        for i in range(N - 1):
            move(South)
        move(West)
    Changes from the previous revision
    - def dino(cycles):
    -     while get_pos_x() != 0:
    -         move(East)
    -     while get_pos_y() != 0:
    + N = 12
    + change_hat(Hats.Dinosaur_Hat)
    + for c in range(5):
    +     for i in range(N - 1):
              move(North)
    -     change_hat(Hats.Dinosaur_Hat)
    -     for c in range(cycles):
    -         for i in range(11):
    -             move(North)
    -         move(East)
    -         for i in range(11):
    -             move(South)
    -         move(West)
    -     change_hat(Hats.Green_Hat)
    +     move(East)
    +     for i in range(N - 1):
    +         move(South)
    +     move(West)
    
    Write result the agent saw
    Saved dino (9 lines).
    Game time: 2h 28m 36s elapsed, 3h 31m 24s of budget remaining.
    run_program at 2h 28m for 60s (agent saw)
    Ran dino for 8s of game time; it finished.
    Inventory change: bone +2, cactus -4, fertilizer +1, power -7.64, water +12.
    Game time: 2h 28m 54s elapsed, 3h 31m 6s of budget remaining.
    Output:
    (none)
  3. r32h 28mRan13 lines · +12 −8 · ran 11s · 1 runtime error
    change_hat(Hats.Dinosaur_Hat)
    print(measure(), num_items(Items.Cactus))
    for i in range(6):
        ax, ay = measure()
        print("apple", ax, ay, "me", get_pos_x(), get_pos_y())
        while get_pos_y() < ay:
            print(move(North))
        while get_pos_y() > ay:
            print(move(South))
        while get_pos_x() < ax:
            print(move(East))
        while get_pos_x() > ax:
            print(move(West))
    Changes from the previous revision
    - N = 12
      change_hat(Hats.Dinosaur_Hat)
    - for c in range(5):
    -     for i in range(N - 1):
    -         move(North)
    -     move(East)
    -     for i in range(N - 1):
    -         move(South)
    -     move(West)
    + print(measure(), num_items(Items.Cactus))
    + for i in range(6):
    +     ax, ay = measure()
    +     print("apple", ax, ay, "me", get_pos_x(), get_pos_y())
    +     while get_pos_y() < ay:
    +         print(move(North))
    +     while get_pos_y() > ay:
    +         print(move(South))
    +     while get_pos_x() < ax:
    +         print(move(East))
    +     while get_pos_x() > ax:
    +         print(move(West))
    
    Write result the agent saw
    Saved dino (13 lines).
    Game time: 2h 29m 4s elapsed, 3h 30m 56s of budget remaining.
    run_program at 2h 29m for 60s (agent saw)
    Ran dino for 11s of game time; it stopped with an error: The left hand side of the assignment didn't match the right hand side.
    Inventory change: bone +2, cactus -4, fertilizer +2, power -0.57, water +17.
    Game time: 2h 29m 24s elapsed, 3h 30m 36s of budget remaining.
    Output:
    (3,5) 21079
    apple 3 5 me 0 0
    True
    True
    True
    True
    True
    True
    True
    True
    Error: The left hand side of the assignment didn't match the right hand side.
    In: 
    ax, ay = measure()
           ^^         
    --------------------------------------------------------------------
    Runtime error at 2h 29m (telemetry; not shown to the agent)
    The left hand side of the assignment didn't match the right hand side.
  4. r42h 29mRan12 lines · +11 −12 · ran 44s
    change_hat(Hats.Dinosaur_Hat)
    print(measure())
    for i in range(40):
        if get_pos_y() < 11 and get_pos_x() == 0:
            move(North)
        elif get_pos_x() == 0:
            move(East)
        elif get_pos_y() > 0:
            move(South)
        else:
            move(West)
        print(get_pos_x(), get_pos_y(), get_entity_type(), measure())
    Changes from the previous revision
      change_hat(Hats.Dinosaur_Hat)
    - print(measure(), num_items(Items.Cactus))
    - for i in range(6):
    -     ax, ay = measure()
    -     print("apple", ax, ay, "me", get_pos_x(), get_pos_y())
    -     while get_pos_y() < ay:
    -         print(move(North))
    -     while get_pos_y() > ay:
    -         print(move(South))
    -     while get_pos_x() < ax:
    -         print(move(East))
    -     while get_pos_x() > ax:
    -         print(move(West))
    + print(measure())
    + for i in range(40):
    +     if get_pos_y() < 11 and get_pos_x() == 0:
    +         move(North)
    +     elif get_pos_x() == 0:
    +         move(East)
    +     elif get_pos_y() > 0:
    +         move(South)
    +     else:
    +         move(West)
    +     print(get_pos_x(), get_pos_y(), get_entity_type(), measure())
    
    Write result the agent saw
    Saved dino (12 lines).
    Game time: 2h 29m 44s elapsed, 3h 30m 16s of budget remaining.
    run_program at 2h 29m for 60s (agent saw)
    Ran dino for 44s of game time; it finished.
    Inventory change: bone +2, fertilizer +9, power -2.79, water +70.
    Game time: 2h 30m 38s elapsed, 3h 29m 22s of budget remaining.
    Output:
    13
    3 4 Entities.Sunflower 8
    3 3 Entities.Sunflower 9
    3 2 Entities.Sunflower 13
    3 1 Entities.Sunflower 12
    3 0 Entities.Sunflower 12
    2 0 Entities.Carrot None
    1 0 None None
    0 0 None None
    0 1 None None
    0 2 None None
    0 3 None None
    0 4 None None
    0 5 None None
    0 6 None None
    0 7 None None
    0 8 None None
    0 9 None None
    0 10 None None
    0 11 None None
    1 11 None None
    1 10 None None
    1 9 None None
    1 8 None None
    1 7 None None
    1 6 None None
    1 5 None None
    1 4 None None
    1 3 None None
    1 2 None None
    1 1 None None
    1 0 None None
    0 0 None None
    0 1 None None
    0 2 None None
    0 3 None None
    0 4 None None
    0 5 None None
    0 6 None None
    0 7 None None
    0 8 None None
hat.py4 writes · 4 ran · first at 2h 26m
  1. r12h 26mRan1 lines · 1 runtime error
    change_hat(Hats.Gray_Hat)
    Write result the agent saw
    Saved hat (1 lines).
    Game time: 2h 26m 39s elapsed, 3h 33m 21s of budget remaining.
    run_program at 2h 26m for 2s (agent saw)
    Ran hat for 0s of game time; it stopped with an error: Hats.Gray_Hat must be unlocked before this can be used.
    Inventory change: no change.
    Game time: 2h 26m 49s elapsed, 3h 33m 11s of budget remaining.
    Output:
    Error: Hats.Gray_Hat must be unlocked before this can be used.
    In: 
    change_hat(Hats.Gray_Hat)
              ^^             
    --------------------------------------------------------------------
    Runtime error at 2h 26m (telemetry; not shown to the agent)
    Hats.Gray_Hat must be unlocked before this can be used.
  2. r22h 27mRan5 lines · +5 −1 · ran 7s
    change_hat(Hats.Dinosaur_Hat)
    print(get_entity_type())
    print(measure())
    for i in range(5):
        print(move(North), get_pos_y(), get_entity_type())
    Changes from the previous revision
    - change_hat(Hats.Gray_Hat)
    + change_hat(Hats.Dinosaur_Hat)
    + print(get_entity_type())
    + print(measure())
    + for i in range(5):
    +     print(move(North), get_pos_y(), get_entity_type())
    
    Write result the agent saw
    Saved hat (5 lines).
    Game time: 2h 27m 29s elapsed, 3h 32m 31s of budget remaining.
    run_program at 2h 27m for 10s (agent saw)
    Ran hat for 7s of game time; it finished.
    Inventory change: bone +2, cactus -8, fertilizer +2, power -0.36, water +12.
    Game time: 2h 27m 46s elapsed, 3h 32m 14s of budget remaining.
    Output:
    Entities.Apple
    (0,11)
    True 1 None
    True 2 None
    True 3 None
    True 4 None
    True 5 None
  3. r32h 27mRan1 lines · +1 −5 · 1 runtime error
    change_hat(Hats.Brown_Hat)
    Changes from the previous revision
    - change_hat(Hats.Dinosaur_Hat)
    - print(get_entity_type())
    - print(measure())
    - for i in range(5):
    -     print(move(North), get_pos_y(), get_entity_type())
    + change_hat(Hats.Brown_Hat)
    
    Write result the agent saw
    Saved hat (1 lines).
    Game time: 2h 27m 56s elapsed, 3h 32m 4s of budget remaining.
    run_program at 2h 27m for 3s (agent saw)
    Ran hat for 0s of game time; it stopped with an error: Hats.Brown_Hat must be unlocked before this can be used.
    Inventory change: no change.
    Game time: 2h 28m 6s elapsed, 3h 31m 54s of budget remaining.
    Output:
    Error: Hats.Brown_Hat must be unlocked before this can be used.
    In: 
    change_hat(Hats.Brown_Hat)
              ^^              
    --------------------------------------------------------------------
    Runtime error at 2h 28m (telemetry; not shown to the agent)
    Hats.Brown_Hat must be unlocked before this can be used.
  4. r43h 55mRanFinal2 lines · +2 −1 · 1 runtime error
    change_hat(None)
    print("ok")
    Changes from the previous revision
    - change_hat(Hats.Brown_Hat)
    + change_hat(None)
    + print("ok")
    
    Write result the agent saw
    Saved hat (2 lines).
    Game time: 3h 55m 55s elapsed, 2h 4m 5s of budget remaining.
    run_program at 3h 55m for 3s (agent saw)
    Ran hat for 0s of game time; it stopped with an error: The 1. argument of change_hat() was None. This is not a valid argument.
    Inventory change: no change.
    Game time: 3h 56m 5s elapsed, 2h 3m 55s of budget remaining.
    Output:
    Error: The 1. argument of change_hat() was None. This is not a valid argument.
    In: 
    change_hat(None)
              ^^    
    --------------------------------------------------------------------
    Runtime error at 3h 56m (telemetry; not shown to the agent)
    The 1. argument of change_hat() was None. This is not a valid argument.
sun.py1 write · 1 ran · first at 2h 37m
  1. r12h 37mRan8 lines · ran 1m 20s
    while get_pos_x() != 3:
        move(East)
    while get_pos_y() != 0:
        move(North)
    for y in range(12):
        harvest()
        plant(Entities.Sunflower)
        move(North)
    Write result the agent saw
    Saved sun (8 lines).
    Game time: 2h 37m 18s elapsed, 3h 22m 42s of budget remaining.
    run_program at 2h 37m for 60s (agent saw)
    Ran sun for 1m of game time; it is still running.
    Inventory change: fertilizer +12, water +96.
    Game time: 2h 38m 28s elapsed, 3h 21m 32s of budget remaining.
    Output:
    (none)
mz.py2 writes · 2 ran · first at 3h 54m
  1. r13h 54mRan36 lines · ran 13s
    S = 6
    
    def goto(tx, ty):
        while get_pos_x() < tx:
            move(East)
        while get_pos_x() > tx:
            move(West)
        while get_pos_y() < ty:
            move(North)
        while get_pos_y() > ty:
            move(South)
    
    def solve():
        dirs = [North, East, South, West]
        d = 0
        steps = 0
        while get_entity_type() != Entities.Treasure and steps < 600:
            steps += 1
            for k in [1, 0, 3, 2]:
                nd = (d + k) % 4
                if move(dirs[nd]):
                    d = nd
                    break
        print("steps", steps, get_entity_type())
        harvest()
    
    goto(16, 0)
    for i in range(3):
        goto(16, 0)
        if get_entity_type() != None:
            harvest()
        plant(Entities.Bush)
        print(get_entity_type(), get_pos_x(), get_pos_y())
        use_item(Items.Weird_Substance, S * 2**(num_unlocked(Unlocks.Mazes) - 1))
        print(get_entity_type())
        solve()
    Write result the agent saw
    Saved mz (36 lines).
    Game time: 3h 54m 25s elapsed, 2h 5m 35s of budget remaining.
    run_program at 3h 54m for 60s (agent saw)
    Ran mz for 13s of game time; it finished.
    Inventory change: fertilizer +11, gold +432, hay +32, power -3.78, water +81, weird_substance -72.
    Game time: 3h 54m 48s elapsed, 2h 5m 12s of budget remaining.
    Output:
    Entities.Bush 16 0
    Entities.Hedge
    steps 52 Entities.Treasure
    Entities.Bush 16 0
    Entities.Hedge
    steps 2 Entities.Treasure
    Entities.Bush 16 0
    Entities.Hedge
    steps 16 Entities.Treasure
  2. r24h 01mRan13 lines · +12 −35 · ran 50s
    while get_pos_x() < 19:
        move(East)
    while get_pos_x() > 19:
        move(West)
    while get_pos_y() < 18:
        move(North)
    while get_pos_y() > 18:
        move(South)
    if get_entity_type() != None:
        harvest()
    plant(Entities.Bush)
    print(get_pos_x(), get_pos_y())
    use_item(Items.Weird_Substance, 24)
    Changes from the previous revision
    - S = 6
    - 
    - def goto(tx, ty):
    -     while get_pos_x() < tx:
    -         move(East)
    -     while get_pos_x() > tx:
    -         move(West)
    -     while get_pos_y() < ty:
    -         move(North)
    -     while get_pos_y() > ty:
    -         move(South)
    - 
    - def solve():
    -     dirs = [North, East, South, West]
    -     d = 0
    -     steps = 0
    -     while get_entity_type() != Entities.Treasure and steps < 600:
    -         steps += 1
    -         for k in [1, 0, 3, 2]:
    -             nd = (d + k) % 4
    -             if move(dirs[nd]):
    -                 d = nd
    -                 break
    -     print("steps", steps, get_entity_type())
    + while get_pos_x() < 19:
    +     move(East)
    + while get_pos_x() > 19:
    +     move(West)
    + while get_pos_y() < 18:
    +     move(North)
    + while get_pos_y() > 18:
    +     move(South)
    + if get_entity_type() != None:
          harvest()
    - 
    - goto(16, 0)
    - for i in range(3):
    -     goto(16, 0)
    -     if get_entity_type() != None:
    -         harvest()
    -     plant(Entities.Bush)
    -     print(get_entity_type(), get_pos_x(), get_pos_y())
    -     use_item(Items.Weird_Substance, S * 2**(num_unlocked(Unlocks.Mazes) - 1))
    -     print(get_entity_type())
    -     solve()
    + plant(Entities.Bush)
    + print(get_pos_x(), get_pos_y())
    + use_item(Items.Weird_Substance, 24)
    
    Write result the agent saw
    Saved mz (13 lines).
    Game time: 4h 2m 5s elapsed, 1h 57m 55s of budget remaining.
    run_program at 4h 02m for 30s (agent saw)
    Ran mz for 30s of game time; it is still running.
    Inventory change: fertilizer +24, power -30.25, water +192.
    Game time: 4h 2m 45s elapsed, 1h 57m 15s of budget remaining.
    Output:
    (none)
log9 said · 0 thought · 266 tool calls

Step by step

  1. 0sobserve
    result
    Game time: 10s elapsed, 5h 59m 50s of budget remaining.
    Program: none running.
    Inventory: empty.
    Farm 1x1. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone.
    Entities: Gr=grass.
    y= 0  _Gr3*
    Recent output:
    (none)
  2. 10sdocs_list
    result
    docs/home.md  General Info
    unlocks/auto_unlock  Auto Unlock
    unlocks/cactus  Cactus
    unlocks/carrots  Carrots
    unlocks/costs  Costs
    unlocks/debug  Debug
    unlocks/debug_2  Debug_2
    unlocks/dictionaries  Dictionaries
    unlocks/dinosaurs  Dinosaurs
    unlocks/expand  Expand
    unlocks/fertilizer  Fertilizer
    unlocks/functions  Functions
    unlocks/grass  Grass
    unlocks/hats  Hats
    unlocks/import  Import
    unlocks/leaderb…
  3. 20sdocs_read path="docs/first_program.md"
    result
    # First Program
    ## Text editor
    All programming is done in code windows. Each code window corresponds to a text file containing code. 
    You can rename the file by clicking on its name at the top of the window.
    
    The code can be edited like in any text editor as long as it's not running.
    You can execute the program directly by pressing the green play button in the code window.
    ![](PlayButton50)
    
    You c…
  4. 30sresearch
    result
    auto_unlock (Auto Unlock) level 0/1; cost pumpkin 5000; requires costs
      ## Auto Unlock Automatically unlock things. unlock(Unlocks.Megafarm)
    cactus (Cactus) level 0/6; cost pumpkin 5000; requires pumpkins
      ## Cactus Cactus! plant(Entities.Cactus)
    carrots (Carrots) level 0/10; cost wood 50; requires plant
      ## Carrots Till the soil and plant carrots. till() plant(Entities.Carrot)
    costs (Costs) le…
  5. 40swrite_program name="a" · evidence
    result
    Saved a (10 lines).
    Game time: 50s elapsed, 5h 59m 10s of budget remaining.
  6. 50srun_program name="a" seconds=30
    result
    Ran a for 5s of game time; it finished.
    Inventory change: hay +10.
    Game time: 1m 5s elapsed, 5h 58m 55s of budget remaining.
    Output:
    (none)
  7. 1m 05ssaidBuy loops, then speed.
  8. 1m 05sbuy_upgrade upgrades=["loops"] · evidence
    result
    Bought loops, now level 1. Paid hay 5. Its tutorial is docs page docs/scripting/while.md.
    Game time: 1m 15s elapsed, 5h 58m 45s of budget remaining.
  9. 1m 15swrite_program name="b" · evidence
    result
    Saved b (2 lines).
    Game time: 1m 25s elapsed, 5h 58m 35s of budget remaining.
  10. 1m 25srun_program name="b" seconds=60
    result
    Ran b for 1m of game time; it is still running.
    Inventory change: hay +120.
    Game time: 2m 35s elapsed, 5h 57m 25s of budget remaining.
    Output:
    (none)
  11. 2m 35sbuy_upgrade upgrades=["speed","expand","plant"] · evidence
    result
    Bought speed, now level 1. Paid hay 20. Its tutorial is docs page docs/unlocks/speed.md.
    Bought expand, now level 1. Paid hay 30. Its tutorial is docs page docs/unlocks/expand_1.md.
    Bought plant, now level 1. Paid hay 50. Its tutorial is docs page docs/unlocks/plant.md.
    Game time: 2m 45s elapsed, 5h 57m 15s of budget remaining.
  12. 2m 45sresearch
    result
    auto_unlock (Auto Unlock) level 0/1; cost pumpkin 5000; requires costs
      ## Auto Unlock Automatically unlock things. unlock(Unlocks.Megafarm)
    cactus (Cactus) level 0/6; cost pumpkin 5000; requires pumpkins
      ## Cactus Cactus! plant(Entities.Cactus)
    carrots (Carrots) level 0/10; cost wood 50; available, not affordable
      ## Carrots Till the soil and plant carrots. till() plant(Entities.Carrot)
    costs…
  13. 2m 55sdocs_read path="docs/unlocks/expand_1.md"
    result
    # Expand 1
    Your farm has grown! This space is not much use if you can't move the drone, so there is a new function `move()` that moves the drone. `move()` requires that you specify the direction in which you want the drone to move. There are four new constants for this: `North, East, South, West`
    
    For example, `move(North)` will move the drone one square to the north.
    
    If you move over the edge of…
  14. 3m 05swrite_program name="b" · evidence
    result
    Stop the program before editing it.
  15. 3m 15srun_program name="b" seconds=120
    result
    Ran b for 2m of game time; it is still running.
    Inventory change: no change.
    Game time: 5m 25s elapsed, 5h 54m 35s of budget remaining.
    Output:
    (none)
  16. 5m 25sstop_program
    result
    Program stopped.
    Game time: 5m 35s elapsed, 5h 54m 25s of budget remaining.
  17. 5m 35swrite_program name="c" · evidence
    result
    Saved c (4 lines).
    Game time: 5m 45s elapsed, 5h 54m 15s of budget remaining.
  18. 5m 45srun_program name="c" seconds=60
    result
    Ran c for 1m of game time; it is still running.
    Inventory change: hay +3.
    Game time: 6m 55s elapsed, 5h 53m 5s of budget remaining.
    Output:
    (none)
  19. 6m 55sobserve
    result
    Game time: 7m 5s elapsed, 5h 52m 55s of budget remaining.
    Program: c (running).
    Inventory: hay 48.
    Farm 1x3. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone.
    Entities: Bu=bush.
    y= 2  _Bu1
    y= 1  _Bu2*
    y= 0  _Bu1
    Recent output:
    (none)
  20. 7m 05ssaidI'm planting bushes to get wood, which the next upgrades need. I'll let the program run and check how much wood it collects.
  21. 7m 05swait seconds=90 until_resources={"wood":20}
    result
    Waited 1m 30s (time up). Program: c running.
    Inventory change: no change.
    Game time: 8m 45s elapsed, 5h 51m 15s of budget remaining.
  22. 8m 45sstop_program
    result
    Program stopped.
    Game time: 8m 55s elapsed, 5h 51m 5s of budget remaining.
  23. 8m 55swrite_program name="c" · evidence
    result
    Saved c (7 lines).
    Game time: 9m 5s elapsed, 5h 50m 55s of budget remaining.
  24. 9m 05srun_program name="c" seconds=120
    result
    Ran c for 0s of game time; it stopped with an error: This must be unlocked before it can be used.
    Inventory change: no change.
    Game time: 9m 15s elapsed, 5h 50m 45s of budget remaining.
    Output:
    Error: This must be unlocked before it can be used.
    In: 
    for i in range(3):
                  ^^  
    --------------------------------------------------------------------
  25. 9m 15swrite_program name="c" · evidence
    result
    Saved c (16 lines).
    Game time: 9m 25s elapsed, 5h 50m 35s of budget remaining.
  26. 9m 25srun_program name="c" seconds=120
    result
    Ran c for 2m of game time; it is still running.
    Inventory change: wood +42.
    Game time: 11m 35s elapsed, 5h 48m 25s of budget remaining.
    Output:
    (none)
  27. 11m 35sbuy_upgrade upgrades=["expand","speed"] · evidence
    result
    Bought expand, now level 2. Paid wood 20. Its tutorial is docs page docs/unlocks/expand_1.md.
    Bought speed, now level 2. Paid wood 20. Its tutorial is docs page docs/unlocks/speed.md.
    Game time: 11m 45s elapsed, 5h 48m 15s of budget remaining.
  28. 11m 45sstop_program
    result
    Program stopped.
    Game time: 11m 55s elapsed, 5h 48m 5s of budget remaining.
  29. 11m 55swrite_program name="c" · evidence
    result
    Saved c (11 lines).
    Game time: 12m 5s elapsed, 5h 47m 55s of budget remaining.
  30. 12m 05srun_program name="c" seconds=150
    result
    Ran c for 2m 30s of game time; it is still running.
    Inventory change: hay +10, wood +201.
    Game time: 14m 45s elapsed, 5h 45m 15s of budget remaining.
    Output:
    (none)
  31. 14m 45sbuy_upgrade upgrades=["carrots","expand","speed"] · evidence
    result
    Bought carrots, now level 1. Paid wood 50. Its tutorial is docs page docs/unlocks/carrots.md.
    Could not buy expand: Not enough resources.
    Could not buy speed: Not enough resources.
    Game time: 14m 55s elapsed, 5h 45m 5s of budget remaining.
  32. 14m 55sresearch
    result
    auto_unlock (Auto Unlock) level 0/1; cost pumpkin 5000; requires costs
      ## Auto Unlock Automatically unlock things. unlock(Unlocks.Megafarm)
    cactus (Cactus) level 0/6; cost pumpkin 5000; requires pumpkins
      ## Cactus Cactus! plant(Entities.Cactus)
    carrots (Carrots) level 1/10; cost wood 250; available, not affordable; tutorial docs/unlocks/carrots.md
      ## Carrots Increases the yield and cost of c…
  33. 15m 05sstop_program
    result
    Program stopped.
    Game time: 15m 15s elapsed, 5h 44m 45s of budget remaining.
  34. 15m 15swrite_program name="init" · evidence
    result
    Saved init (6 lines).
    Game time: 15m 25s elapsed, 5h 44m 35s of budget remaining.
  35. 15m 25swrite_program name="c" · evidence
    result
    Saved c (28 lines).
    Game time: 15m 35s elapsed, 5h 44m 25s of budget remaining.
  36. 15m 35srun_program name="init" seconds=10
    result
    Ran init for 1s of game time; it finished.
    Inventory change: no change.
    Game time: 15m 46s elapsed, 5h 44m 14s of budget remaining.
    Output:
    (none)
  37. 15m 46swrite_program name="fix" · evidence
    result
    Saved fix (2 lines).
    Game time: 15m 56s elapsed, 5h 44m 4s of budget remaining.
  38. 15m 56srun_program name="fix" seconds=3
    result
    Ran fix for 1s of game time; it finished.
    Inventory change: no change.
    Game time: 16m 7s elapsed, 5h 43m 53s of budget remaining.
    Output:
    (none)
  39. 16m 07srun_program name="c" seconds=200
    result
    Ran c for 3m 20s of game time; it is still running.
    Inventory change: carrot +87, hay +94, wood +101.
    Game time: 19m 37s elapsed, 5h 40m 23s of budget remaining.
    Output:
    (none)
  40. 19m 37sbuy_upgrade upgrades=["speed","expand","operators","trees","watering"] · evidence
    result
    Bought speed, now level 3. Paid wood 50, carrot 50. Its tutorial is docs page docs/unlocks/speed.md.
    Bought expand, now level 3. Paid wood 30, carrot 20. Its tutorial is docs page docs/unlocks/expand_1.md.
    Bought operators, now level 1. Paid hay 150, wood 10. Its tutorial is docs page docs/scripting/operators.md.
    Could not buy trees: Not enough resources.
    Bought watering, now level 1. Paid wood 50…
  41. 19m 47sstop_program
    result
    Program stopped.
    Game time: 19m 57s elapsed, 5h 40m 3s of budget remaining.
  42. 19m 57swrite_program name="init" · evidence
    result
    Saved init (10 lines).
    Game time: 20m 7s elapsed, 5h 39m 53s of budget remaining.
  43. 20m 07swrite_program name="c" · evidence
    result
    Saved c (49 lines).
    Game time: 20m 17s elapsed, 5h 39m 43s of budget remaining.
  44. 20m 17srun_program name="init" seconds=5
    result
    Ran init for 2s of game time; it finished.
    Inventory change: no change.
    Game time: 20m 28s elapsed, 5h 39m 32s of budget remaining.
    Output:
    (none)
  45. 20m 28srun_program name="c" seconds=240
    result
    Ran c for 4m of game time; it is still running.
    Inventory change: carrot +218, hay +137, water +24, wood +317.
    Game time: 24m 38s elapsed, 5h 35m 22s of budget remaining.
    Output:
    (none)
  46. 24m 38ssaidBuilding up wood, carrots and hay with a 4x4 farm; buying upgrades now.
  47. 24m 38sbuy_upgrade upgrades=["senses","variables","trees","speed","debug"] · evidence
    result
    Bought senses, now level 1. Paid hay 100. Its tutorial is docs page docs/unlocks/senses.md.
    Bought variables, now level 1. Paid carrot 35. Its tutorial is docs page docs/scripting/variables.md.
    Bought trees, now level 1. Paid wood 50, carrot 70. Its tutorial is docs page docs/unlocks/trees.md.
    Could not buy speed: Not enough resources.
    Bought debug, now level 1. Paid hay 50, wood 50. Its tutorial …
  48. 24m 48sbuy_upgrade upgrades=["functions","import","expand","speed","watering","lists"] · evidence
    result
    Bought functions, now level 1. Paid carrot 40. Its tutorial is docs page docs/scripting/functions.md.
    Bought import, now level 1. Paid carrot 80. Its tutorial is docs page docs/scripting/import.md.
    Could not buy expand: Not enough resources.
    Could not buy speed: Not enough resources.
    Bought watering, now level 2. Paid wood 200. Its tutorial is docs page docs/unlocks/watering.md.
    Could not buy list…
  49. 24m 58sstop_program
    result
    Program stopped.
    Game time: 25m 8s elapsed, 5h 34m 52s of budget remaining.
  50. 25m 08swrite_program name="c" · evidence
    result
    Saved c (15 lines).
    Game time: 25m 18s elapsed, 5h 34m 42s of budget remaining.
  51. 25m 18srun_program name="c" seconds=120
    result
    Ran c for 2m of game time; it is still running.
    Inventory change: carrot +111, hay +109, water +24, wood +177.
    Game time: 27m 28s elapsed, 5h 32m 32s of budget remaining.
    Output:
    (none)
  52. 27m 28swait seconds=180
    result
    Waited 3m (time up). Program: c running.
    Inventory change: carrot +184, hay +112, water +36, wood +244.
    Game time: 30m 38s elapsed, 5h 29m 22s of budget remaining.
  53. 30m 38sbuy_upgrade upgrades=["speed","expand","pumpkins","sunflowers","lists"] · evidence
    result
    Could not buy speed: Not enough resources.
    Bought expand, now level 4. Paid wood 100, carrot 50. Its tutorial is docs page docs/unlocks/expand_1.md.
    Bought pumpkins, now level 1. Paid wood 500, carrot 200. Its tutorial is docs page docs/unlocks/pumpkins.md.
    Could not buy sunflowers: Not enough resources.
    Could not buy lists: Not enough resources.
    Game time: 30m 48s elapsed, 5h 29m 12s of budget re…
  54. 30m 48sstop_program
    result
    Program stopped.
    Game time: 30m 58s elapsed, 5h 29m 2s of budget remaining.
  55. 30m 58swrite_program name="c" · evidence
    result
    Saved c (21 lines).
    Game time: 31m 8s elapsed, 5h 28m 52s of budget remaining.
  56. 31m 08srun_program name="c" seconds=120
    result
    Ran c for 2m of game time; it is still running.
    Inventory change: carrot +47, hay +58, pumpkin +17, water +24, wood +148.
    Game time: 33m 18s elapsed, 5h 26m 42s of budget remaining.
    Output:
    (none)
  57. 33m 18swait seconds=240
    result
    Waited 4m (time up). Program: c running.
    Inventory change: carrot +184, hay +84, water +48, wood +294.
    Game time: 37m 28s elapsed, 5h 22m 32s of budget remaining.
  58. 37m 28sbuy_upgrade upgrades=["speed","lists","sunflowers","expand","watering","grass"] · evidence
    result
    Could not buy speed: Not enough resources.
    Could not buy lists: Not enough resources.
    Could not buy sunflowers: Not enough resources.
    Could not buy expand: Not enough resources.
    Could not buy watering: Not enough resources.
    Bought grass, now level 2. Paid hay 300.
    Game time: 37m 38s elapsed, 5h 22m 22s of budget remaining.
  59. 37m 38sobserve
    result
    Game time: 37m 48s elapsed, 5h 22m 12s of budget remaining.
    Program: c (running).
    Inventory: hay 171, wood 551, carrot 367, pumpkin 19, water 184.
    Farm 6x6. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone.
    Entities: Gr=grass, Ca=carrot, Bu=bush, De=dead_pumpkin.
    y= 5  _Gr3  #Ca3  _Bu3  …
  60. 37m 48sdocs_read path="unlocks/pumpkins"
    result
    ## Pumpkins
    Increases the yield and cost of pumpkins.
    100% => 200%
    
    ### Unlock Cost [Current cost: carrot=1000]
    
    [Tutorial](docs/unlocks/pumpkins.md)
    Game time: 37m 58s elapsed, 5h 22m 2s of budget remaining.
  61. 37m 58sdocs_read path="docs/unlocks/pumpkins.md"
    result
    # Pumpkins
    [Pumpkins](objects/pumpkin) grow like carrots on tilled soil. Planting them costs carrots.
    
    When all the pumpkins in a square are fully grown, they will grow together to form a giant pumpkin. Unfortunately, pumpkins have a 20% chance of dying once they are fully grown, so you will need to replant the dead ones if you want them to merge. 
    
    When a pumpkin dies, it leaves behind a dead pum…
  62. 38m 08sstop_program
    result
    Program stopped.
    Game time: 38m 18s elapsed, 5h 21m 42s of budget remaining.
  63. 38m 18swrite_program name="c" · evidence
    result
    Saved c (40 lines).
    Game time: 38m 28s elapsed, 5h 21m 32s of budget remaining.
  64. 38m 28srun_program name="c" seconds=150
    result
    Ran c for 2m 30s of game time; it is still running.
    Inventory change: carrot +48, hay -82, pumpkin +60, water +30, wood +15.
    Game time: 41m 8s elapsed, 5h 18m 52s of budget remaining.
    Output:
    (none)
  65. 41m 08swait seconds=240
    result
    Waited 4m (time up). Program: c running.
    Inventory change: carrot +94, hay -127, pumpkin +189, water +48, wood +33.
    Game time: 45m 18s elapsed, 5h 14m 42s of budget remaining.
  66. 45m 18sresearch
    result
    auto_unlock (Auto Unlock) level 0/1; cost pumpkin 5000; requires costs
      ## Auto Unlock Automatically unlock things. unlock(Unlocks.Megafarm)
    cactus (Cactus) level 0/6; cost pumpkin 5000; available, not affordable
      ## Cactus Cactus! plant(Entities.Cactus)
    carrots (Carrots) level 1/10; cost wood 250; can buy now; tutorial docs/unlocks/carrots.md
      ## Carrots Increases the yield and cost of carrots…
  67. 45m 28sbuy_upgrade upgrades=["speed","fertilizer","sunflowers","lists","carrots","grass"] · evidence
    result
    Bought speed, now level 4. Paid carrot 500. Its tutorial is docs page docs/unlocks/speed.md.
    Bought fertilizer, now level 1. Paid wood 500. Its tutorial is docs page docs/unlocks/fertilizer.md.
    Could not buy sunflowers: Not enough resources.
    Could not buy lists: Not enough resources.
    Could not buy carrots: Not enough resources.
    Could not buy grass: Not enough resources.
    Game time: 45m 38s elapsed,…
  68. 45m 38sobserve
    result
    Game time: 45m 48s elapsed, 5h 14m 12s of budget remaining.
    Program: c (running).
    Inventory: wood 163, carrot 31, pumpkin 295, water 280, fertilizer 1.
    Farm 6x6. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone.
    Entities: Bu=bush, Pu=pumpkin.
    y= 5  #--   #--   #Bu1  #Pu3  #Pu3  #Pu3
    y= 4…
  69. 45m 48sstop_program
    result
    Program stopped.
    Game time: 45m 58s elapsed, 5h 14m 2s of budget remaining.
  70. 45m 58swrite_program name="c" · evidence
    result
    Saved c (43 lines).
    Game time: 46m 8s elapsed, 5h 13m 52s of budget remaining.
  71. 46m 08srun_program name="c" seconds=180
    result
    Ran c for 3m of game time; it is still running.
    Inventory change: carrot +311, fertilizer +18, hay +144, pumpkin +61, water -204, wood -8.
    Game time: 49m 18s elapsed, 5h 10m 42s of budget remaining.
    Output:
    Warning: Didn't have the required items to plant Entities.Carrot.
    In: work
    plant(Entities.Carrot)
         ^^               
    --------------------------------------------------------------------
  72. 49m 18swait seconds=180
    result
    Waited 3m (time up). Program: c running.
    Inventory change: carrot +370, fertilizer +18, hay +202, pumpkin +10, water -71, wood -46.
    Game time: 52m 28s elapsed, 5h 7m 32s of budget remaining.
  73. 52m 28sobserve
    result
    Game time: 52m 38s elapsed, 5h 7m 22s of budget remaining.
    Program: c (running).
    Inventory: hay 368, wood 117, carrot 740, pumpkin 366, fertilizer 42.
    Farm 6x6. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone.
    Entities: Gr=grass, Ca=carrot, Bu=bush, Pu=pumpkin.
    y= 5  _Gr3  #Ca3  #Ca1  #…
  74. 52m 38sbuy_upgrade upgrades=["speed","trees","sunflowers","lists","carrots"] · evidence
    result
    Could not buy speed: Not enough resources.
    Bought trees, now level 2. Paid hay 300. Its tutorial is docs page docs/unlocks/trees.md.
    Bought sunflowers, now level 1. Paid carrot 500. Its tutorial is docs page docs/unlocks/sunflowers.md.
    Could not buy lists: Not enough resources.
    Could not buy carrots: Not enough resources.
    Game time: 52m 48s elapsed, 5h 7m 12s of budget remaining.
  75. 52m 48sstop_program
    result
    Program stopped.
    Game time: 52m 58s elapsed, 5h 7m 2s of budget remaining.
  76. 52m 58swrite_program name="c" · evidence
    result
    Saved c (37 lines).
    Game time: 53m 8s elapsed, 5h 6m 52s of budget remaining.
  77. 53m 08srun_program name="c" seconds=180
    result
    Ran c for 3m of game time; it is still running.
    Inventory change: carrot -3, fertilizer +18, hay +415, power +3.34, pumpkin +144, water -4, wood +791.
    Game time: 56m 18s elapsed, 5h 3m 42s of budget remaining.
    Output:
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: work
    use_item(Items.Water)
            ^^           
    -----------------------------------------------------------------…
  78. 56m 18sbuy_upgrade upgrades=["watering","grass","carrots","lists","speed"] · evidence
    result
    Bought watering, now level 3. Paid wood 800. Its tutorial is docs page docs/unlocks/watering.md.
    Could not buy grass: Not enough resources.
    Could not buy carrots: Not enough resources.
    Could not buy lists: Not enough resources.
    Could not buy speed: Not enough resources.
    Game time: 56m 28s elapsed, 5h 3m 32s of budget remaining.
  79. 56m 28sstop_program
    result
    Program stopped.
    Game time: 56m 38s elapsed, 5h 3m 22s of budget remaining.
  80. 56m 38swrite_program name="c" · evidence
    result
    Saved c (37 lines).
    Game time: 56m 48s elapsed, 5h 3m 12s of budget remaining.
  81. 56m 48srun_program name="c" seconds=240
    result
    Ran c for 4m of game time; it is still running.
    Inventory change: carrot +213, fertilizer +24, hay +396, power +81.05, pumpkin +192, water -8, wood +380.
    Game time: 1h 58s elapsed, 4h 59m 2s of budget remaining.
    Output:
    (none)
  82. 1h 00mbuy_upgrade upgrades=["speed","carrots","grass","lists","expand","watering"] · evidence
    result
    Could not buy speed: Not enough resources.
    Bought carrots, now level 2. Paid wood 250. Its tutorial is docs page docs/unlocks/carrots.md.
    Could not buy grass: Not enough resources.
    Could not buy lists: Not enough resources.
    Could not buy expand: Not enough resources.
    Could not buy watering: Not enough resources.
    Game time: 1h 1m 8s elapsed, 4h 58m 52s of budget remaining.
  83. 1h 01mwait seconds=240
    result
    Waited 4m (time up). Program: c running.
    Inventory change: carrot +874, fertilizer +24, hay -254, power +84.01, pumpkin +211, wood -148.
    Game time: 1h 5m 18s elapsed, 4h 54m 42s of budget remaining.
  84. 1h 05mbuy_upgrade upgrades=["speed","lists","grass","expand","watering","carrots"] · evidence
    result
    Bought speed, now level 5. Paid carrot 1000. Its tutorial is docs page docs/unlocks/speed.md.
    Could not buy lists: Not enough resources.
    Could not buy grass: Not enough resources.
    Could not buy expand: Not enough resources.
    Could not buy watering: Not enough resources.
    Could not buy carrots: Not enough resources.
    Game time: 1h 5m 28s elapsed, 4h 54m 32s of budget remaining.
  85. 1h 05mobserve
    result
    Game time: 1h 5m 38s elapsed, 4h 54m 22s of budget remaining.
    Program: c (running).
    Inventory: hay 703, wood 93, carrot 535, pumpkin 974, fertilizer 120, power 188.53.
    Farm 6x6. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone.
    Entities: Pu=pumpkin, Gr=grass, Ca=carrot, Su=sunflower, Bu=…
  86. 1h 05mstop_program
    result
    Program stopped.
    Game time: 1h 5m 48s elapsed, 4h 54m 12s of budget remaining.
  87. 1h 05mwrite_program name="c" · evidence
    result
    Saved c (37 lines).
    Game time: 1h 5m 58s elapsed, 4h 54m 2s of budget remaining.
  88. 1h 05mrun_program name="c" seconds=60
    result
    Ran c for 1m of game time; it is still running.
    Inventory change: carrot +224, fertilizer +6, hay +30, power +13.33, pumpkin +76, water -8, wood +38.
    Game time: 1h 7m 8s elapsed, 4h 52m 52s of budget remaining.
    Output:
    (none)
  89. 1h 07mbuy_upgrade upgrades=["expand"] · evidence
    result
    Bought expand, now level 5. Paid pumpkin 1000. Its tutorial is docs page docs/unlocks/expand_1.md.
    Game time: 1h 7m 18s elapsed, 4h 52m 42s of budget remaining.
  90. 1h 07mstop_program
    result
    Program stopped.
    Game time: 1h 7m 28s elapsed, 4h 52m 32s of budget remaining.
  91. 1h 07mwrite_program name="c" · evidence
    result
    Saved c (37 lines).
    Game time: 1h 7m 38s elapsed, 4h 52m 22s of budget remaining.
  92. 1h 07mrun_program name="c" seconds=240
    result
    Ran c for 4m of game time; it is still running.
    Inventory change: carrot +1904, fertilizer +24, hay -708, power +9.08, pumpkin +231, water -9, wood +276.
    Game time: 1h 11m 48s elapsed, 4h 48m 12s of budget remaining.
    Output:
    Warning: Didn't have the required items to plant Entities.Carrot.
    In: work
    plant(w)
         ^^ 
    --------------------------------------------------------------------
  93. 1h 11mbuy_upgrade upgrades=["lists","carrots","grass","watering","polyculture","timing"] · evidence
    result
    Bought lists, now level 1. Paid carrot 500. Its tutorial is docs page docs/scripting/lists.md.
    Could not buy carrots: Not enough resources.
    Could not buy grass: Not enough resources.
    Could not buy watering: Not enough resources.
    Could not buy polyculture: Not enough resources.
    Could not buy timing: Not enough resources.
    Game time: 1h 11m 58s elapsed, 4h 48m 2s of budget remaining.
  94. 1h 11mobserve
    result
    Game time: 1h 12m 8s elapsed, 4h 47m 52s of budget remaining.
    Program: c (running).
    Inventory: hay 1, wood 439, carrot 2316, pumpkin 339, fertilizer 159, power 205.12.
    Farm 8x8. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone.
    Entities: Gr=grass, Ca=carrot, Su=sunflower, Bu=bush, Pu=pum…
  95. 1h 12mstop_program
    result
    Program stopped.
    Game time: 1h 12m 18s elapsed, 4h 47m 42s of budget remaining.
  96. 1h 12mwrite_program name="c" · evidence
    result
    Saved c (37 lines).
    Game time: 1h 12m 28s elapsed, 4h 47m 32s of budget remaining.
  97. 1h 12mrun_program name="c" seconds=300
    result
    Ran c for 5m of game time; it is still running.
    Inventory change: carrot +462, fertilizer +30, hay +2842, power +22.35, pumpkin +316, water -7, wood +2140.
    Game time: 1h 17m 38s elapsed, 4h 42m 22s of budget remaining.
    Output:
    (none)
  98. 1h 17mbuy_upgrade upgrades=["watering","grass","carrots","trees","expand","pumpkins","grass","watering","polyculture","utilities","timing"] · evidence
    result
    Could not buy watering: Not enough resources.
    Bought grass, now level 3. Paid wood 500.
    Bought carrots, now level 3. Paid wood 1250. Its tutorial is docs page docs/unlocks/carrots.md.
    Bought trees, now level 3. Paid hay 1200. Its tutorial is docs page docs/unlocks/trees.md.
    Could not buy expand: Not enough resources.
    Bought pumpkins, now level 2. Paid carrot 1000. Its tutorial is docs page docs/un…
  99. 1h 17mstop_program
    result
    Program stopped.
    Game time: 1h 17m 58s elapsed, 4h 42m 2s of budget remaining.
  100. 1h 17mwrite_program name="c" · evidence
    result
    Saved c (61 lines).
    Game time: 1h 18m 8s elapsed, 4h 41m 52s of budget remaining.
  101. 1h 18mrun_program name="c" seconds=300
    result
    Ran c for 5m of game time; it is still running.
    Inventory change: carrot +2821, fertilizer +30, hay +2380, power +23.32, pumpkin +1928, water -8, wood +1384.
    Game time: 1h 23m 18s elapsed, 4h 36m 42s of budget remaining.
    Output:
    (none)
  102. 1h 23msaidPumpkins are flowing. Spend now.
  103. 1h 23mbuy_upgrade upgrades=["expand","polyculture","utilities","timing","cactus","watering","grass","dictionaries"] · evidence
    result
    Could not buy expand: Not enough resources.
    Could not buy polyculture: Not enough resources.
    Bought utilities, now level 1. Paid pumpkin 1000.
    Bought timing, now level 1. Paid pumpkin 1000. Its tutorial is docs page docs/unlocks/timing.md.
    Could not buy cactus: Not enough resources.
    Could not buy watering: Not enough resources.
    Bought grass, now level 4. Paid wood 2500.
    Could not buy dictionaries:…
  104. 1h 23mresearch
    result
    auto_unlock (Auto Unlock) level 0/1; cost pumpkin 5000; requires costs
      ## Auto Unlock Automatically unlock things. unlock(Unlocks.Megafarm)
    cactus (Cactus) level 0/6; cost pumpkin 5000; available, not affordable
      ## Cactus Cactus! plant(Entities.Cactus)
    carrots (Carrots) level 3/10; cost wood 6250; available, not affordable; tutorial docs/unlocks/carrots.md
      ## Carrots Increases the yield and …
  105. 1h 23mwait seconds=240
    result
    Waited 4m (time up). Program: c running.
    Inventory change: carrot +2133, fertilizer +24, hay +6592, power +38.00, pumpkin +1536, wood +1384.
    Game time: 1h 27m 48s elapsed, 4h 32m 12s of budget remaining.
  106. 1h 27mbuy_upgrade upgrades=["pumpkins","cactus","polyculture","trees","watering","dictionaries"] · evidence
    result
    Bought pumpkins, now level 3. Paid carrot 4000. Its tutorial is docs page docs/unlocks/pumpkins.md.
    Could not buy cactus: Not enough resources.
    Could not buy polyculture: Not enough resources.
    Bought trees, now level 4. Paid hay 4800. Its tutorial is docs page docs/unlocks/trees.md.
    Could not buy watering: Not enough resources.
    Could not buy dictionaries: Not enough resources.
    Game time: 1h 27m 58…
  107. 1h 27mwait seconds=200
    result
    Waited 3m 20s (time up). Program: c running.
    Inventory change: carrot +1459, fertilizer +20, hay +5360, power +18.52, pumpkin +2816, water -1, wood +4112.
    Game time: 1h 31m 28s elapsed, 4h 28m 32s of budget remaining.
  108. 1h 31mbuy_upgrade upgrades=["cactus","polyculture","watering","dictionaries","expand"] · evidence
    result
    Bought cactus, now level 1. Paid pumpkin 5000. Its tutorial is docs page docs/unlocks/cactus.md.
    Could not buy polyculture: Not enough resources.
    Bought watering, now level 4. Paid wood 3200. Its tutorial is docs page docs/unlocks/watering.md.
    Could not buy dictionaries: Not enough resources.
    Could not buy expand: Not enough resources.
    Game time: 1h 31m 38s elapsed, 4h 28m 22s of budget remaining.
  109. 1h 31mdocs_read path="docs/unlocks/cactus.md"
    result
    # Cactus
    Like other plants, [cacti](objects/cactus) can be grown on soil and harvested as usual.
    
    However, they come in various sizes and have a strange sense of order.
    
    If you harvest a fully-grown cactus and all neighboring cacti are in sorted order, it will also harvest all neighboring cacti recursively.
    
    A cactus is considered to be in sorted order if all neighboring cacti to the `North` and `…
  110. 1h 31mstop_program
    result
    Program stopped.
    Game time: 1h 31m 58s elapsed, 4h 28m 2s of budget remaining.
  111. 1h 31mwrite_program name="c" · evidence
    result
    Saved c (96 lines).
    Game time: 1h 32m 8s elapsed, 4h 27m 52s of budget remaining.
  112. 1h 32mwrite_program name="c" · evidence
    result
    Saved c (92 lines).
    Game time: 1h 32m 18s elapsed, 4h 27m 42s of budget remaining.
  113. 1h 32mrun_program name="c" seconds=240
    result
    Ran c for 12s of game time; it stopped with an error: The operator > cannot be used on the operands 9 and None.
    Inventory change: carrot +32, fertilizer +2, hay +96, power +3.14, pumpkin +232, water -23, wood +96.
    Game time: 1h 32m 40s elapsed, 4h 27m 20s of budget remaining.
    Output:
    Error: The operator > cannot be used on the operands 9 and None.
    In: sort_cactus
    if measure() > measure(East):
        …
  114. 1h 32mlist_programs
    result
    ## a
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    
    
    ## b
    while True:
    	harvest()
    
    
    ## c
    def goto(tx, ty):
    	while get_pos_x() != tx:
    		move(East)
    	while get_pos_y() != ty:
    		move(North)
    
    def sort_cactus():
    	for p in range(3):
    		for y in range(4):
    			goto(4, y)
    			for i in range(3):
    				if measure() > measure(East):
    					swap(East)
    				move(East)…
  115. 1h 32mwrite_program name="c" · evidence
    result
    Saved c (98 lines).
    Game time: 1h 33m elapsed, 4h 27m of budget remaining.
  116. 1h 33mrun_program name="c" seconds=240
    result
    Ran c for 4m of game time; it is still running.
    Inventory change: cactus +3072, carrot +501, fertilizer +24, hay +1464, power -51.83, pumpkin +1400, water -24, wood +1016.
    Game time: 1h 37m 10s elapsed, 4h 22m 50s of budget remaining.
    Output:
    (none)
  117. 1h 37mbuy_upgrade upgrades=["dinosaurs","expand","polyculture","dictionaries","cactus"] · evidence
    result
    Bought dinosaurs, now level 1. Paid cactus 2000. Its tutorial is docs page docs/unlocks/dinosaurs.md.
    Could not buy expand: Not enough resources.
    Could not buy polyculture: Not enough resources.
    Could not buy dictionaries: Not enough resources.
    Could not buy cactus: Not enough resources.
    Game time: 1h 37m 20s elapsed, 4h 22m 40s of budget remaining.
  118. 1h 37mdocs_read path="docs/unlocks/dinosaurs.md"
    result
    # Dinosaurs
    Dinosaurs are ancient, majestic creatures that can be farmed for ancient bones.
    
    Unfortunately dinosaurs have gone extinct a long time ago, so the best we can do now is dressing up as one.
    For this purpose you have received the new dinosaur hat.
    
    The hat can be equipped with
    `change_hat(Hats.Dinosaur_Hat)`
    
    Unfortunately it doesn't quite look like on the advertisement...
    
    If you equip …
  119. 1h 37mwait seconds=300
    result
    Waited 5m (time up). Program: c running.
    Inventory change: cactus +4096, carrot +581, fertilizer +30, hay +1968, power -108.75, pumpkin +1792, water -2, wood +904.
    Game time: 1h 42m 40s elapsed, 4h 17m 20s of budget remaining.
  120. 1h 42mbuy_upgrade upgrades=["expand","polyculture","dictionaries","costs","cactus"] · evidence
    result
    Could not buy expand: Not enough resources.
    Bought polyculture, now level 1. Paid pumpkin 3000. Its tutorial is docs page docs/unlocks/polyculture.md.
    Could not buy dictionaries: Not enough resources.
    Could not buy costs: Requires dictionaries first.
    Could not buy cactus: Not enough resources.
    Game time: 1h 42m 50s elapsed, 4h 17m 10s of budget remaining.
  121. 1h 42mobserve
    result
    Game time: 1h 43m elapsed, 4h 17m of budget remaining.
    Program: c (running).
    Inventory: hay 17301, wood 5485, carrot 6170, pumpkin 1109, cactus 5680, water 6, fertilizer 345, power 149.39.
    Farm 8x8. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone.
    Entities: Gr=grass, Ca=carrot, Su=sunfl…
  122. 1h 43mbuy_upgrade upgrades=["watering","fertilizer","carrots","cactus","pumpkins","mazes"] · evidence
    result
    Could not buy watering: Not enough resources.
    Bought fertilizer, now level 2. Paid wood 1500. Its tutorial is docs page docs/unlocks/fertilizer.md.
    Could not buy carrots: Not enough resources.
    Could not buy cactus: Not enough resources.
    Could not buy pumpkins: Not enough resources.
    Could not buy mazes: Not enough resources.
    Game time: 1h 43m 10s elapsed, 4h 16m 50s of budget remaining.
  123. 1h 43mdocs_search query="weird_substance"
    result
    docs/home.md: …od) [Carrot](items/carrot) [Pumpkin](items/pumpkin) [Cactus](items/cactus) [Bone](items/bone) [Weird_Substance](items/weird_substance) [Water](items/water) [Fertilizer](items/fertilizer) [Power](items/power) ## Entities [Apple](objects/apple) [Bush](objects/bush) …
    docs/unlocks/fertilizer.md: …ects. Plants grown with fertilizer will be infected. When a plant is infected, half of its…
  124. 1h 43mstop_program
    result
    Program stopped.
    Game time: 1h 43m 30s elapsed, 4h 16m 30s of budget remaining.
  125. 1h 43mwrite_program name="c" · evidence
    result
    Saved c (100 lines).
    Game time: 1h 43m 40s elapsed, 4h 16m 20s of budget remaining.
  126. 1h 43mrun_program name="c" seconds=300
    result
    Ran c for 5m of game time; it is still running.
    Inventory change: cactus +3840, carrot +1353, fertilizer -180, hay +652, power -80.58, pumpkin +1568, water -15, weird_substance +1608, wood +1860.
    Game time: 1h 48m 50s elapsed, 4h 11m 10s of budget remaining.
    Output:
    (none)
  127. 1h 48msaidWeird substance is coming in. Buying mazes and other upgrades.
  128. 1h 48mbuy_upgrade upgrades=["mazes","expand","dictionaries","watering","carrots","cactus","pumpkins"] · evidence
    result
    Bought mazes, now level 1. Paid weird_substance 1000. Its tutorial is docs page docs/unlocks/mazes.md.
    Could not buy expand: Not enough resources.
    Bought dictionaries, now level 1. Paid pumpkin 2500. Its tutorial is docs page docs/scripting/dicts.md.
    Could not buy watering: Not enough resources.
    Could not buy carrots: Not enough resources.
    Could not buy cactus: Not enough resources.
    Could not buy …
  129. 1h 49mresearch
    result
    auto_unlock (Auto Unlock) level 0/1; cost pumpkin 5000; requires costs
      ## Auto Unlock Automatically unlock things. unlock(Unlocks.Megafarm)
    cactus (Cactus) level 1/6; cost pumpkin 20000; available, not affordable; tutorial docs/unlocks/cactus.md
      ## Cactus Increases the yield and cost of cactus. 100% => 200%
    carrots (Carrots) level 3/10; cost wood 6250; available, not affordable; tutorial docs/…
  130. 1h 49mdocs_read path="docs/unlocks/mazes.md"
    result
    # Mazes
    `Items.Weird_Substance`, which is obtained by [fertilizing](docs/unlocks/fertilizer.md) plants, has a strange effect on bushes. If the drone is over a bush and you call `use_item(Items.Weird_Substance, amount)` the bush will grow into a maze of hedges.
    The size of the maze depends on the amount of `Items.Weird_Substance` used (the second argument of the `use_item()` call).
    Without maze upg…
  131. 1h 49mwrite_program name="maze" · evidence
    result
    Saved maze (17 lines).
    Game time: 1h 49m 30s elapsed, 4h 10m 30s of budget remaining.
  132. 1h 49mrun_program name="maze" seconds=60
    result
    Ran maze for 1m of game time; it is still running.
    Inventory change: cactus +1, fertilizer +12, gold +1344, power -47.65, water +48, weird_substance -176.
    Game time: 1h 50m 40s elapsed, 4h 9m 20s of budget remaining.
    Output:
    (none)
  133. 1h 50mwait seconds=40 until_resources={"gold":2000}
    result
    Waited 30s (gold reached 2048). Program: maze running.
    Inventory change: fertilizer +6, gold +576, water +24, weird_substance -64.
    Game time: 1h 51m 21s elapsed, 4h 8m 39s of budget remaining.
  134. 1h 51mbuy_upgrade upgrades=["megafarm"] · evidence
    result
    Bought megafarm, now level 1. Paid gold 2000. Its tutorial is docs page docs/unlocks/megafarm.md.
    Game time: 1h 51m 31s elapsed, 4h 8m 29s of budget remaining.
  135. 1h 51mdocs_read path="unlocks/megafarm"
    result
    ## Megafarm
    Increase drone count further.
    2 => 4
    
    ### Unlock Cost [Current cost: gold=8000]
    
    [Tutorial](docs/unlocks/megafarm.md)
    Game time: 1h 51m 41s elapsed, 4h 8m 19s of budget remaining.
  136. 1h 51mdocs_read path="docs/unlocks/megafarm.md"
    result
    # Mega Farm
    This incredibly powerful unlock gives you access to multiple drones. 
    
    As before, you still start with just one drone. Additional drones must first be spawned and will disappear after the program terminates.
    Each drone runs its own separate program. New drones can be spawned using the `spawn_drone(function)` function.
    
    `def drone_function():
        move(North)
        do_a_flip()
    
    spawn_drone…
  137. 1h 51mwait seconds=150
    result
    Waited 2m 30s (time up). Program: maze running.
    Inventory change: fertilizer +30, gold +2048, water +120, weird_substance -256.
    Game time: 1h 54m 31s elapsed, 4h 5m 29s of budget remaining.
  138. 1h 54mobserve
    result
    Game time: 1h 54m 41s elapsed, 4h 5m 19s of budget remaining.
    Program: maze (running).
    Inventory: hay 18469, wood 6337, carrot 7695, pumpkin 817, cactus 10545, weird_substance 264, gold 3120, water 244, fertilizer 203.
    Farm 8x8. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone.
    Entities:…
  139. 1h 54mwait seconds=130
    result
    Waited 2m 10s (time up). Program: maze running.
    Inventory change: fertilizer +26, gold +2048, water +104, weird_substance -248.
    Game time: 1h 57m 1s elapsed, 4h 2m 59s of budget remaining.
  140. 1h 57mstop_program
    result
    Program stopped.
    Game time: 1h 57m 11s elapsed, 4h 2m 49s of budget remaining.
  141. 1h 57mwrite_program name="c" · evidence
    result
    Saved c (98 lines).
    Game time: 1h 57m 21s elapsed, 4h 2m 39s of budget remaining.
  142. 1h 57mrun_program name="c" seconds=300
    result
    Ran c for 5m of game time; it is still running.
    Inventory change: cactus +2560, carrot +888, fertilizer -235, hay +1472, power +1.80, pumpkin +928, water -373, weird_substance +1576, wood -704.
    Game time: 2h 2m 31s elapsed, 3h 57m 29s of budget remaining.
    Output:
    (none)
  143. 2h 02mrun_program name="maze" seconds=100
    result
    Ran maze for 1m 40s of game time; it is still running.
    Inventory change: fertilizer +20, gold +1664, hay +8, power -6.64, water +80, weird_substance -216.
    Game time: 2h 4m 21s elapsed, 3h 55m 39s of budget remaining.
    Output:
    (none)
  144. 2h 04mbuy_upgrade upgrades=["megafarm"] · evidence
    result
    Could not buy megafarm: Not enough resources.
  145. 2h 04msaidRunning mazes for gold; the next megafarm level needs 8000.
  146. 2h 04mwait seconds=60 until_resources={"gold":8000}
    result
    Waited 37s (gold reached 8048). Program: maze running.
    Inventory change: fertilizer +7, gold +704, water +29, weird_substance -80.
    Game time: 2h 5m 17s elapsed, 3h 54m 43s of budget remaining.
  147. 2h 05mbuy_upgrade upgrades=["megafarm"] · evidence
    result
    Bought megafarm, now level 2. Paid gold 8000. Its tutorial is docs page docs/unlocks/megafarm.md.
    Game time: 2h 5m 27s elapsed, 3h 54m 33s of budget remaining.
  148. 2h 05mstop_program
    result
    Program stopped.
    Game time: 2h 5m 37s elapsed, 3h 54m 23s of budget remaining.
  149. 2h 05mwrite_program name="farm" · evidence
    result
    Saved farm (117 lines).
    Game time: 2h 5m 47s elapsed, 3h 54m 13s of budget remaining.
  150. 2h 05mrun_program name="farm" seconds=120
    result
    Ran farm for 2m of game time; it is still running.
    Inventory change: fertilizer +24, water +96.
    Game time: 2h 7m 57s elapsed, 3h 52m 3s of budget remaining.
    Output:
    (none)
  151. 2h 07mobserve
    result
    Game time: 2h 8m 7s elapsed, 3h 51m 53s of budget remaining.
    Program: farm (running).
    Inventory: hay 20093, wood 5601, carrot 8543, pumpkin 1969, cactus 13361, weird_substance 1208, gold 304, water 261, fertilizer 65.
    Farm 8x8. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone.
    Entities: …
  152. 2h 08mwrite_program name="clear" · evidence
    result
    Saved clear (1 lines).
    Game time: 2h 8m 17s elapsed, 3h 51m 43s of budget remaining.
  153. 2h 08mstop_program
    result
    Program stopped.
    Game time: 2h 8m 27s elapsed, 3h 51m 33s of budget remaining.
  154. 2h 08mrun_program name="clear" seconds=2
    result
    Ran clear for 0s of game time; it finished.
    Inventory change: no change.
    Game time: 2h 8m 37s elapsed, 3h 51m 23s of budget remaining.
    Output:
    (none)
  155. 2h 08mrun_program name="farm" seconds=240
    result
    Ran farm for 4m of game time; it is still running.
    Inventory change: cactus +336, carrot +5693, fertilizer -73, hay +25348, power +0.28, pumpkin +208, water -293, weird_substance +556, wood -3456.
    Game time: 2h 12m 47s elapsed, 3h 47m 13s of budget remaining.
    Output:
    Warning: Tried to swap Entities.Pumpkin, which cannot be swapped.
    In: cactus_task <- sort_cactus
    swap(East)
        ^^    
    -------------…
  156. 2h 12mstop_program
    result
    Program stopped.
    Game time: 2h 12m 57s elapsed, 3h 47m 3s of budget remaining.
  157. 2h 12mwrite_program name="farm" · evidence
    result
    Saved farm (116 lines).
    Game time: 2h 13m 7s elapsed, 3h 46m 53s of budget remaining.
  158. 2h 13mrun_program name="clear" seconds=2
    result
    Ran clear for 0s of game time; it finished.
    Inventory change: hay +8, water +1.
    Game time: 2h 13m 18s elapsed, 3h 46m 42s of budget remaining.
    Output:
    (none)
  159. 2h 13mrun_program name="farm" seconds=300
    result
    Ran farm for 5m of game time; it is still running.
    Inventory change: cactus +4884, carrot +2077, fertilizer -6, hay +43568, power +4.71, pumpkin +8624, water -25, weird_substance +372, wood +1188.
    Game time: 2h 18m 28s elapsed, 3h 41m 32s of budget remaining.
    Output:
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: pumpkin_task <- water
    use_item(Items.Water)
            ^^          …
  160. 2h 18msaidBig gains: pumpkins +8624, cactus +4884. Spending on upgrades.
  161. 2h 18mbuy_upgrade upgrades=["expand","cactus","pumpkins","costs","trees","grass","carrots","watering","dinosaurs","mazes"] · evidence
    result
    Bought expand, now level 6. Paid pumpkin 8000. Its tutorial is docs page docs/unlocks/expand_1.md.
    Could not buy cactus: Not enough resources.
    Bought pumpkins, now level 4. Paid carrot 16000. Its tutorial is docs page docs/unlocks/pumpkins.md.
    Bought costs, now level 1. Paid pumpkin 2500. Its tutorial is docs page docs/unlocks/costs.md.
    Bought trees, now level 5. Paid hay 19200. Its tutorial is do…
  162. 2h 18mstop_program
    result
    Program stopped.
    Game time: 2h 18m 48s elapsed, 3h 41m 12s of budget remaining.
  163. 2h 18mwrite_program name="farm" · evidence
    result
    Saved farm (120 lines).
    Game time: 2h 18m 58s elapsed, 3h 41m 2s of budget remaining.
  164. 2h 18mrun_program name="farm" seconds=300
    result
    Ran farm for 5m of game time; it is still running.
    Inventory change: cactus +9078, carrot +937, fertilizer -4, hay +42320, power +127.51, pumpkin +37480, water -16, weird_substance +364, wood +16180.
    Game time: 2h 24m 8s elapsed, 3h 35m 52s of budget remaining.
    Output:
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: cactus_task <- water
    use_item(Items.Water)
            ^^         …
  165. 2h 24mbuy_upgrade upgrades=["cactus","watering","watering","fertilizer","grass","carrots","pumpkins","expand","polyculture","auto_unlock","simulation"] · evidence
    result
    Bought cactus, now level 2. Paid pumpkin 20000. Its tutorial is docs page docs/unlocks/cactus.md.
    Bought watering, now level 5. Paid wood 12800. Its tutorial is docs page docs/unlocks/watering.md.
    Could not buy watering: Not enough resources.
    Could not buy fertilizer: Not enough resources.
    Could not buy grass: Not enough resources.
    Bought carrots, now level 4. Paid wood 6250. Its tutorial is docs …
  166. 2h 24mobserve
    result
    Game time: 2h 24m 28s elapsed, 3h 35m 32s of budget remaining.
    Program: farm (running).
    Inventory: hay 118021, wood 1579, carrot 1685, pumpkin 14605, cactus 18507, weird_substance 2540, gold 304, power 134.03.
    Farm 12x12. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone.
    Entities: Gr=gra…
  167. 2h 24mdocs_read path="unlocks/megafarm"
    result
    ## Megafarm
    Increase drone count further.
    4 => 8
    
    ### Unlock Cost [Current cost: gold=32000]
    
    [Tutorial](docs/unlocks/megafarm.md)
    Game time: 2h 24m 38s elapsed, 3h 35m 22s of budget remaining.
  168. 2h 24mstop_program
    result
    Program stopped.
    Game time: 2h 24m 48s elapsed, 3h 35m 12s of budget remaining.
  169. 2h 24mwrite_program name="dino" · evidence
    result
    Saved dino (14 lines).
    Game time: 2h 24m 58s elapsed, 3h 35m 2s of budget remaining.
  170. 2h 24mlist_programs
    result
    ## a
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    
    
    ## b
    while True:
    	harvest()
    
    
    ## c
    def goto(tx, ty):
    	while get_pos_x() != tx:
    		move(East)
    	while get_pos_y() != ty:
    		move(North)
    
    def sort_cactus():
    	for p in range(3):
    		for y in range(4):
    			goto(4, y)
    			for i in range(3):
    				if measure() > measure(East):
    					swap(East)
    				move(East)…
  171. 2h 25mwrite_program name="farm" · evidence
    result
    Saved farm (125 lines).
    Game time: 2h 25m 18s elapsed, 3h 34m 42s of budget remaining.
  172. 2h 25mrun_program name="farm" seconds=60
    result
    Ran farm for 51s of game time; it stopped with an error: Hats.Green_Hat must be unlocked before this can be used.
    Inventory change: cactus +2588, carrot +908, fertilizer +10, hay -1368, power +9.35, pumpkin +5040, water -64, wood +2184.
    Game time: 2h 26m 19s elapsed, 3h 33m 41s of budget remaining.
    Output:
    Error: Hats.Green_Hat must be unlocked before this can be used.
    In: dino
    change_hat(Hats.Gre…
  173. 2h 26mdocs_read path="docs/unlocks/hats.md"
    result
    # Hats
    
    You have unlocked a few new hat colors for your drone.
    
    Equip them like this:
    `change_hat(Hats.Gray_Hat)
    do_a_flip()
    change_hat(Hats.Purple_Hat)
    do_a_flip()
    change_hat(Hats.Green_Hat)
    do_a_flip()
    change_hat(Hats.Brown_Hat)
    do_a_flip()`
    Game time: 2h 26m 29s elapsed, 3h 33m 31s of budget remaining.
  174. 2h 26mwrite_program name="hat" · evidence
    result
    Saved hat (1 lines).
    Game time: 2h 26m 39s elapsed, 3h 33m 21s of budget remaining.
  175. 2h 26mrun_program name="hat" seconds=2
    result
    Ran hat for 0s of game time; it stopped with an error: Hats.Gray_Hat must be unlocked before this can be used.
    Inventory change: no change.
    Game time: 2h 26m 49s elapsed, 3h 33m 11s of budget remaining.
    Output:
    Error: Hats.Gray_Hat must be unlocked before this can be used.
    In: 
    change_hat(Hats.Gray_Hat)
              ^^             
    --------------------------------------------------------------------
  176. 2h 26mdocs_search query="change_hat"
    result
    docs/home.md: …t-in Functions [abs](functions/abs) [can_harvest](functions/can_harvest) [can_move](functions/can_move) [change_hat](functions/change_hat) [clear](functions/clear) [dict](functions/dict) [do_a_flip](functions/do_a_flip) [get_companion](functions/get_companion) [get_cost](function…
    docs/unlocks/dinosaurs.md: …n do now is dressing up as one. For this purpose you have received the new …
  177. 2h 26mbuy_upgrade upgrades=["hats"] · evidence
    result
    Could not buy hats: Already at maximum level.
  178. 2h 27mobserve
    result
    Game time: 2h 27m 19s elapsed, 3h 32m 41s of budget remaining.
    Program: none running.
    Inventory: hay 119233, wood 4683, carrot 3298, pumpkin 23101, cactus 21095, weird_substance 2592, gold 304, water 96, fertilizer 30, power 143.21.
    Farm 12x12. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a …
  179. 2h 27mwrite_program name="hat" · evidence
    result
    Saved hat (5 lines).
    Game time: 2h 27m 29s elapsed, 3h 32m 31s of budget remaining.
  180. 2h 27mrun_program name="hat" seconds=10
    result
    Ran hat for 7s of game time; it finished.
    Inventory change: bone +2, cactus -8, fertilizer +2, power -0.36, water +12.
    Game time: 2h 27m 46s elapsed, 3h 32m 14s of budget remaining.
    Output:
    Entities.Apple
    (0,11)
    True 1 None
    True 2 None
    True 3 None
    True 4 None
    True 5 None
  181. 2h 27mwrite_program name="hat" · evidence
    result
    Saved hat (1 lines).
    Game time: 2h 27m 56s elapsed, 3h 32m 4s of budget remaining.
  182. 2h 27mrun_program name="hat" seconds=3
    result
    Ran hat for 0s of game time; it stopped with an error: Hats.Brown_Hat must be unlocked before this can be used.
    Inventory change: no change.
    Game time: 2h 28m 6s elapsed, 3h 31m 54s of budget remaining.
    Output:
    Error: Hats.Brown_Hat must be unlocked before this can be used.
    In: 
    change_hat(Hats.Brown_Hat)
              ^^              
    ------------------------------------------------------------------…
  183. 2h 28mdocs_read path="functions/change_hat"
    result
    change_hat(hat)
    Changes the hat of the drone to hat.
    
    returns None
    
    takes 200 ticks to execute.
    
    example:
    change_hat(Hats.Dinosaur_Hat)
    Game time: 2h 28m 16s elapsed, 3h 31m 44s of budget remaining.
  184. 2h 28mdocs_read path="objects/apple"
    result
    ## Apple
    Dinosaurs love them apparently.
    
    ### Plant Cost [Current cost: cactus=4]
    
    For more related information see: [Dinosaurs](docs/unlocks/dinosaurs.md)
    Game time: 2h 28m 26s elapsed, 3h 31m 34s of budget remaining.
  185. 2h 28mwrite_program name="dino" · evidence
    result
    Saved dino (9 lines).
    Game time: 2h 28m 36s elapsed, 3h 31m 24s of budget remaining.
  186. 2h 28mrun_program name="dino" seconds=60
    result
    Ran dino for 8s of game time; it finished.
    Inventory change: bone +2, cactus -4, fertilizer +1, power -7.64, water +12.
    Game time: 2h 28m 54s elapsed, 3h 31m 6s of budget remaining.
    Output:
    (none)
  187. 2h 28mwrite_program name="dino" · evidence
    result
    Saved dino (13 lines).
    Game time: 2h 29m 4s elapsed, 3h 30m 56s of budget remaining.
  188. 2h 29mrun_program name="dino" seconds=60
    result
    Ran dino for 11s of game time; it stopped with an error: The left hand side of the assignment didn't match the right hand side.
    Inventory change: bone +2, cactus -4, fertilizer +2, power -0.57, water +17.
    Game time: 2h 29m 24s elapsed, 3h 30m 36s of budget remaining.
    Output:
    (3,5) 21079
    apple 3 5 me 0 0
    True
    True
    True
    True
    True
    True
    True
    True
    Error: The left hand side of the assignment didn't matc…
  189. 2h 29minspect_tile x=0 y=5
    result
    (0,5) `x = 0, y = 5`
    
    ### `Grounds.Soil`
    Water level: 0
    Game time: 2h 29m 34s elapsed, 3h 30m 26s of budget remaining.
  190. 2h 29mwrite_program name="dino" · evidence
    result
    Saved dino (12 lines).
    Game time: 2h 29m 44s elapsed, 3h 30m 16s of budget remaining.
  191. 2h 29mrun_program name="dino" seconds=60
    result
    Ran dino for 44s of game time; it finished.
    Inventory change: bone +2, fertilizer +9, power -2.79, water +70.
    Game time: 2h 30m 38s elapsed, 3h 29m 22s of budget remaining.
    Output:
    13
    3 4 Entities.Sunflower 8
    3 3 Entities.Sunflower 9
    3 2 Entities.Sunflower 13
    3 1 Entities.Sunflower 12
    3 0 Entities.Sunflower 12
    2 0 Entities.Carrot None
    1 0 None None
    0 0 None None
    0 1 None None
    0 2 None None
    0 3 Non…
  192. 2h 30mwrite_program name="farm" · evidence
    result
    Saved farm (123 lines).
    Game time: 2h 30m 48s elapsed, 3h 29m 12s of budget remaining.
  193. 2h 30mrun_program name="farm" seconds=240
    result
    Ran farm for 4m of game time; it is still running.
    Inventory change: fertilizer +48, power -131.79, water +384.
    Game time: 2h 34m 58s elapsed, 3h 25m 2s of budget remaining.
    Output:
    (none)
  194. 2h 34mobserve
    result
    Game time: 2h 35m 8s elapsed, 3h 24m 52s of budget remaining.
    Program: farm (running).
    Inventory: hay 119233, wood 4683, carrot 3298, pumpkin 23101, cactus 21079, bone 8, weird_substance 2592, gold 304, water 847, fertilizer 124.
    Farm 12x12. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a dro…
  195. 2h 35mwait seconds=60
    result
    Waited 1m (time up). Program: farm running.
    Inventory change: fertilizer +12, water +96.
    Game time: 2h 36m 18s elapsed, 3h 23m 42s of budget remaining.
  196. 2h 36mstop_program
    result
    Program stopped.
    Game time: 2h 36m 28s elapsed, 3h 23m 32s of budget remaining.
  197. 2h 36mrun_program name="farm" seconds=30
    result
    Ran farm for 30s of game time; it is still running.
    Inventory change: fertilizer +6, water +48.
    Game time: 2h 37m 8s elapsed, 3h 22m 52s of budget remaining.
    Output:
    (none)
  198. 2h 37mwrite_program name="sun" · evidence
    result
    Saved sun (8 lines).
    Game time: 2h 37m 18s elapsed, 3h 22m 42s of budget remaining.
  199. 2h 37mrun_program name="sun" seconds=60
    result
    Ran sun for 1m of game time; it is still running.
    Inventory change: fertilizer +12, water +96.
    Game time: 2h 38m 28s elapsed, 3h 21m 32s of budget remaining.
    Output:
    (none)
  200. 2h 38mobserve
    result
    Game time: 2h 38m 38s elapsed, 3h 21m 22s of budget remaining.
    Program: sun (running).
    Inventory: hay 119233, wood 4683, carrot 3298, pumpkin 23101, cactus 21079, bone 8, weird_substance 2592, gold 304, water 1183, fertilizer 166.
    Farm 12x12. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a dr…
  201. 2h 38mstop_program
    result
    Program stopped.
    Game time: 2h 38m 48s elapsed, 3h 21m 12s of budget remaining.
  202. 2h 38mwrite_program name="farm" · evidence
    result
    Saved farm (122 lines).
    Game time: 2h 38m 58s elapsed, 3h 21m 2s of budget remaining.
  203. 2h 38mrun_program name="farm" seconds=120
    result
    Ran farm for 2m of game time; it is still running.
    Inventory change: bone +2, cactus +7772, carrot +852, fertilizer +24, hay -2496, power +17.12, pumpkin +13392, water -738, wood +2592.
    Game time: 2h 41m 8s elapsed, 3h 18m 52s of budget remaining.
    Output:
    (none)
  204. 2h 41mwait seconds=240 until_program_ends=true
    result
    Waited 4m (time up). Program: farm running.
    Inventory change: cactus +18144, carrot +2137, fertilizer +48, hay -6720, power +164.02, pumpkin +35280, water -428, wood +5520.
    Game time: 2h 45m 18s elapsed, 3h 14m 42s of budget remaining.
  205. 2h 45mbuy_upgrade upgrades=["cactus","expand","dinosaurs","mazes","watering","fertilizer","grass","polyculture","pumpkins","carrots","trees"] · evidence
    result
    Could not buy cactus: Not enough resources.
    Bought expand, now level 7. Paid pumpkin 64000. Its tutorial is docs page docs/unlocks/expand_1.md.
    Could not buy dinosaurs: Not enough resources.
    Bought mazes, now level 2. Paid cactus 12000. Its tutorial is docs page docs/unlocks/mazes.md.
    Could not buy watering: Not enough resources.
    Bought fertilizer, now level 3. Paid wood 9000. Its tutorial is docs…
  206. 2h 45mstop_program
    result
    Program stopped.
    Game time: 2h 45m 38s elapsed, 3h 14m 22s of budget remaining.
  207. 2h 45mobserve
    result
    Game time: 2h 45m 48s elapsed, 3h 14m 12s of budget remaining.
    Program: none running.
    Inventory: hay 32521, wood 4019, carrot 6486, pumpkin 10941, cactus 37587, bone 10, weird_substance 2592, gold 304, water 17, fertilizer 256, power 161.72.
    Farm 16x16. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); *…
  208. 2h 45mwrite_program name="farm" · evidence
    result
    Saved farm (132 lines).
    Game time: 2h 45m 58s elapsed, 3h 14m 2s of budget remaining.
  209. 2h 45mrun_program name="farm" seconds=300
    result
    Ran farm for 5m of game time; it is still running.
    Inventory change: cactus +24600, carrot +9016, fertilizer +120, hay -7360, power -145.68, pumpkin +36448, water -49, wood +36000.
    Game time: 2h 51m 8s elapsed, 3h 8m 52s of budget remaining.
    Output:
    (none)
  210. 2h 51mbuy_upgrade upgrades=["cactus","pumpkins","carrots","watering","watering","grass","dinosaurs","polyculture","fertilizer","expand"] · evidence
    result
    Could not buy cactus: Not enough resources.
    Could not buy pumpkins: Not enough resources.
    Bought carrots, now level 5. Paid wood 31200. Its tutorial is docs page docs/unlocks/carrots.md.
    Could not buy watering: Not enough resources.
    Could not buy watering: Not enough resources.
    Could not buy grass: Not enough resources.
    Could not buy dinosaurs: Not enough resources.
    Could not buy polyculture: Not …
  211. 2h 51mresearch
    result
    auto_unlock (Auto Unlock) level 1/1; maxed; tutorial docs/unlocks/auto_unlock.md
      ## Auto Unlock Automatically unlock things. unlock(Unlocks.Megafarm)
    cactus (Cactus) level 2/6; cost pumpkin 120000; available, not affordable; tutorial docs/unlocks/cactus.md
      ## Cactus Increases the yield and cost of cactus. 200% => 400%
    carrots (Carrots) level 5/10; cost wood 156000; available, not affordable; t…
  212. 2h 51mstop_program
    result
    Program stopped.
    Game time: 2h 51m 38s elapsed, 3h 8m 22s of budget remaining.
  213. 2h 51mrun_program name="maze" seconds=120
    result
    Ran maze for 2m of game time; it is still running.
    Inventory change: cactus +7688, fertilizer +48, gold +4096, power -12.27, water +192, weird_substance -288.
    Game time: 2h 53m 48s elapsed, 3h 6m 12s of budget remaining.
    Output:
    (none)
  214. 2h 53mwait seconds=900 until_resources={"gold":32300}
    result
    Waited 15m (time up). Program: maze running.
    Inventory change: fertilizer +360, gold +24064, water +1440, weird_substance -1504.
    Game time: 3h 8m 58s elapsed, 2h 51m 2s of budget remaining.
  215. 3h 08mwait seconds=200 until_resources={"gold":32050}
    result
    Waited 2m 17s (gold reached 32560). Program: maze running.
    Inventory change: fertilizer +54, gold +4096, water +219, weird_substance -224.
    Game time: 3h 11m 25s elapsed, 2h 48m 35s of budget remaining.
  216. 3h 11mbuy_upgrade upgrades=["megafarm"] · evidence
    result
    Bought megafarm, now level 3. Paid gold 32000. Its tutorial is docs page docs/unlocks/megafarm.md.
    Game time: 3h 11m 35s elapsed, 2h 48m 25s of budget remaining.
  217. 3h 11mstop_program
    result
    Program stopped.
    Game time: 3h 11m 45s elapsed, 2h 48m 15s of budget remaining.
  218. 3h 11mwrite_program name="farm" · evidence
    result
    Saved farm (148 lines).
    Game time: 3h 11m 55s elapsed, 2h 48m 5s of budget remaining.
  219. 3h 11mrun_program name="farm" seconds=240
    result
    Ran farm for 4m of game time; it is still running.
    Inventory change: cactus +24576, carrot +114103, fertilizer -886, hay -23664, power +1092.83, pumpkin +32960, water -1963, weird_substance +7456, wood +16144.
    Game time: 3h 16m 5s elapsed, 2h 43m 55s of budget remaining.
    Output:
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: col_task <- water
    use_item(Items.Water)
            ^^  …
  220. 3h 16mbuy_upgrade upgrades=["pumpkins","cactus","dinosaurs","mazes","carrots","trees","watering","fertilizer","grass","expand"] · evidence
    result
    Bought pumpkins, now level 5. Paid carrot 64000. Its tutorial is docs page docs/unlocks/pumpkins.md.
    Could not buy cactus: Not enough resources.
    Bought dinosaurs, now level 3. Paid cactus 72000. Its tutorial is docs page docs/unlocks/dinosaurs.md.
    Could not buy mazes: Not enough resources.
    Could not buy carrots: Not enough resources.
    Could not buy trees: Not enough resources.
    Could not buy waterin…
  221. 3h 16mobserve
    result
    Game time: 3h 16m 25s elapsed, 2h 43m 35s of budget remaining.
    Program: farm (running).
    Inventory: hay 521, wood 19343, carrot 76617, pumpkin 89373, cactus 22451, bone 10, weird_substance 8016, gold 1072, power 1185.07.
    Farm 16x16. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone.
    Entiti…
  222. 3h 16mstop_program
    result
    Program stopped.
    Game time: 3h 16m 35s elapsed, 2h 43m 25s of budget remaining.
  223. 3h 16mwrite_program name="farm" · evidence
    result
    Saved farm (148 lines).
    Game time: 3h 16m 45s elapsed, 2h 43m 15s of budget remaining.
  224. 3h 16mrun_program name="farm" seconds=300
    result
    Ran farm for 5m of game time; it is still running.
    Inventory change: cactus +24626, carrot +73242, fertilizer -8, hay +131264, power +1266.07, pumpkin +85228, water -32, weird_substance +1888, wood +50832.
    Game time: 3h 21m 55s elapsed, 2h 38m 5s of budget remaining.
    Output:
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: col_task <- water
    use_item(Items.Water)
            ^^      …
  225. 3h 21mbuy_upgrade upgrades=["cactus","carrots","watering","fertilizer","trees","mazes","pumpkins","grass","expand"] · evidence
    result
    Bought cactus, now level 3. Paid pumpkin 120000. Its tutorial is docs page docs/unlocks/cactus.md.
    Could not buy carrots: Not enough resources.
    Bought watering, now level 6. Paid wood 51200. Its tutorial is docs page docs/unlocks/watering.md.
    Could not buy fertilizer: Not enough resources.
    Could not buy trees: Not enough resources.
    Could not buy mazes: Not enough resources.
    Could not buy pumpkins:…
  226. 3h 22mwait seconds=600
    result
    Waited 10m (time up). Program: farm running.
    Inventory change: cactus +131072, carrot +156246, hay +271032, power +3837.58, pumpkin +155840, weird_substance +3000, wood +109616.
    Game time: 3h 32m 15s elapsed, 2h 27m 45s of budget remaining.
  227. 3h 32mbuy_upgrade upgrades=["pumpkins","carrots","fertilizer","mazes","trees","grass","watering","cactus","expand"] · evidence
    result
    Bought pumpkins, now level 6. Paid carrot 256000. Its tutorial is docs page docs/unlocks/pumpkins.md.
    Could not buy carrots: Not enough resources.
    Bought fertilizer, now level 4. Paid wood 54000. Its tutorial is docs page docs/unlocks/fertilizer.md.
    Bought mazes, now level 3. Paid cactus 72000. Its tutorial is docs page docs/unlocks/mazes.md.
    Bought trees, now level 7. Paid hay 307000. Its tutoria…
  228. 3h 32mwait seconds=900
    result
    Waited 15m (time up). Program: farm running.
    Inventory change: cactus +196608, carrot +172446, hay +883808, power +5893.24, pumpkin +473128, weird_substance +22032, wood +417264.
    Game time: 3h 47m 35s elapsed, 2h 12m 25s of budget remaining.
  229. 3h 47mbuy_upgrade upgrades=["carrots","watering","cactus","dinosaurs","expand","pumpkins","trees","grass"] · evidence
    result
    Bought carrots, now level 6. Paid wood 156000. Its tutorial is docs page docs/unlocks/carrots.md.
    Bought watering, now level 7. Paid wood 205000. Its tutorial is docs page docs/unlocks/watering.md.
    Could not buy cactus: Not enough resources.
    Could not buy dinosaurs: Not enough resources.
    Bought expand, now level 8. Paid pumpkin 512000. Its tutorial is docs page docs/unlocks/expand_1.md.
    Could not …
  230. 3h 47mlist_programs
    result
    ## a
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    harvest()
    
    
    ## b
    while True:
    	harvest()
    
    
    ## c
    def goto(tx, ty):
    	while get_pos_x() != tx:
    		move(East)
    	while get_pos_y() != ty:
    		move(North)
    
    def sort_cactus():
    	for p in range(3):
    		for y in range(4):
    			goto(4, y)
    			for i in range(3):
    				if measure() > measure(East):
    					swap(East)
    				move(East)…
  231. 3h 47mwrite_program name="farm" · evidence
    result
    Stop the program before editing it.
  232. 3h 48mrun_program name="farm" seconds=120
    result
    Ran farm for 2m of game time; it is still running.
    Inventory change: cactus +16384, carrot +57122, hay +104080, power +686.28, pumpkin +72704, water -1, weird_substance +1968, wood +49664.
    Game time: 3h 50m 15s elapsed, 2h 9m 45s of budget remaining.
    Output:
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: cactus_task <- water
    use_item(Items.Water)
            ^^           
    --------…
  233. 3h 50mstop_program
    result
    Program stopped.
    Game time: 3h 50m 25s elapsed, 2h 9m 35s of budget remaining.
  234. 3h 50mwrite_program name="farm" · evidence
    result
    Saved farm (152 lines).
    Game time: 3h 50m 35s elapsed, 2h 9m 25s of budget remaining.
  235. 3h 50mrun_program name="farm" seconds=120
    result
    Ran farm for 2m of game time; it is still running.
    Inventory change: cactus +16388, carrot +58512, fertilizer -16, gold +144, hay +99872, power +600.01, pumpkin +60768, water -127, weird_substance +2608, wood +49600.
    Game time: 3h 52m 45s elapsed, 2h 7m 15s of budget remaining.
    Output:
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: col_task <- water
    use_item(Items.Water)
         …
  236. 3h 52mwait seconds=60
    result
    Waited 1m (time up). Program: farm running.
    Inventory change: cactus +16384, carrot +34750, hay +49920, power +282.02, pumpkin +24064, weird_substance +1056, wood +22848.
    Game time: 3h 53m 55s elapsed, 2h 6m 5s of budget remaining.
  237. 3h 53mobserve
    result
    Game time: 3h 54m 5s elapsed, 2h 5m 55s of budget remaining.
    Program: farm (running).
    Inventory: hay 1320945, wood 220995, carrot 417496, pumpkin 365481, cactus 360105, bone 10, weird_substance 42224, gold 1216, power 14325.37.
    Farm 22x22. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a drone…
  238. 3h 54mstop_program
    result
    Program stopped.
    Game time: 3h 54m 15s elapsed, 2h 5m 45s of budget remaining.
  239. 3h 54mwrite_program name="mz" · evidence
    result
    Saved mz (36 lines).
    Game time: 3h 54m 25s elapsed, 2h 5m 35s of budget remaining.
  240. 3h 54mrun_program name="mz" seconds=60
    result
    Ran mz for 13s of game time; it finished.
    Inventory change: fertilizer +11, gold +432, hay +32, power -3.78, water +81, weird_substance -72.
    Game time: 3h 54m 48s elapsed, 2h 5m 12s of budget remaining.
    Output:
    Entities.Bush 16 0
    Entities.Hedge
    steps 52 Entities.Treasure
    Entities.Bush 16 0
    Entities.Hedge
    steps 2 Entities.Treasure
    Entities.Bush 16 0
    Entities.Hedge
    steps 16 Entities.Treasure
  241. 3h 54mwrite_program name="farm" · evidence
    result
    Saved farm (154 lines).
    Game time: 3h 54m 58s elapsed, 2h 5m 2s of budget remaining.
  242. 3h 54mrun_program name="farm" seconds=300
    result
    Ran farm for 27s of game time; it stopped with an error: The operator > cannot be used on the operands 2 and (17,4).
    Inventory change: carrot +11170, fertilizer -43, gold +144, hay +19760, power +104.14, pumpkin +12136, water -243, weird_substance +1384, wood +10464.
    Game time: 3h 55m 35s elapsed, 2h 4m 25s of budget remaining.
    Output:
    Error: The operator > cannot be used on the operands 2 and (17…
  243. 3h 55mdocs_search query="Hat"
    result
    docs/home.md: …Fertilizer](docs/unlocks/fertilizer.md) [Functions](docs/scripting/functions.md) [Grass](unlocks/grass) [Hats](docs/unlocks/hats.md) [Import](docs/scripting/import.md) [Lists](docs/scripting/lists.md) [Loops](docs/scripting/while.md) [Mazes](docs/unlocks/mazes.md) [Megafarm](docs…
    docs/unlocks/cactus.md: … or equal in size. The harvest will only spread if all adjacent cacti are full…
  244. 3h 55mwrite_program name="hat" · evidence
    result
    Saved hat (2 lines).
    Game time: 3h 55m 55s elapsed, 2h 4m 5s of budget remaining.
  245. 3h 55mrun_program name="hat" seconds=3
    result
    Ran hat for 0s of game time; it stopped with an error: The 1. argument of change_hat() was None. This is not a valid argument.
    Inventory change: no change.
    Game time: 3h 56m 5s elapsed, 2h 3m 55s of budget remaining.
    Output:
    Error: The 1. argument of change_hat() was None. This is not a valid argument.
    In: 
    change_hat(None)
              ^^    
    ---------------------------------------------------------…
  246. 3h 56mstop_program
    result
    No program was running.
    Game time: 3h 56m 15s elapsed, 2h 3m 45s of budget remaining.
  247. 3h 56mwrite_program name="farm" · evidence
    result
    Saved farm (158 lines).
    Game time: 3h 56m 25s elapsed, 2h 3m 35s of budget remaining.
  248. 3h 56mrun_program name="farm" seconds=300
    result
    Ran farm for 5m of game time; it is still running.
    Inventory change: cactus +4, carrot +156214, fertilizer -48, hay +259328, power +1598.90, pumpkin +159736, water -479, weird_substance +8352, wood +121408.
    Game time: 4h 1m 35s elapsed, 1h 58m 25s of budget remaining.
    Output:
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: pumpkin_task <- water
    use_item(Items.Water)
            ^^ …
  249. 4h 01mobserve
    result
    Game time: 4h 1m 45s elapsed, 1h 58m 15s of budget remaining.
    Program: farm (running).
    Inventory: hay 1620001, wood 361603, carrot 595046, pumpkin 537353, cactus 360109, bone 10, weird_substance 52144, gold 1792, water 1, power 16131.80.
    Farm 22x22. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * mar…
  250. 4h 01mstop_program
    result
    Program stopped.
    Game time: 4h 1m 55s elapsed, 1h 58m 5s of budget remaining.
  251. 4h 01mwrite_program name="mz" · evidence
    result
    Saved mz (13 lines).
    Game time: 4h 2m 5s elapsed, 1h 57m 55s of budget remaining.
  252. 4h 02mrun_program name="mz" seconds=30
    result
    Ran mz for 30s of game time; it is still running.
    Inventory change: fertilizer +24, power -30.25, water +192.
    Game time: 4h 2m 45s elapsed, 1h 57m 15s of budget remaining.
    Output:
    (none)
  253. 4h 02mobserve
    result
    Game time: 4h 2m 55s elapsed, 1h 57m 5s of budget remaining.
    Program: mz (running).
    Inventory: hay 1630273, wood 366563, carrot 598079, pumpkin 549641, cactus 360109, bone 10, weird_substance 52272, gold 1792, water 384, fertilizer 48, power 16185.48.
    Farm 22x22. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, …
  254. 4h 02mstop_program
    result
    Program stopped.
    Game time: 4h 3m 5s elapsed, 1h 56m 55s of budget remaining.
  255. 4h 03mwrite_program name="farm" · evidence
    result
    Saved farm (164 lines).
    Game time: 4h 3m 15s elapsed, 1h 56m 45s of budget remaining.
  256. 4h 03mrun_program name="farm" seconds=120
    result
    Ran farm for 2m of game time; it is still running.
    Inventory change: cactus +12, carrot +56698, fertilizer -72, gold +2592, hay +40048, power +567.67, pumpkin +48840, water -576, weird_substance +4584, wood +38688.
    Game time: 4h 5m 25s elapsed, 1h 54m 35s of budget remaining.
    Output:
    Warning: Cannot plant Entities.Pumpkin on Grounds.Grassland.
    In: pumpkin_task
    plant(Entities.Pumpkin)
         ^^      …
  257. 4h 05mwait seconds=420
    result
    Waited 7m (time up). Program: farm running.
    Inventory change: cactus +56, carrot +216969, gold +12096, hay +157104, power +2796.26, pumpkin +162192, weird_substance +7776, wood +166784.
    Game time: 4h 12m 35s elapsed, 1h 47m 25s of budget remaining.
  258. 4h 12mobserve
    result
    Game time: 4h 12m 45s elapsed, 1h 47m 15s of budget remaining.
    Program: farm (running).
    Inventory: hay 1833249, wood 579779, carrot 885911, pumpkin 760657, cactus 360185, bone 10, weird_substance 64888, gold 16480, power 19662.42.
    Farm 22x22. x runs west to east, rows are listed north (top) to south.
    Cells: ground (# soil, _ grassland) + entity code + size (1 small, 2 medium, 3 full); * marks a dr…
  259. 4h 12mstop_program
    result
    Program stopped.
    Game time: 4h 12m 55s elapsed, 1h 47m 5s of budget remaining.
  260. 4h 12mwrite_program name="farm" · evidence
    result
    Saved farm (168 lines).
    Game time: 4h 13m 5s elapsed, 1h 46m 55s of budget remaining.
  261. 4h 13mrun_program name="farm" seconds=240
    result
    Ran farm for 4m of game time; it is still running.
    Inventory change: cactus +36296, carrot +132594, fertilizer -16, gold +7776, hay +91504, power +1251.62, pumpkin +88512, water -128, weird_substance +4000, wood +87296.
    Game time: 4h 17m 15s elapsed, 1h 42m 45s of budget remaining.
    Output:
    Warning: Tried to use Items.Water but didn't have enough of it.
    In: col_task <- water
    use_item(Items.Water)
     …
  262. 4h 17mbuy_upgrade upgrades=["cactus","pumpkins","carrots","watering","mazes","dinosaurs","grass","trees","expand","megafarm"] · evidence
    result
    Bought cactus, now level 4. Paid pumpkin 720000. Its tutorial is docs page docs/unlocks/cactus.md.
    Bought pumpkins, now level 7. Paid carrot 1020000. Its tutorial is docs page docs/unlocks/pumpkins.md.
    Could not buy carrots: Not enough resources.
    Could not buy watering: Not enough resources.
    Could not buy mazes: Not enough resources.
    Could not buy dinosaurs: Not enough resources.
    Bought grass, now…
  263. 4h 17mwait seconds=900
    result
    Waited 15m (time up). Program: farm running.
    Inventory change: cactus +279936, carrot +397437, gold +20736, hay +881312, power +4683.05, pumpkin +756864, weird_substance +40416, wood +869440.
    Game time: 4h 32m 35s elapsed, 1h 27m 25s of budget remaining.
  264. 4h 32mbuy_upgrade upgrades=["carrots","watering","mazes","dinosaurs","cactus","pumpkins","expand","megafarm","fertilizer","grass","trees"] · evidence
    result
    Bought carrots, now level 7. Paid wood 781000. Its tutorial is docs page docs/unlocks/carrots.md.
    Could not buy watering: Not enough resources.
    Bought mazes, now level 4. Paid cactus 432000. Its tutorial is docs page docs/unlocks/mazes.md.
    Could not buy dinosaurs: Not enough resources.
    Could not buy cactus: Not enough resources.
    Could not buy pumpkins: Not enough resources.
    Could not buy expand: N…
  265. 4h 32mwait seconds=1200
    result
    Waited 20m (time up). Program: farm running.
    Inventory change: cactus +383616, carrot +1262219, gold +61344, hay +906880, power +6492.08, pumpkin +923200, weird_substance +42144, wood +961472.
    Game time: 4h 52m 55s elapsed, 1h 7m 5s of budget remaining.
  266. 4h 52mbuy_upgrade upgrades=["watering","dinosaurs","cactus","pumpkins","expand","megafarm","grass","trees","carrots"] · evidence
    result
    Bought watering, now level 8. Paid wood 819000. Its tutorial is docs page docs/unlocks/watering.md.
    Bought dinosaurs, now level 4. Paid cactus 432000. Its tutorial is docs page docs/unlocks/dinosaurs.md.
    Could not buy cactus: Not enough resources.
    Could not buy pumpkins: Not enough resources.
    Could not buy expand: Not enough resources.
    Could not buy megafarm: Not enough resources.
    Could not buy gr…
  267. 4h 53mdocs_read path="unlocks/megafarm"
    result
    ## Megafarm
    Increase drone count further.
    8 => 16
    
    ### Unlock Cost [Current cost: gold=128000]
    
    [Tutorial](docs/unlocks/megafarm.md)
    Game time: 4h 53m 15s elapsed, 1h 6m 45s of budget remaining.
  268. 4h 53mwait seconds=1200
    result
    Waited 20m (time up). Program: farm running.
    Inventory change: cactus +373248, carrot +1137087, gold +67968, hay +910912, power +4897.03, pumpkin +959056, weird_substance +42960, wood +1037952.
    Game time: 5h 13m 25s elapsed, 46m 35s of budget remaining.
  269. 5h 13mbuy_upgrade upgrades=["cactus","pumpkins","expand","grass","trees","carrots","mazes"] · evidence
    result
    Could not buy cactus: Not enough resources.
    Could not buy pumpkins: Not enough resources.
    Could not buy expand: Not enough resources.
    Bought grass, now level 8. Paid wood 1560000.
    Could not buy trees: Not enough resources.
    Could not buy carrots: Not enough resources.
    Could not buy mazes: Not enough resources.
    Game time: 5h 13m 35s elapsed, 46m 25s of budget remaining.
  270. 5h 13mwait seconds=1500
    result
    Waited 25m (time up). Program: farm running.
    Inventory change: cactus +476928, carrot +1434117, gold +77472, hay +2910720, power +6600.11, pumpkin +1204160, water -5, weird_substance +123600, wood +1197184.
    Game time: 5h 38m 45s elapsed, 21m 15s of budget remaining.
  271. 5h 38mbuy_upgrade upgrades=["cactus","pumpkins","megafarm","carrots","trees","mazes"] · evidence
    result
    Could not buy cactus: Not enough resources.
    Bought pumpkins, now level 8. Paid carrot 4100000. Its tutorial is docs page docs/unlocks/pumpkins.md.
    Bought megafarm, now level 4. Paid gold 128000. Its tutorial is docs page docs/unlocks/megafarm.md.
    Could not buy carrots: Not enough resources.
    Bought trees, now level 9. Paid hay 4920000. Its tutorial is docs page docs/unlocks/trees.md.
    Could not buy …
  272. 5h 38mwait seconds=1240
    result
    Waited 20m 40s (time up). Program: farm running.
    Inventory change: cactus +393984, carrot +997775, gold +74880, hay +2442560, power +4905.09, pumpkin +1871872, water +6, weird_substance +103136, wood +2467520.
    Game time: 5h 59m 45s elapsed, 15s of budget remaining.
  273. 5h 59msaidThe 6 hours of game time are used up. The farm ended with a 22x22 field, 8 drones and eleven resources: hay, wood, carrot, pumpkin, cactus, gold, weird substance, power, water, fertilizer and bone. What the farm was producing at the end - Pumpkins: about 1.9M in the last 20 minutes, from one 8x8 block that merges into a giant pumpkin. - Cactus: a few hundred thousand per 20 minutes. Two blocks (6x6 and 5x8), each sorted by the drone, then harvested as a whole. - Carrots and wood: about 1M each per 20 minutes, from dedicated columns. - Hay: about 2.4M per 20 minutes, from a fertilized grass column. - Gold and weird substance: about 75k gold per 20 minutes. Each weird-substance maze is solved with right-hand wall following. The fertilized grass column keeps refilling the substance. - Sunflowers: kept power high. What fell short - Bones: I only ever collected 10. I couldn't get the dinosaur hat off the first drone, so that drone ended up on cactus duty. - Mazes: the 6x6 maze is confined to its own corner (16,16). - Old maze: an early maze at x13–18 is still sitting in the field because I couldn't reach it to clear it. It cost me part of the first cactus block. - Megafarm: I bought the 16-drone level with 15 seconds left, so it never ran. My timing and bookkeeping slipped in places: a few early programs had to be rewritten, and I lost a few minutes to the hat and maze bugs.
  274. 5h 59mwait seconds=15
    result
    Waited 5s (time up). Program: farm running.
    Inventory change: cactus +10368, carrot +8733, fertilizer +1, hay +10752, power +17.66, pumpkin -512, water -4, weird_substance +832, wood +11584.
    Game time: 6h elapsed, 0s of budget remaining. The game-time budget is used up. The run is over; stop now.
  275. 6h 00msaidThe 6 hours of game time are used up and the run is over. In the last few seconds the farm added more cactus, carrots, hay, weird substance and wood, and pumpkins dropped by 512. The final totals are in my previous summary.

Thinking is shown as the agent reported it over ACP; some agents report a summary, not the full reasoning. Tool results are cut at 400 characters; program code is in evidence.json.

spentreported alongside the score, never folded into it

What it spent

API-equivalent cost (estimate)agent-session (one point per model request)

API-equivalent estimate at list prices; not an actual charge

Tokens

Input (uncached)1,697
Cache reads13,487,304
Cache writes193,835
Output90,866
Thinking (subset of output where reported)41,130
Total13,773,702
ModelTokensEstimate
claude-haiku-5-51,419$0.00015
claude-sonnet-5-513,772,283$4.38

Estimate: API-equivalent estimate at list prices; not an actual charge. Price table prices-2026-10-16b. The agent itself reported $3.03 (cost reported by the agent itself; plan or subscription billing may differ).

conditionsprovenance

Limitations

  • Recorded from a harness checkout with uncommitted changes.
Run ideconomy-v1-claude-sonnet-s2-a1-20261016T185140Z
Taskeconomy-v1 · acb5fb455a43
Budget6h 00m game time · 10s per action · caps: 2,000 tool calls, 20 continuations, 4h 00m real time
AgentClaude Agent 0.91.0 (@agentclientprotocol/claude-agent-acp)
Applied config{"model":"sonnet","effort":"medium","fast":"absent"}
Models reportedclaude-sonnet-5-5, claude-haiku-5-5
Tools availablebuy_upgrade, docs_list, docs_read, docs_search, inspect_tile, list_programs, observe, research, run_program, stop_program, wait, write_program
Harnesse5a6d3888fcb (uncommitted changes)
Bridge / game3ee9b950dce5 / 953fea25964f
Adaptersclaude-agent-acp 0.91.0, codex-acp 2.2.2, acp-sdk 1.8.0, mcp-sdk 1.32.1
Rubrics
economy-v1 (headline) · Σ over resources of log10(1 + produced) · 51746c5bec27
economy-weighted-v1 · scores 7.47 · log10(1 + Σ w_r × produced_r), weights from late-game sink prices · 228b39065cbd
Started / ended2026-10-16T18:51:40.996Z → 2026-10-16T19:09:42.874Z
Evidence110 items in evidence.json