change the shuffle method for a better one which gradually swaps adjacent pieces with the empty space