Спецам Javascript. Что тут можно оптимизировать?
А Вы знали что костяшки нельзя рандомно разбрасывать по полю пятнашек? ;) Для того чтобы они всегда складывались необходим специальный алгоритм размешивания суть которого должна сводиться к (перестановка двух случайних косточек) * 2n?Источник
Поэтому сначала оптимизируйте генерацию случайной доски.
У Имя Фамилия в алгоритме, кстати, та же ошибка..
$(".square").click(function()
неэффективно
Нужно так:$("body").on("click", ".square", function()
upd.  лол, раз тут набежали объясню
Заглянув в исходники jQuery можно увидеть, что разные $(selector).click это алиасы на $(selector).on
https://github.com/jquery/jquery/blob/master/src/e...
А вот тут видно, что во втором случае у нас будет только один листенер, в первом случае их будет 15. Сильно на производительность не повлияет, но если он захочет сделать 2048нашки то будет заметна разница.
https://github.com/jquery/jquery/blob/master/src/e...