
Ilia
12.02.2018
15:00:36

Al
12.02.2018
16:55:20

Vladislav
12.02.2018
17:32:09

Google

Al
12.02.2018
17:36:26

Vladislav
12.02.2018
17:36:46
Двумерная карта же

Al
12.02.2018
17:38:30
И что. Добавь столбик с номером комнаты. С номером квадратика в комнате..
Это все равно список обьектов с привязкой. А не двух мерный массив ипических размеров

Vladislav
12.02.2018
17:42:02
Очень спорно, да и без данных это гадание

Al
12.02.2018
17:44:29
Ты как будто никогда не писал свои игрушки

Vladislav
12.02.2018
17:45:42
Векторами
Это другой расклад

Al
12.02.2018
17:49:40
Любой n размерный массив можно представить вектором
Обычно так и делают кстати

Alex
12.02.2018
18:01:38
Пока не упрутся в размерность массива

Al
12.02.2018
18:19:16
Это уже другой вопрос.
Но например представь гпс координаты в виде вектора. Тогда задача поиска в радиусе сводится к выборке нескольких отрезков на векторе с интервалом

Simon
12.02.2018
18:29:14
Угу, интересно, как вы потом опишите "переходы" между комнатами.

Google

Al
12.02.2018
18:35:04

Simon
12.02.2018
18:36:38
Очень похоже на выстрел в ногу. Особенно с учётом того, что просили это в БД сделать.

Al
12.02.2018
18:38:02
Дык и делай. Где ты увидел выстрел? Есть список обьектов с координатами, свойствами и прочим фаршем. Не вижу проблем описать обьект переход в комнату 16

Alex
12.02.2018
18:39:23
а переход это тоже локация ?

Vladislav
12.02.2018
18:39:27
Что-то я пока не уловил

Simon
12.02.2018
18:39:33
Для начала. Что значит "вектор" комнат? В БД это как будет выглядеть? Одна колонка со всеми комнатами? Одна будет отсортирована? Если да, то по каким признакам?
Как добавлять, как удалять комнаты?

Alex
12.02.2018
18:40:05
ну там списком еще комнаты в которые есть выход из текущей
и вот они переходы
не ? =)
ну или по координатам, тоже вполне себе

Al
12.02.2018
18:42:17

Ilia
12.02.2018
18:46:15

Al
12.02.2018
18:48:20
Любая карта это описание расположения обьектов относительно какой то общей точки. А не создание персональной точки для каждого обьекта

Vladislav
12.02.2018
18:54:23
вот вам задачка

Simon
12.02.2018
18:54:37

Vladislav
12.02.2018
18:54:40
опишите хранение и нахождение кратчайшего пути
путь из A1 в D9

Google

Vladislav
12.02.2018
18:55:16
красные маркеры - это где есть двери

Simon
12.02.2018
18:59:52
И в этой и в первой я бы сделал иерархию.

Al
12.02.2018
18:59:58

Vladislav
12.02.2018
19:00:35
давайте примеры ddl для начала
ну так что? ?

Al
12.02.2018
19:12:00
Можешь хэш по нему посчитать и сравнивать

Vladislav
12.02.2018
19:12:56
и что с этим делать?

Al
12.02.2018
19:13:44
А что ты хотел с ним делать? Хранить идеальное прохождение и сравнивать с ним остальные. Можешь в отдельном столбике количество ходов хранить

Vladislav
12.02.2018
19:15:45
причем здесь это?

Simon
12.02.2018
19:15:57

Vladislav
12.02.2018
19:15:57
тебе надо хранить карту и уметь по ней считать кратчайший путь

Al
12.02.2018
19:16:28
Ну так и описывай их координаты

Vladislav
12.02.2018
19:19:58
приведи пример, я не понимаю

Al
12.02.2018
19:20:00
Пустые игнорь
Например
Кубик со стеной справа, координаты а4
Кубик со стеной справа и снизу, координаты с2
То есть есть 13 видов кубиков. Без стен которые не описываем

Google

Vladislav
12.02.2018
19:44:54
Я не понимаю, откуда 13 видов
И я не понимаю, как, на основе записей только наличия стены и 15-ти видов ты сможешь понять, что у тебя за комната

Alex
12.02.2018
19:51:19
Через with recursive запросто

Al
12.02.2018
19:54:54

Vladislav
12.02.2018
19:55:17
Вы какой-то сильной абстракцией, давайте факты
Какой ddl, что храним и как считаем

aster
12.02.2018
19:58:56
Есте же кубики со стеной и дверью
Либо я не понял мысль

Vladislav
12.02.2018
20:00:11
И да, без дверей 15, 16 с пустотами. Двери еще больше вариаций

Al
12.02.2018
20:10:10
4 вида двери

aster
12.02.2018
20:11:17
Дверь отдельно
Так это один и тот же кубик. у которого с одной грани дверь, а с другой стена

Al
12.02.2018
20:11:51
Нее. Это дверь с координатами
Есть стены а есть двери

aster
12.02.2018
20:13:14
Ну допустим
А если тебе тебе неизвестны размеры лабиринта - как ты его выстроишь?
Ты же не сможешь отличить кубик со стеной слева - там стена от наружной стены или от внутренней перегородки

Al
12.02.2018
20:16:09

Google

Al
12.02.2018
20:19:07
У нас есть 13 вариантов установки стен по краям кубика. 14 вариант без стен. Есть 4 варианта двери, при условии что даерь это не отсутсвие стены. И 2 маркера вход/выход.

aster
12.02.2018
20:23:46
Ну то есть ты присваиваешь тип кубику (один из 14)
Допустим.
Двери хранишь в отдельной таблице?
И что там в координатах?

Al
12.02.2018
20:25:40
Двери там же

Vladislav
12.02.2018
20:26:21
почему 13 вариантов, когда их 15?

Al
12.02.2018
20:26:31
Посчитай

Vladislav
12.02.2018
20:27:12
я посчитал

Al
12.02.2018
20:27:59
У меня 13
Но это не принципиально

aster
12.02.2018
20:28:43
Но это не важно, да
Двери там же
Допустим.
Я все сохранил.
Размерность где?
Просто считаем Ах на Х1?

Al
12.02.2018
20:35:40
Допустим.
Я все сохранил.
Размерность где?
Просто считаем Ах на Х1?
Это тоже не принципиально. Суть в том что классифицировав минимальные сущности ты можешь из них собирать сущности побольше. В данном случае имея порядка 20 сущностей ты можешь описать 100500 лабиринтов. Или можешь описать блоки из которых потом складывать блоки побольше.
Как это делать через вектор или через листинг это вопросы вкуса
Утрируя ты всегда имеешь правильное дерево и можешь в любой момент с минимальными затратами выяснить где какой кубик

Vladislav
12.02.2018
20:43:44
мне кажется, вы реально плохо считаете
15 вариантов
уже один этот момент меня смущает