TFWR. Spawn drones.

В игре The Farmer Was Replaced есть интересная опция: можно создавать дронов, чтобы эффективнее управлять фермой. Фича продвинутая из-за языковых трюков и ограничений игры. Тем не менее, проблемы и возможности очень похожи на то, с чем «взрослые» программисты сталкиваются в многопоточности и мультипроцессности.

В этом посте я показываю самый базовый сценарий. Я нарисовал смайлик на бумаге и занес координаты пикселей в список кортежей. Затем один дрон проходит эти точки и в каждой вызывает spawn_drone(). Эта функция принимает другую функцию как параметр (привет, метапрограммирование) и запускает ее в новом дроне. Здесь функция простая: wait_forever. Она ничего не делает, но бесконечный цикл внутри держит дрон живым. Когда функция заканчивается, соответствующий дрон исчезает.

В итоге получается улыбающееся лицо из дронов. Happy hacking!

Код на GitHub