Перейти к содержимому
  • 0
artem211

Алгоритмирование "рудная жила"

Вопрос

  Простите что опять без картинок и проч красивостей(ну не умею я) да и пост сугубо по делу, а не развлеченья для.

 

Так вот, уже второй вечер пытаюсь измыслить новый тип геомайнера, использующего geolyzer.scan(), майнера под geolyzer.analyze()  - уже написал и отладил, пользуюсь, не выкладывал, т.к. народ не считает карьер "1 через 2" с использованием геолайзера оправданным. 

 

К делу: задумал разбивать указанный карьер(ширина,длинна) на кластеры(чанки) 20х20х20(вроде у геолайзера по горизонтали помех нет, потому границы по горизонтали можно так не ограничивать, но это потом решать буду).

 

В общем имеем заданный кластер объемом 20х20х20 блоков, просвеченный геолайзером на предмет руд, по сути имеем 3д массив(может проще будет обычный тейбл с 3 координатами в ячейке, опять же не суть) в данном объеме есть некоторое количество рудных жил, например 5, кататься в цикле к каждому блоку в слое - не рационально вообще никак, будет бегать от одной жилы к другой.

 

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

 

Получается нужно побить массив рудных блоков на несколько групп, в данном случае на 5. Какой избрать алгоритм? Проверить все рудные блоки между собой и все, на расстоянии 0 блоков друг от друга определить в одну жилу? При проверке первый же блок руды кидать в подмассив "жила номер раз" с указанием 3 координат, каждый следующий блок сравнивать по координатам со всеми блоками в во всех жилах, разница соответствующих координат с которыми равна 1  - приписывать найденный блок к этой жиле...хмм может сработать.

 

Есть идеи? Может свой вариант?

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

Заметил в шахтерских мирах одну особенность. Крипер, когда взрывается, визуально разрушает блоки. Но при попытке войти в этот блок, тебя выталкивает назад. Этакие прозрачные непроходимые блоки получаются.

 

Если попытаться установить что-то, в визуально отсутствующий блок, будь то булыжник или факел, исходный блок восстанавливается, а устанавливаемый итем возвращается в инвентарь.

 

Такой вот баг.

 

Нужно сходить с роботом в майнерс мир, подорвать крипера и потестить, что скажет робот при попытке прохождения через "невидимую стену" и как он её видит.

Да леегко он блок увидит. Это клиентские текстуры/обработка взрыва крипера работают.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Заметил в шахтерских мирах одну особенность. Крипер, когда взрывается, визуально разрушает блоки. Но при попытке войти в этот блок, тебя выталкивает назад. Этакие прозрачные непроходимые блоки получаются.

 

Если попытаться установить что-то, в визуально отсутствующий блок, будь то булыжник или факел, исходный блок восстанавливается, а устанавливаемый итем возвращается в инвентарь.

 

Такой вот баг.

 

Нужно сходить с роботом в майнерс мир, подорвать крипера и потестить, что скажет робот при попытке прохождения через "невидимую стену" и как он её видит.

Очередной интеллектуал от программирования номер 2...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...