commit 44c6f52fbb440f28172b5e7ee594e960f34f415b Author: steve Date: Sun Jan 4 01:20:21 2026 -0500 original commit diff --git a/f2.py b/f2.py new file mode 100644 index 0000000..1c47639 --- /dev/null +++ b/f2.py @@ -0,0 +1,130 @@ +def carrots(worldSize): + simple_column(worldSize, True, Entities.Carrot) + + +def pumpkins(worldSize): + simple_column(worldSize, True, Entities.Pumpkin) + + +def bushes_and_trees(worldSize): + for row in range(worldSize): + if can_harvest(): + harvest() + if row % 2 == 0: + plant(Entities.Bush) + else: + plant(Entities.Tree) + move(North) + + +def simple_column(worldSize, shouldTill, entity): + for row in range(worldSize): + if can_harvest(): + harvest() + + if shouldTill: + till() + + plant(entity) + move(North) + +def move_to(x, y): + while x > get_pos_x(): + move(East) + while x < get_pos_x(): + move(West) + + while y > get_pos_y(): + move(North) + while y < get_pos_y(): + move(South) + +def reset_pos(): + while get_pos_y() > 0: + move(North) + while get_pos_x() > 0: + move(West) + + +def runWorld(): + worldSize = get_world_size() + for col in range(worldSize): + runColumn(col, worldSize) + move(East) + + +def runColumn(col, worldSize): + # 1 in 3 is carrots + if col % 3 == 0: + carrots(worldSize) + + elif col % 3 == 1: + pumpkins(worldSize) + else: + bushes_and_trees(worldSize) + +def plant_pumpkin(width, height): + others = {East:West, West:East} + + sideDir = East + # first pass over, checking if anything can be harvested. if so, harvest. + # then check what type of ground is down, if it's not soil then till. + # then if it's below 75% water and i have some water, give it some. + # then plant a pumpkin. + for row in range(height): + for col in range(width): + if can_harvest(): + harvest() + if get_ground_type() != Grounds.Soil: + till() + if get_water() < 0.75: + use_item(Items.Water) + plant(Entities.Pumpkin) + + # if it's not the last pass, then move + if col < width - 1: + move(sideDir) + + + if row < height - 1: + sideDir = others[sideDir] + move(North) + +# verify_pumpkin will verify that a pumpkin is planted in all tiles of a quadrant, and it will check that +# the pumpkin isn't dead. if it's dead it will replant it. Returns whether any dead pumpkins were found. +def verify_pumpkin(width, height): + result = False + others = {East:West, West:East} + + sideDir = East + + for row in range(height): + for col in range(width): + if get_entity_type() == Entities.Dead_Pumpkin: + # ~20% of pumpkins die, we just replant + plant(Entities.Pumpkin) + result = True + + # if it's not the last pass, then move + if col < width - 1: + move(sideDir) + + + if row < height - 1: + sideDir = others[sideDir] + move(North) + + return result + + +#reset_pos() + +while True: + worldSize = get_world_size() + + move_to(0, 0) + plant_pumpkin(worldSize, worldSize) + move_to(0, 0) + while verify_pumpkin(worldSize, worldSize): + move_to(0, 0) + harvest()