И таки проверил. На языке Wolfram в среде Mathematica. Естественно, по сравнению с представленным по ссылке адовым трешем на Wolfram получилось коротко и довольно понятно.
Кроме того, когда язык позволяет думать над задачей, а не тратить всё время на многократные копипасты, в голову приходят мысли о том, как это сделать ещё лучше: ещё короче, общее и понятнее.
После этого товарищ в комментах предложил флеш-моб, смысл которого в реализации пятнашек на чём угодно — ну, на чём нравится конкретному человеку.
Однако я внесу в это размытое предложение коррективы, уточнив правила.
- Должен быть реализован случай для доски размера N на М
- Настройки размера доски можно прописать прямо в коде
- Сама игра должна быть представлена в графике и управляться кликами мышки
- С мега-дизайном можно не заморачиваться — любая графика, более-менее изображающая фишки с числами, сойдёт
- Должна диагностироваться победа, когда она наступила, и об этом должно писаться на экране
- Должно быть можно подвинуть сразу целый фрагмент ряда или столбца — от той фишки, по которой игрок кликнул, до пустого места
- Старт с перемешанными пятнашками, но можно не диагностировать тот случай, когда данная игра неразрешима
- Программа должна, блин, работать, а не быть написанной чисто «в уме»
Результаты можно заслать в комменты, но есть правила засылки, поскольку слипшийся и неотформатированный код, один хрен, читать невозможно.
Поэтому у вас есть две опции.
Первая — заскриншотить отформатированный код в среде разработки и выложить картинку. Можно опционально дать ссылку на файл с этим кодом для желающих опробовать.
Вторая (только для ЖЖ) — обернуть отформатированный код в тэг <pre>. Тогда это будет выглядеть, как тут показано, и все отступы сохранятся.
Нечитаемое слипшееся гуано я с большой вероятностью буду удалять.