Когда-то давно я пытался делать игру на pygame, вышло конечно не так хорошо, много говнокода и излишеств, сейчас я бы сделал гораздо меньше ошибок архитектуры программы, но что сделано, то сделано. Только одной частью своей игры я действительно горжусь (кроме того, что всё, кроме звуков, я делал сам, на числом pygame), это босс. Вот и он: Особенно мне нравится то, как этот босс эффектно трансформируется из коробок в человекоподобного робота. (Не спрашивайте как мне пришло в голову сделать игру про ходячего арбуза, который сражается против ящиков-роботов). А вот и сам процесс трансформации, я могу смотреть на него вечно (простите за шакальное качество): Задумка была в том, что босс состоит из отдельных частей, каждая из которых имеет свой интеллект, теперь разберём как он работает. Сначала рассмотрим класс BossPart, который означает одну чать робота и включает в себя интеллект для каждой части. Сначала я создал два словаря. boss_parts_dependencies описывает отношения между частями тела