В общем пишу свои "пятнашки" на ангуляре. И вроде как все хорошо и солнечно, но столкнулся с проблемой перемешивания фишек. Пока что решил не заморачиваться особо насчет "несобираемых" комбинаций и пока просто хочу расположить фишки рандомно. Итак:
Имею массив массивов
рядов, в которых находятся фишки (он же выйгрышный):
var grid = [[{id: 1, empty: false},{id: 2, empty: false},{id: 3, empty: false}],
[{id: 4, empty: false},{id: 5, empty: false},{id: 6, empty: false}],
[{id: 7, empty: false},{id: 8, empty: false},{id: 9, empty: true}]];
Необходимо перемешать фишки, но пустую девятку оставить в правом нижнем углу.
Моя идея(частично реализованная):
Генерирую массив из восьми уникальных рандомных чисел и чтобы девятка пустая оставалась в правом нижнем углу - запушиваю её в конец массива, получаю массив (например):
[2, 1, 4, 8, 7, 3, 5, 6, 9]
дальше мои мозги спотыкаются и отказываются что-то придумывать.
Как вариант "итерироватся" в исходный массив и создавать в нем объекты исходя из сгенерированного id.
Может я изначально пошел не по тому пути?)