tfwr/main.py

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)