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()