У меня есть 2-мерный массив, в котором хранится информация о шаблоне. Данные могут выглядеть следующим образом:Хранение и сравнение рисунков сетки
var testGrid = [["blank", "red", "blank"],
/* row 2 */ ["blank", "yellow", "green"],
/* row 3 */ ["blank", "blue", "blank"]];
Максимальный размер рисунка 3 по 3 сетке, однако, не все места должны быть использованы. Поскольку пробелы в основном означают, что там нет никакой информации, я регулярно сталкиваюсь с сценариями, где два шаблона структурированы по-разному, но функционально одинаковы. Пример:
[["red", "red" "blank"],
["red", "red", "blank"],
["blank", "blank", "blank"]
[["blank", "blank", "blank"],
["blank", "red", "red"],
["blank", "red", "red"]]
Все рисунки имели бы 4 возможных изображения из-за ориентации. Тем не менее, некоторые модели, как этот ниже:
[["blank", "blank", "blank"],
["blank", "yellow", "green"],
["blank", "blue", "blank"]]
будет иметь 8 возможных представлений в 3 по 3 сетке.
Поэтому у меня есть несколько вопросов:
Что было бы лучшим способом сохранить эти данные? Я думал, что могу хранить более простые шаблоны в виде сетки 2 на 2, что уменьшит количество проверок, которые я должен был бы сделать на них, до нормального 4.
Каков наилучший способ проверки шаблонов уже в базе данных? Просто пропустите функцию, которая сравнивает вновь созданный шаблон с каждой другой записью в базе данных? (Кстати, я использую mongoDB).
как много цветов? и вы имеете в виду 8 представлений? вращаются вокруг центра, ок, то есть 4, а затем? зеркальные? в переводе? – Thomas
извините, я имею в виду перевод –