Код дерева для фермера был заменен — Шахматная доска Деревянная ферма

Деревья сбрасывают 5 деревьев — лучше, чем кусты, — но они ненавидят разделять край. Каждое соседнее дерево удваивает время роста. Четыре соседа в 16раз медленнее. Внутриигровая подсказка `% 2`.

Ищете код дерева? Эта страница является полным скриптом шахматной доски. основные коды узловые связи здесь и с другими культурами.

Правила дерева (вот почему болит смежность)

  • Выращенное дерево дает 5 древесины. Кусты дают меньше, поэтому деревья - это урожай древесины, как только вы их разблокируете.
  • Вы можете сажать на траву или почву. `till()` не является обязательным для деревьев.
  • Учитываются только север, восток, юг и запад. Каждое из этих соседних деревьев **удваивает** время роста. 1 сосед = 2×, 2 = 4×, 3 = 8×, 4 = 16×.
  • Диагонали не учитываются. На шахматной доске деревья соприкасаются только по углам.

Почему шахматная доска, а не сплошное древовидное поле

Если вы заполните каждую плитку деревьями, середина фермы окружена с четырех сторон и растет в 16раз медленнее. Дерево в секунду разрушается, хотя каждая плитка - это дерево.

Посадите деревья, где `(x + y) % 2 == 0` (или нечетный цвет — оба работают). Положите кусты на другой цвет, чтобы эти плитки все еще производили. Внутриигровая подсказка использует `% 2`.

  • Прочитано: `get_pos_x()` и `get_pos_y()`.
  • Деление: Even sum → `plant(Entities.Tree)`. Нечетная сумма → `растение(Entities.Bush)`.
  • Цикл: `can_harvest()`, затем `harvest()`, plant, `move`.

Четные плитки = деревья, нечетные плитки = кусты

Код дерева для копирования

Step 1 Тест `% 2`

Тот же цвет, что и внутриигровая подсказка. Поменяйте местами `== 0` и `== 1`, если вам нужны деревья на других квадратах.

python
x = get_pos_x()
y = get_pos_y()

if (x + y) % 2 == 0:
    plant(Entities.Tree)
else:
    plant(Entities.Bush)

Step 2 Сканирование, сбор урожая, посадка, перемещение

Собирайте урожай, если он готов, затем сажайте правильный урожай для этого цвета, затем ходите по сетке. Повторяйте вечно.

Полный исходный код

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

clear()
while True:
    size = get_world_size()
    for y in range(size):
        for x in range(size):
            go_to(x, y)
            if can_harvest():
                harvest()
            if (x + y) % 2 == 0:
                plant(Entities.Tree)
            else:
                plant(Entities.Bush)

Дополнительный полив

Вода ускоряет рост. Это не отменяет штраф за смежность — дерево с четырьмя соседями еще в 16раз медленнее, всего в 16раз медленнее на влажной почве. Добавьте это после «растение(...)».

python
if get_water() < 0.75:
    use_item(Items.Water)

Далее: тыквы, затем поликультура

Когда древесина стабильна, разблокируйте тыквы. Примерно 1 из 5 погибает; собирайте гигантский урожай только тогда, когда вся сетка будет готова. Код тыквы

Поликультура приходит позже. `get_companion()` говорит вам, какую культуру текущее растение хочет в качестве соседа. Это другой макет, чем эта шахматная доска — не смешивайте эти две идеи. Гайд по коду поликультуры

1.0 заметка для нескольких дронов

После Мегафермы дайте каждому дрону полоску колонны. Дроны не делятся глобалами. Вода с `use_item(Items.Water)` — `Items.Water_Tank` и `trade()` удалена.