Существует множество алгоритмов генерации карты. В данной статье я опишу, как мне приходилось реализовывать один из таких алгоритмов. О чем речь? Клеточный автомат - решетка ячеек, состояние которых меняется по заданным правилам. В нашем случае ячейки будут иметь только два состояния: "стена" и "пустота" и изначально заполнены случайно. В качестве правил при генерации пещер обычно задаются следующие утверждения: От подобранных Х и Y зависит вся работоспособность генератора. При неправильно подобранных X и Y вся карта может стать "пустой" или полностью заполниться "стенками". Более того, при определенных Х и Y мы получим игру "Жизнь". Особенности реализации Однако, мы здесь не за тем, чтобы залипать на метаморфозы ячеек. Нам нельзя допустить, чтобы карта стала слишком пустой или заполненной. Дабы избежать этого, мы ограничим длительность работы клеточного автомата. Другими словами: Вместо while (true) { Применить правила ко всем клеткам; } Мы напишем for (int i = 0; i < T; i++) { П
Опыт генерирования пещерной игровой карты с помощью клеточного автомата
17 февраля 202017 фев 2020
49
2 мин