Написал шафл, потом почитал автора плагина: "At first, I was just going to randomly place all the elements, but I was worried that this could potentially lead to a board that was not solvable".
рони, думаете это правда?
Оставлю здесь на всякий случай.
function shuffle() { // Так может получиться нерешаемо?
for (var row = 0; row < rows; row++) {
for (var col = 0; col < cols; col++) {
var _row = Math.floor(Math.random() * rows);
var _col = Math.floor(Math.random() * cols);
var piece = board[row][col];
var _piece = board[_row][_col];
board[row][col] = _piece;
board[_row][_col] = piece;
var left = piece.style.left, top = piece.style.top;
var _left = _piece.style.left, _top = _piece.style.top;
piece.style.left = _left;
piece.style.top = _top;
_piece.style.left = left;
_piece.style.top = top;
}
}
}