jquery制作拼图游戏,怎么实现打乱图片

#在网上看到这样一串实现拼图游戏的代码,但是未实现打乱图片顺序,要怎么在这代码基础上实现打乱图片顺序哇

<script>

        $(document).ready(function () {

            var zi = 1;
            var EmptySquare = 16;

            $.fn.extend({
                fifteen:

                    function (square_size) {
                        var gameObjectElement = '#' + $(this).attr('id');

                        var sqSize = square_size + 'px';
                        var boardSize = (square_size * 4) + 'px';

                        $(gameObjectElement).html('<div id="board"></div>');

                        $('#board').css({ position: 'absolute', width: boardSize, height: boardSize, border: '1px solid gray' });

                        for (var i = 0; i < 16; i++) {
                            $('#board').append("<div style='left: " + ((i % 4) * square_size) + "px; top: " + Math.floor(i / 4) * square_size + "px; width: " + square_size + "px; height: " + square_size + "px; background-position: " + (-(i % 4) * square_size) + "px " + -Math.floor(i / 4) * square_size + "px '></div>");
                        }

                        $('#board').children("div:nth-child(" + EmptySquare + ")").css({ backgroundImage: "", background: "#ffffff" });

                        $('#board').children('div').click(function () {
                            Move(this, square_size);
                        });

                    }
            });

            function Move(clicked_square, square_size) {
                var movable = false;

                var oldx = $('#board').children("div:nth-child(" + EmptySquare + ")").css('left');
                var oldy = $('#board').children("div:nth-child(" + EmptySquare + ")").css('top');

                var newx = $(clicked_square).css('left');
                var newy = $(clicked_square).css('top');

                if (oldx == newx && newy == (parseInt(oldy) - square_size) + 'px')
                    movable = true;

                if (oldx == newx && newy == (parseInt(oldy) + square_size) + 'px')
                    movable = true;

                if ((parseInt(oldx) - square_size) + 'px' == newx && newy == oldy)
                    movable = true;

                if ((parseInt(oldx) + square_size) + 'px' == newx && newy == oldy)
                    movable = true;

                if (movable) {
                    $(clicked_square).css('z-index', zi++);

                    $(clicked_square).animate({ left: oldx, top: oldy }, 200, function () {
                        $('#board').children("div:nth-child(" + EmptySquare + ")").css('left', newx);
                        $('#board').children("div:nth-child(" + EmptySquare + ")").css('top', newy);
                    });
                }
            }

            $('#game_object').fifteen(175);

            $("#start").on('click', function () {





            })


        });
    </script>
                        $(gameObjectElement).html('<div id="board"></div>');

                        $('#board').css({ position: 'absolute', width: boardSize, height: boardSize, border: '1px solid gray' });

                        for (var i = 0; i < 16; i++) {
                                                ...
你这里的代码,修改为

                        $(gameObjectElement).html('<div id="board"></div>');

                        $('#board').css({ position: 'absolute', width: boardSize, height: boardSize, border: '1px solid gray' });


rnd = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15];
rnd.sort(randomsort);
for (var j = 0; j < 16; j++) {
 var i = rnd[j];
 你下面的代码
 ...
 }
 ...

 你需要定义一个函数
 function randomsort(a, b) {
    return Math.random()>.5 ? -1 : 1;
    //用Math.random()函数生成0~1之间的随机数与0.5比较,返回-1或1
}