Фермеру заменили код лабиринта — свежие стены, потом золото

Переписано для 1.0+. Свежие лабиринты не имеют петель — левая стенка работает. Повторно используемые лабиринты получают петли; предпочитайте `measure()` или много маленьких лабиринтов на дрон.

Правила лабиринта в версии 1.0+

  • Удобрите растения, чтобы заработать «Предметы .Веирд_Субстанция» (зараженный урожай оплачивается наполовину как субстанция). Сначала нужен запас? ферма Weird Substance first
  • На кусте: `use_item(Items.Weird_Substance, n)` выращивает n×n лабиринт живой изгороди (без улучшений). С улучшением лабиринта вещество необходимо примерно удваивать на каждом уровне — используйте «get_world_size() * 2**(num_unlocked(Unlocks.Mazes) - 1)» для полнопольного лабиринта.
  • `harvest()` on `Entities.Treasure` → gold = area × maze upgrade. Собирайте все остальное, → лабиринт исчезает.
  • `measure()` ** в любом месте** в лабиринте возвращает координаты сокровища (1.0 изменение). `can_move(dir)` / failed `move()` = 1 тик настенного зонда.
  • Повторное использование: странное вещество на сокровище перемещает его (до 300×) и может пробить отверстия в стене → **петли**. Простой настенный толкатель там устарел. Повторное использование **не** приносит больше золота, чем нерест+сбор урожая заново.

Новичок: нерест свежий лабиринт + левая стена

python
def spawn_maze():
	if get_ground_type() != Grounds.Soil:
		till()
	harvest()
	plant(Entities.Bush)
	# Beginner (no / low maze upgrades): n = world size.
	# With upgrades, wiki: world_size * 2**(num_unlocked(Unlocks.Mazes) - 1)
	n = get_world_size()
	use_item(Items.Weird_Substance, n)

def solve_left_wall():
	dirs = [North, East, South, West]
	facing = 0
	while get_entity_type() != Entities.Treasure:
		left = (facing - 1) % 4
		if can_move(dirs[left]):
			facing = left
			move(dirs[facing])
		elif can_move(dirs[facing]):
			move(dirs[facing])
		else:
			facing = (facing + 1) % 4
	harvest()

clear()
while True:
	spawn_maze()
	solve_left_wall()

Лучше для многоразовых/ закольцованных лабиринтов: идите по направлению к измерению()

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

python
def go_toward(tx, ty):
	# Greedy step with can_move — enough for teaching
	while get_pos_x() != tx or get_pos_y() != ty:
		if get_pos_x() < tx and can_move(East):
			move(East)
		elif get_pos_x() > tx and can_move(West):
			move(West)
		elif get_pos_y() < ty and can_move(North):
			move(North)
		elif get_pos_y() > ty and can_move(South):
			move(South)
		else:
			# Blocked — spin with left-wall for a bit
			return False
	return True

tx, ty = measure()
go_toward(tx, ty)
if get_entity_type() == Entities.Treasure:
	harvest()

Мультидроновое золото (Reddit, сентябрь 2026 г.)

  • Обычно быстрее: упакуйте ферму 32×32 с **множеством небольших лабиринтов** (например, 32× 5×5) — по одному дрону каждый — чем один огромный лабиринт с 32 дронами.
  • Разветвленные дроны на стыках (появляются на каждом выходе, умирают в тупиках) выглядят великолепно, но не могут распараллелить столько лабиринтов — используйте для удовольствия, а не для максимального золота/с.
  • Цель лабиринта в таблице лидеров ≈ 301 сокровище × полностью улучшенное золото 32×32 — повторное использование 300 раз * * или * * свежее; сыр сообщества предпочитает много коротких лабиринтов.