Sonnenblumen-Code: Nur die höchste Blütenzahl ernten
Sonnenblumen geben Power. Der Bonus kommt nur, wenn du die Blume mit den meisten Blütenblättern erntest.
So funktionieren Sonnenblumen wirklich
- Auf Soil pflanzen. `till()`, bis `Grounds.Soil` erreicht ist. Der Standardboden heißt jetzt Grassland, ältere Texte sagten Turf.
- `measure()` liefert die Anzahl der Blütenblätter (meist 7 bis 15).
- Ernte nur das aktuelle Maximum. Danach neu messen.
- Ernte nicht einfach jede reife Blume in einer Schleife. Das ist der häufigste Fehler.
Funktionierendes Sonnenblumen-Skript
Feld pflanzen, alle Felder scannen, nur die beste Blume ernten, wiederholen.
python
def go_to(x, y):
while get_pos_x() != x:
if get_pos_x() < x:
move(East)
else:
move(West)
while get_pos_y() != y:
if get_pos_y() < y:
move(North)
else:
move(South)
def plant_field():
size = get_world_size()
for y in range(size):
for x in range(size):
go_to(x, y)
if get_ground_type() != Grounds.Soil:
till()
if can_harvest():
harvest()
if get_entity_type() != Entities.Sunflower:
plant(Entities.Sunflower)
def harvest_current_max():
size = get_world_size()
best = 0
bx = -1
by = -1
found = False
for y in range(size):
for x in range(size):
go_to(x, y)
if get_entity_type() == Entities.Sunflower and can_harvest():
petals = measure()
if (not found) or petals > best:
best = petals
bx = x
by = y
found = True
if not found:
return False
go_to(bx, by)
harvest()
return True
clear()
while True:
plant_field()
while harvest_current_max():
pass Wenn das Skript nichts tut
- Sonnenblumen erst freischalten und wachsen lassen.
- Für mehr Power das Feld voll halten, damit der Bonus weiter auslöst.