(NM - 1)-нашки

Jul 04, 2017 01:11

После того, как разверзлись бездны «простой и понятной» реализации игры в пятнашки на неком языке для контроллеров, похожем на блок-схемы, я просто не удержался от того, чтобы проверить, какого размера будет полная (почти) реализация этой игры на каком-то нормальном языке программирования.

И таки проверил. На языке Wolfram в среде Mathematica. Естественно, по сравнению с представленным по ссылке адовым трешем на Wolfram получилось коротко и довольно понятно.

Кроме того, когда язык позволяет думать над задачей, а не тратить всё время на многократные копипасты, в голову приходят мысли о том, как это сделать ещё лучше: ещё короче, общее и понятнее.

После этого товарищ в комментах предложил флеш-моб, смысл которого в реализации пятнашек на чём угодно - ну, на чём нравится конкретному человеку.

Однако я внесу в это размытое предложение коррективы, уточнив правила.

  1. Должен быть реализован случай для доски размера N на М

  2. Настройки размера доски можно прописать прямо в коде

  3. Сама игра должна быть представлена в графике и управляться кликами мышки

  4. С мега-дизайном можно не заморачиваться - любая графика, более-менее изображающая фишки с числами, сойдёт

  5. Должна диагностироваться победа, когда она наступила, и об этом должно писаться на экране

  6. Должно быть можно подвинуть сразу целый фрагмент ряда или столбца - от той фишки, по которой игрок кликнул, до пустого места

  7. Старт с перемешанными пятнашками, но можно не диагностировать тот случай, когда данная игра неразрешима

  8. Программа должна, блин, работать, а не быть написанной чисто «в уме»

Результаты можно заслать в комменты, но есть правила засылки, поскольку слипшийся и неотформатированный код, один хрен, читать невозможно.

Поэтому у вас есть две опции.

Первая - заскриншотить отформатированный код в среде разработки и выложить картинку. Можно опционально дать ссылку на файл с этим кодом для желающих опробовать.

Вторая (только для ЖЖ) - обернуть отформатированный код в тэг
.
Тогда это будет выглядеть, как тут показано, и все отступы сохранятся.

Нечитаемое слипшееся гуано я с большой вероятностью буду удалять.

программирование

Previous post Next post
Up