БлогNot. Шахматная ходилка-2: теперь со стандартными библиотеками :)

Шахматная ходилка-2: теперь со стандартными библиотеками :)

Не так уж давно, лет 5-7 назад, моя старая добрая шахматная ходилка была вполне себе востребована. Но времена меняются, и пора собрать её версию на основе библиотек chess.js и chessboard.js, фактически, ставших сегодня стандартом для шахматных приложений на Web.

Новый небольшой сервис позволяет двигать мышкой шахматные фигуры начиная как со стандартной позиции, так и с любой позиции в формате FEN, которую Вы туда загрузите. Запись партии ведётся в стандартном формате PGN, файл PGN содержит стандартные теги и формируется "однострочным", для удобства вставки в шахматные смотрелки вроде ChessTempo или на форумы.

Ходы можно неограниченно отменять, если при розыгрыше партии произошла ошибка. Можно вернуться к начальной позиции кнопкой "Заново".

Единственное, чем приложение не похоже на другие мои поделки последних двух дней (Случайные шахматы-2, Ходы фигур) - реализация превращения пешки, которое chess.js при "ручной" игре не обрабатывает. В итоге несколько модифицировал и выдрал код для превращения пешки вот отсюда, его можно увидеть в секциях "Обработка превращения фигуры" файлов index.html и script.js. Для работы скрипта нужен также стиль css/pgnbuilder.css из приложенного архива.

Полный листинг исходников не прикрепляю, но их легко скачать в архиве .zip с этой страницы.

В режиме онлайн скрипт также можно будет всегда открыть по следующей ссылке:

 Сервис для онлайн-построения PGN в работе, открыть в новом окне (вкладке)

 Скачать архив .zip с исходниками скрипта ChessPGNBuilder, развернуть, не создавая новой папки (97 Кб)

скриншот работы приложения, активно окно превращения фигуры (фрагмент окна браузера)
скриншот работы приложения, активно окно превращения фигуры (фрагмент окна браузера)

Апдейты:

1. По просьбам трудящихся, текущая позиция теперь сохраняется и загружается автоматически (09.05.18). Это значит, что зайдя на страницу тем же браузером и в том же профиле, Вы сможете продолжить свою партию. Отменять ходы при этом можно будет только до сохранённой позиции, а кнопка "Заново" по-прежнему начинает партию с начальной позиции.

2. Добавлен разворот доски.

3. Добавлена возможность продолжать игру в технически ничейных позициях (троекратное повторение, правило 50 ходов, недостаточно материала).

08.12.2017, 11:59 [3591 просмотр]


теги: шахматы программирование javascript форматы сервис

показать комментарии (5)