44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
import farm
|
|
from __builtins__ import *
|
|
from __utils__ import *
|
|
HAY_TARGET = 100
|
|
WOOD_TARGET = 100
|
|
POWER_TARGET = pow(get_world_size(), 2)
|
|
CARROT_TARGET = pow(get_world_size(), 2) * 3
|
|
while True:
|
|
hay = num_items(Items.Hay)
|
|
wood = num_items(Items.Wood)
|
|
carrots = num_items(Items.Carrot)
|
|
pumpkins = num_items(Items.Pumpkin)
|
|
power = num_items(Items.Power)
|
|
|
|
hay_deficit = HAY_TARGET - hay
|
|
wood_deficit = WOOD_TARGET - wood
|
|
power_deficit = POWER_TARGET - power
|
|
|
|
# Floors first
|
|
if hay_deficit > 0 or wood_deficit > 0:
|
|
if hay_deficit >= wood_deficit:
|
|
farm.hay()
|
|
else:
|
|
farm.wood()
|
|
elif power_deficit > 0:
|
|
farm.sunflower()
|
|
else:
|
|
# Pick the single lowest of the four
|
|
lowest = min(hay, wood, carrots, pumpkins)
|
|
if pumpkins == lowest and carrots >= CARROT_TARGET:
|
|
farm.pumpkin()
|
|
elif carrots == lowest:
|
|
farm.carrot()
|
|
elif wood == lowest:
|
|
farm.wood()
|
|
else:
|
|
farm.hay()
|
|
|
|
# Movement between cycles (only relevant for non-pumpkin since
|
|
# farm.pumpkin() controls its own movement and presumably returns
|
|
# the drone somewhere predictable)
|
|
if get_pos_y() == 0:
|
|
move(East)
|
|
move(North) |