Превращаем партию PGN в набор позиций FEN и картинок
Собственно, идея очень проста. Загружаем шахматную партию в стандартном формате записи PGN,
кликаем по ссылке, получаем последовательность позиций FEN и картинок PNG, занумерованных по порядку (1.png
, 2.png
и т.д.)
Быстрее всего, наверное, такое сделать в онлайне и на Javascript + PHP, тем более, все кусочки кода для этого есть.
Вот описание программы по ссылке "Инструкция" и скриншот её работы:
Вставьте шахматную нотацию в формате PGN в текстовое поле и нажмите "ВЫПОЛНИТЬ".
В этой версии поддерживается только запись партии с начальной позиции, но не с произвольной!
Приложение сгенерирует последовательность позиций в формате FEN и, если нужно, картинки .PNG к каждому ходу (установите флажок "С картинками").
Чтобы сохранить картинку, щёлкните на ней правой кнопкой мыши и выберите пункт меню "Сохранить изображение как...", "Сохранить картинку как..." и т.п. (зависит от браузера).
Чтобы сохранить позицию, выделите её тройным щелчком мыши и скопируйте в Буфер Обмена.
Также можно сохранить страницу целиком средствами Вашего браузера.
скриншот работы приложения, виден только верх доски 1-го хода
Далее можно скачать исходники скрипта и прочитать о том, как с ним работать онлайн.
Скачать архив .zip с файлами скрипта, папка уже создана внутри, Юникод (UTF-8) (86 Кб)
Для работы серверной стороны скрипта (генерации картинок) нужен PHP версии не ниже 5.4. Разумеется, выполнить серверную часть можно только на локальном или удалённом сервере, а не "просто открыв" в браузере.
Так как скрипт чреват некоторой нагрузкой на сервер (добавляет в цикле теги формирования картинок на стороне сервера), онлайн-версия на моём хосте выполняться не будет, но Вы всегда можете разместить скрипт "у себя" или локально :)
В теге <textarea>
главного документа index.html
стоит ограничение на максимальную длину PGN-файла в 2 Кб, его также можно изменить (атрибут maxlength
).
В этой статье есть подобный скрипт онлайн (генерирует позиции FEN после каждого хода, но картинку делает только одну :)
09.06.2019, 21:02 [2650 просмотров]