В предыдущей части поднимался вопрос рисования плиток с автоматическим определением границ. Хотя первый вариант кода работал, там был фундаментальный недостаток. Стены дорисовывались поверх плитки с нужных сторон, и вполне могли накладываться друг на друга. Так как рисовались просто цветные прямоугольники, от наложения они никак не страдали. И это существенно упрощало алгоритм. Но теперь возьмём нормальную графику. Я выяснил, что нужно вот столько вариантов для плитки одного материала: Обратите внимание на выделенные цветом части – они могут присутствовать или отсутствовать в разных комбинациях внутри содержащей их плитки. А это значит, что общее количество комбинаций плиток получится совсем ни в какие ворота. Кроме того, теперь нельзя просто брать части плиток и накладывать их друг поверх друга, как это было с прямоугольниками. Это сразу будет заметно. Потратив некоторое время на размышления, в результате я пришёл к следующей схеме: Ровно столько плиток нужно для отображения всех комб