nerevar / jmc

JMC - Jaba Mud Client
25 stars 15 forks source link

Вопрос про #mapper #78

Open 0cenka opened 3 years ago

0cenka commented 3 years ago

Возможно ли, чтобы карта отрисовывалась с "растягиванием" расстояния между выходами, если обнаруживается, что в том же месте где нужно отобразить комнату уже выведена другая комната? Т.е. чтобы комнаты не накладывались друг на друга при выводе?

Т.е. чтобы переходы были не жестко '--', а где нужно '----', '------' и т.д., чтобы вместить комнаты для отображения без наложения? А то сейчас иногда такой ералаш при выводе которых карт получается... Извиняюсь если такая возможность уже есть и просто не разобрался.

konelav commented 3 years ago

Нет, к сожалению сейчас такой возможности нет. В общем случае задача "красивого" отображения графов на плоскости шибко нетривиальна, и, упрощённо выражаясь, вовсе нерешаема (есть масса более или менее субъективно приемлемых алгоритмов, ни один из которых не идеален). Не вижу смысла в эту сторону даже начинать копать. Альтернативно можно было бы рассмотреть варианты "полумер":

Оставим за скобками всякие лабиринты, трёхмерные бутылки Клейна и прочие изыски; вот простейший рядовой умозрительный пример: домик 3х3 клетки посреди поля, в абсолютном большинстве случаев это будет что-то такое:

     .   .   .
     |   |   |
...--O---O---O--...
     |       |
     | O-O-O |
     | | | | |
...--O O-O-O O--...
     | | | | |
     | O-O-O |
     |   |   |
...--O---O---O--...
     |   |   |
     .   .   .

Теперь вопросы: