From 4de72dc92a171e42b8907edde7463d698f3ed58e Mon Sep 17 00:00:00 2001 From: james Date: Tue, 5 May 2026 12:34:03 +0930 Subject: [PATCH] Enhanced harvesting and watering logic, introduced utility methods for efficient farming operations. --- farm.py | 28 ++++++++++++++++++++++------ main.py | 5 ++++- save.json | 2 +- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/farm.py b/farm.py index baaea98..76fd81a 100644 --- a/farm.py +++ b/farm.py @@ -1,5 +1,6 @@ #test from __builtins__ import * +from __utils__ import * # while True: # move(North) # if can_harvest(): @@ -52,10 +53,15 @@ def goto(x, y): def hay(): - if can_harvest(): - harvest() - if get_entity_type() == None and get_ground_type() != Grounds.Grassland: - till() + move_to_origin() + for _ in range(wsize * wsize): + if can_harvest(): + harvest() + if get_entity_type() == None and get_ground_type() != Grounds.Grassland: + till() + if get_pos_y() == 0: + move(East) + move(North) def bush(): @@ -150,7 +156,7 @@ def sunflower(): goto(x, y) harvest_except(Entities.Sunflower) auto_till() - if get_entity_type != Entities.Sunflower: + if get_entity_type() != Entities.Sunflower: plant(Entities.Sunflower) flowers[(x, y)] = measure() @@ -182,4 +188,14 @@ def harvest_except(excluded_entity): def auto_till(): if get_ground_type() != Grounds.Soil: - till() \ No newline at end of file + till() + +def water(): + if num_items(Items.Water) >= pow(wsize,2): + move_to_origin() + for _ in range(wsize * wsize): + use_item(Items.Water) + if get_pos_y() == 0: + move(East) + move(North) + diff --git a/main.py b/main.py index d21eedc..4adf164 100644 --- a/main.py +++ b/main.py @@ -5,6 +5,7 @@ HAY_TARGET = 100 WOOD_TARGET = 100 POWER_TARGET = pow(get_world_size(), 2) CARROT_TARGET = pow(get_world_size(), 2) * 3 +farm.move_to_origin() while True: hay = num_items(Items.Hay) wood = num_items(Items.Wood) @@ -41,4 +42,6 @@ while True: # the drone somewhere predictable) if get_pos_y() == 0: move(East) - move(North) \ No newline at end of file + move(North) + if get_water() < 0.25 and num_items(Items.Water) >= farm.pow(farm.wsize,2): + farm.water() diff --git a/save.json b/save.json index 3bd70f2..0a6c308 100644 --- a/save.json +++ b/save.json @@ -1 +1 @@ -{"items":{"serializeList":[{"name":"hay","nr":25030.0},{"name":"wood","nr":22989.0},{"name":"carrot","nr":24080.0},{"name":"pumpkin","nr":25951.0},{"name":"water","nr":507.0},{"name":"fertilizer","nr":267.0},{"name":"power","nr":2755.3881666666807}]},"dockedFiles":[],"minimizedFiles":[],"openFilePositions":[{"key":"farm","value":{"x":-947.4608154296875,"y":2463.12451171875}},{"key":"main","value":{"x":172.9576416015625,"y":2470.416015625}},{"key":"docs0","value":{"x":-1906.639892578125,"y":884.713134765625}},{"key":"docs1","value":{"x":-1937.482421875,"y":1556.6673583984375}},{"key":"docs2","value":{"x":-590.66552734375,"y":1308.072021484375}},{"key":"__utils__","value":{"x":785.8156127929688,"y":1809.6502685546875}}],"openFileScrollPositions":[{"key":"farm","value":4288.9580078125},{"key":"main","value":-0.0008544921875},{"key":"__utils__","value":0.0}],"openFileSizes":[{"key":"farm","value":{"x":0.0,"y":861.5}},{"key":"main","value":{"x":1554.4163818359375,"y":880.614990234375}},{"key":"docs0","value":{"x":900.0,"y":700.0}},{"key":"docs1","value":{"x":900.0,"y":700.0}},{"key":"docs2","value":{"x":900.0,"y":700.0}},{"key":"__utils__","value":{"x":0.0,"y":0.0}}],"openDocPages":[{"key":"docs0","value":"docs/unlocks/sunflowers.md"},{"key":"docs1","value":"docs/scripting/dicts.md"},{"key":"docs2","value":"docs/unlocks/sunflowers.md"}],"unlocks":["grass_5","soil","harvest","pass","do_a_flip","pet_the_piggy","grassland","hay","straw_hat","tap","while","true","false","break","continue","loops","can_harvest","if","else","elif","speed_5","traffic_cone","move","north","south","east","west","expand_6","for","range","get_world_size","wood","bush","entities","clear","plant","change_hat","gray_hat","purple_hat","green_hat","brown_hat","hats","and","or","not","operators","carrot","till","can_trade","trade","items","carrot_seed","carrots_5","get_entity_type","get_ground_type","grounds","get_pos_x","get_pos_y","none","num_items","num_unlocked","senses","variables","functions","def","return","global","trees_5","tree","tree_hat","carrot_hat","append","remove","pop","insert","len","list","lists","print","quick_print","unlocks","str","debug","pumpkins_4","pumpkin","pumpkin_seed","dead_pumpkin","from","import","pumpkin_hat","min","max","abs","random","utilities","dicts","sets","add","dict","set","dictionaries","get_cost","costs","unlock","auto_unlock","water","use_item","get_water","watering","sunflower_seed","sunflower","power","get_active_power","measure","sunflowers","weird_substance","fertilizer","sunflower_hat"],"version":3} \ No newline at end of file +{"items":{"serializeList":[{"name":"hay","nr":120310.0},{"name":"wood","nr":133217.0},{"name":"carrot","nr":119784.0},{"name":"pumpkin","nr":117303.0},{"name":"water","nr":291.0},{"name":"fertilizer","nr":607.0},{"name":"power","nr":1651.3880000000581}]},"dockedFiles":[],"minimizedFiles":[],"openFilePositions":[{"key":"farm","value":{"x":-947.4605712890625,"y":2463.124267578125}},{"key":"main","value":{"x":-985.4107666015625,"y":553.1219482421875}},{"key":"docs0","value":{"x":-1906.6400146484375,"y":884.7133178710938}},{"key":"docs1","value":{"x":-1937.4825439453125,"y":1556.6676025390625}},{"key":"docs2","value":{"x":-590.6654052734375,"y":1308.072021484375}},{"key":"__utils__","value":{"x":2483.42041015625,"y":1381.6826171875}},{"key":"docs3","value":{"x":-147.0067138671875,"y":1238.170654296875}},{"key":"docs4","value":{"x":-529.3243408203125,"y":1380.8265380859375}},{"key":"docs5","value":{"x":-650.5819091796875,"y":1984.2607421875}},{"key":"docs6","value":{"x":-147.0067138671875,"y":1238.1705322265625}}],"openFileScrollPositions":[{"key":"farm","value":4949.4375},{"key":"main","value":583.925048828125},{"key":"__utils__","value":0.0}],"openFileSizes":[{"key":"farm","value":{"x":0.0,"y":861.5}},{"key":"main","value":{"x":1554.4163818359375,"y":880.614990234375}},{"key":"docs0","value":{"x":900.0,"y":700.0}},{"key":"docs1","value":{"x":900.0,"y":700.0}},{"key":"docs2","value":{"x":900.0,"y":700.0}},{"key":"__utils__","value":{"x":0.0,"y":0.0}},{"key":"docs3","value":{"x":900.0,"y":700.0}},{"key":"docs4","value":{"x":900.0,"y":700.0}},{"key":"docs5","value":{"x":900.0,"y":700.0}},{"key":"docs6","value":{"x":900.0,"y":700.0}}],"openDocPages":[{"key":"docs0","value":"docs/unlocks/sunflowers.md"},{"key":"docs1","value":"docs/scripting/dicts.md"},{"key":"docs2","value":"docs/unlocks/sunflowers.md"},{"key":"docs3","value":"docs/unlocks/timing.md"},{"key":"docs4","value":"docs/unlocks/watering.md"},{"key":"docs5","value":"docs/unlocks/cactus.md"},{"key":"docs6","value":"docs/unlocks/polyculture.md"}],"unlocks":["grass_6","soil","harvest","pass","do_a_flip","pet_the_piggy","grassland","hay","straw_hat","tap","while","true","false","break","continue","loops","can_harvest","if","else","elif","speed_5","traffic_cone","move","north","south","east","west","expand_7","for","range","get_world_size","wood","bush","entities","clear","plant","change_hat","gray_hat","purple_hat","green_hat","brown_hat","hats","and","or","not","operators","carrot","till","can_trade","trade","items","carrot_seed","carrots_5","get_entity_type","get_ground_type","grounds","get_pos_x","get_pos_y","none","num_items","num_unlocked","senses","variables","functions","def","return","global","trees_5","tree","tree_hat","carrot_hat","append","remove","pop","insert","len","list","lists","print","quick_print","unlocks","str","debug","pumpkins_4","pumpkin","pumpkin_seed","dead_pumpkin","from","import","pumpkin_hat","min","max","abs","random","utilities","dicts","sets","add","dict","set","dictionaries","get_cost","costs","unlock","auto_unlock","water","use_item","get_water","watering_6","sunflower_seed","sunflower","power","get_active_power","measure","sunflowers","weird_substance","fertilizer","sunflower_hat","timing","get_time","get_tick_count","traffic_cone_stack","cactus","swap","cactus_seed","polyculture","get_companion"],"version":3} \ No newline at end of file