Нахождение кратчайшего расстояния между связанными точками - PullRequest
0 голосов
/ 01 мая 2020

Приготовьтесь к головной боли.

Итак, я разработал игру по исследованию космоса. Игрок начинает с одной точки, называемой узлом, выполняет сканирование, обнаруживает все подключенные узлы, а затем летит к следующему узлу. Сканирование на новые узлы и т. Д. c. В конце концов вы получите что-то вроде рисунка ниже ...

Visualization of the node network.

На рисунке показаны все узлы, которые были обнаружены игроком (но не все узлы в системе). .)

На изображении выше, игрок в настоящее время находится на узле 1019. Я пытаюсь найти способ, чтобы доставить игрока на узел 1587 (желтый) без необходимости передвигаться по одному узлу на время.

Когда узел обнаружен, обнаруженный узел добавляется в mySQL таблицу 'user_nodes'. Любые космические дорожки (линии), связанные с узлом, появляются в таблице user_lane.

Не каждый узел связан с каждым другим узлом. Связанные узлы варьируются. Пример: Узел 1587 подключается к узлу 1313, 1455, 2681, 2359. Каждый подключенный узел также имеет уникальный идентификатор космического самолёта, поэтому в этом примере Узел 1587 подключается к 2359 через космический самолет # 709. Каждый космический самолет имеет свое время в пути.

Итак, я пытаюсь выяснить, как выяснить: 1. Сколько подключенных узлов находится между 1587 и 1019. Если я могу это выяснить, я могу позволить пользователям прокладывать курсы для удаленных узлов. От этого mySQL у меня взорвется голова, поэтому я подумал, посмотрю, есть ли у кого-нибудь еще мысли.

Я уверен, что у вас возникнут вопросы:)

РЕДАКТИРОВАТЬ: Вот пример таблицы в вопросе: Nodes discovered by the user The specific location info for each node Spacelanes discovered by the user

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...