The Farmer Was Replaced Kürbis-Code — tote Felder flicken, dann ernten

Für den aktuellen 1.0+-Stand. Kürbisse fusionieren. Einfache Ernte-Schleifen zerstören die Fusion. Tote Felder tracken, nachpflanzen, erst ernten wenn alles lebendig ist.

1.0-Kürbis-Regeln

  • Auf Soil pflanzen. Kosten mit `get_cost(Entities.Pumpkin)` prüfen.
  • Etwa jeder fünfte stirbt als Dead_Pumpkin und blockiert die Fusion.
  • Ertrag: n³ für 1–5, ab 6×6: 6·n² (32×32 → 6144).
  • Wasser beschleunigt, verhindert aber keine Tode. Darüber pflanzen entfernt Dead Pumpkin (Wiki). Optional die neue Pflanze düngen (−2s).

Strategie: pflanzen → Bad-Tiles → flicken → ernten

Nicht ewig das ganze Feld scannen. Nach dem ersten Pass nur leere/tote/unreife Koordinaten anfliegen.

  • Pflanzen: Einmal pflügen und pflanzen.
  • Tracken: `[x, y]` merken wenn nicht erntebereit.
  • Flicken: Darüber pflanzen; optional neue Pflanze düngen.
  • Ernten: Liste leer → einmal harvest().
🎃

Lehrskript (eine Drohne)

Nur dokumentierte APIs. Nach Megafarm Spalten/Sektoren teilen.

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_full_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()
			# Planting over Dead_Pumpkin removes it (wiki). No harvest needed.
			plant(Entities.Pumpkin)
			if get_water() < 0.75:
				use_item(Items.Water)

def collect_bad_tiles():
	bad = []
	size = get_world_size()
	for y in range(size):
		for x in range(size):
			go_to(x, y)
			ent = get_entity_type()
			if ent == Entities.Dead_Pumpkin or ent != Entities.Pumpkin or not can_harvest():
				bad.append([x, y])
	return bad

def patch_bad(bad):
	# Only revisit problem tiles until the list is empty
	while len(bad) > 0:
		still_bad = []
		for pos in bad:
			x = pos[0]
			y = pos[1]
			go_to(x, y)
			ent = get_entity_type()
			if ent != Entities.Pumpkin:
				# Dead_Pumpkin or empty: planting clears dead (wiki)
				if get_ground_type() != Grounds.Soil:
					till()
				plant(Entities.Pumpkin)
				still_bad.append([x, y])
			elif not can_harvest():
				# Live but still growing — wait
				still_bad.append([x, y])
			# else: live + harvestable — drop from list
		bad = still_bad

clear()
while True:
	plant_full_field()
	bad = collect_bad_tiles()
	patch_bad(bad)
	# Full grid is live pumpkins → giant merge should be ready
	go_to(0, 0)
	harvest()

Kürbisgröße mit measure() prüfen (pumpkin measure)

  • Auf Kürbissen liefert `measure()` eine stabile ID derselben Fusion (gleicher Wert auf jedem Feld).
  • Ganze Quadratfläche fusioniert? Eine Ecke und die gegenüberliegende messen — gleiche Werte → ernten.
  • Zuverlässig auf **quadratischen** Monokultur-Feldern. Rechteck/Mix → weiter Bad-Tile-Liste nutzen.
  • Deckt Suchen nach **pumpkin measure** und **how to check pumpkin size** ab.

Beispiel-Hilfe nach `patch_bad(...)`:

python
def pumpkin_fully_merged():
	size = get_world_size()
	go_to(0, 0)
	if get_entity_type() != Entities.Pumpkin or not can_harvest():
		return False
	a = measure()
	go_to(size - 1, size - 1)
	if get_entity_type() != Entities.Pumpkin or not can_harvest():
		return False
	return measure() == a

# After patch_bad(...):
go_to(0, 0)
if pumpkin_fully_merged():
	harvest()

Weiter skalieren mit Drohnenflotte? Siehe multiple drones -Guide.

Multi-Drohne — Konsens Sep–Okt 2026

  • Keine gemeinsamen Globals. Jede Drohne eigener Sektor.
  • `spawn_drone` + `wait_for`. Muster: `if not spawn_drone(task): task()`.
  • Bestzeiten gießen jedes Feld und halten die Bad-Tile-Schleife eng.
  • Volle Megafarm-Muster: Multiple-Drones-Guide