Показать сообщение отдельно
  #1 (permalink)  
Старый 10.03.2016, 16:02
Аспирант
Отправить личное сообщение для m1lk1way Посмотреть профиль Найти все сообщения от m1lk1way
 
Регистрация: 24.12.2015
Сообщений: 41

Рандомное расположение
В общем пишу свои "пятнашки" на ангуляре. И вроде как все хорошо и солнечно, но столкнулся с проблемой перемешивания фишек. Пока что решил не заморачиваться особо насчет "несобираемых" комбинаций и пока просто хочу расположить фишки рандомно. Итак:
Имею массив массивов рядов, в которых находятся фишки (он же выйгрышный):
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.
Может я изначально пошел не по тому пути?)
Ответить с цитированием