The Farmer Was Replaced - Codebeispiele
Vollständige Codebeispiele aus dem Spiel mit detaillierten Erklärungen. Kopieren und fügen Sie diese Codes direkt in Ihr Spiel ein, um Ihre Fähigkeiten in der Farmautomatisierung zu verbessern.
Beispiel 1: Grundlegende automatische Ernte
Das einfachste Automatisierungsskript, das kontinuierlich reifes Gras erntet.
# Gras automatisch ernten
while True:
if can_harvest():
harvest()
Beispiel 2: Automatischer 3×3-Farm-Durchlauf
Automatisch alle Felder durchlaufen und ernten.
# Gesamte Farm für Ernte durchlaufen
while True:
if can_harvest():
harvest()
# Nach Osten bewegen
move(East)
# Beim Erreichen des Zeilenendes nach Norden bewegen
if get_pos_x() == get_world_size() - 1:
move(North)
Beispiel 3: Mehrfachfrucht-Automatisierung (Gras + Busch + Karotte)
Verschiedene Früchte basierend auf der Spaltenposition anbauen.
# Erste Spalte: Gras, zweite: Büsche, dritte: Karotten
while True:
if can_harvest():
harvest()
x = get_pos_x()
if x == 0:
# Erste Spalte: Gras (keine Pflanzung nötig)
pass
elif x == 1:
# Zweite Spalte: Büsche
plant(Entities.Bush)
elif x == 2:
# Dritte Spalte: Karotten
if get_ground_type() != Grounds.Soil:
till()
if num_items(Items.Carrot_Seed) < 1:
trade(Items.Carrot_Seed)
plant(Entities.Carrot)
move(East)
if x == get_world_size() - 1:
move(North) Beispiel 4: Schachbrettartiges Pflanzen von Bäumen
Bäume benötigen schachbrettartiges Pflanzen, um Benachbarte zu vermeiden.
# Schachbrettmuster für Bäume und Büsche
while True:
if can_harvest():
harvest()
x = get_pos_x()
y = get_pos_y()
# Schachbrett-Logik
if (x % 2 == 0 and y % 2 == 0) or (x % 2 == 1 and y % 2 == 1):
plant(Entities.Tree)
else:
plant(Entities.Bush)
move(East)
if x == get_world_size() - 1:
move(North) Beispiel 5: Ressourcen-Prioritätsmanagement
Intelligentes Ressourcenmanagement, Priorisierung der Sammlung knapper Ressourcen.
# Pflanzstrategie basierend auf Ressourcen automatisch anpassen
while True:
if can_harvest():
harvest()
x = get_pos_x()
# Priorität: Zuerst Heuvorrat sicherstellen
if num_items(Items.Hay) < 500:
# Nicht pflanzen, Gras natürlich wachsen lassen
pass
# Zweite Priorität: Holzlager sicherstellen
elif num_items(Items.Wood) < 300:
plant(Entities.Bush)
# Schließlich: Karotten pflanzen
elif num_items(Items.Carrot) < 200:
if get_ground_type() != Grounds.Soil:
till()
if num_items(Items.Carrot_Seed) == 0:
trade(Items.Carrot_Seed)
plant(Entities.Carrot)
move(East)
if x == get_world_size() - 1:
move(North) Beispiel 6: Automatisches Bewässerungssystem
Automatisiertes Bewässerungssystem, beschleunigt das Pflanzenwachstum bis zu 5-fach.
# Wassertanks automatisch kaufen und Pflanzen bewässern
while True:
# Genug Wassertanks sicherstellen
if num_items(Items.Water_Tank) < 100:
trade(Items.Empty_Tank)
# Überprüfen und bewässern
if get_water() < 0.75:
use_item(Items.Water_Tank)
if can_harvest():
harvest()
# Pflanz- und Bewegungslogik
if get_ground_type() != Grounds.Soil:
till()
if num_items(Items.Carrot_Seed) < 1:
trade(Items.Carrot_Seed)
plant(Entities.Carrot)
move(East)
if get_pos_x() == get_world_size() - 1:
move(North) Beispiel 7: Funktionskapselung
Funktionen verwenden, um Code klarer und lesbarer zu machen.
# Funktion zum Bewegen zum nächsten Feld definieren
def move_to_next():
x = get_pos_x()
move(East)
if x == get_world_size() - 1:
move(North)
# Funktion zum Pflanzen von Karotten definieren
def plant_carrot():
if get_ground_type() != Grounds.Soil:
till()
if num_items(Items.Carrot_Seed) < 1:
trade(Items.Carrot_Seed)
plant(Entities.Carrot)
# Hauptprogramm
while True:
if can_harvest():
harvest()
if num_items(Items.Carrot) < 100:
plant_carrot()
move_to_next() Beispiel 8: Sonnenblumen-Energieoptimierung
Sonnenblumen-Optimierungsstrategie, nur hochenergetische Blumen ernten.
# Höchste Energie-Sonnenblumen messen und ernten
sunflowers = []
world_size = get_world_size()
# Alle Sonnenblumen pflanzen und messen
for i in range(world_size * world_size):
if get_ground_type() == Grounds.Turf:
till()
if num_items(Items.Sunflower_Seed) > 0 or trade(Items.Sunflower_Seed):
plant(Entities.Sunflower)
if get_entity_type() == Entities.Sunflower:
sunflowers.append(measure())
move(East)
if get_pos_x() == 0:
move(North)
# Höchsten Energiewert finden
max_val = 0
max_index = 0
for i in range(len(sunflowers)):
if sunflowers[i] > max_val:
max_val = sunflowers[i]
max_index = i
# Zur höchsten Energie-Sonnenblume bewegen und ernten
# (Bewegungslogik weggelassen)
if measure() == max_val:
if can_harvest():
harvest()