Наконец то удалось реализовать сервис для трансляции партий по русским и другим видам шашек на 64 клеточной доске (бразильские, двухходовые, английские - но об этом позже).
Основная идея сервиса:
Пользователь вводит запись партии и необходимую информацию о ней (игроки, результат, турнир, дату) - на выходе получает код для вставки на сайт
Никаких файлов, закачек и т.д. Просто добавил партию - получил код - вставил на сайт - радуешься.
Сервис расположен по адресу http://igrynastolnye.ru/view
Покажу как это работает на примере партии Колесов Г. - Трофимов И. (ЧМ ФМЖД 2011). Вот исходный текст партии:
Колесов Г. — Трофимов И.
Чемпионат мира ФМЖД, 2011.10.19, 1 тур
— g7->h4 1. c3-b4 h8-g7 2. b2-c3 f6-e5 3. e3-d4 g7-f6 4. b4-a5 d6-c5 5. a1-b2 c5xe3 6. d2xd6 c7xe5 7. a5xc7 b8xd6 8. a3-b4 h6-g5 9. b2-a3 g5-f4 10. e1-d2 f6-g5 11. d2-e3 f4xd2 12. c1xe3 g5-f4 13. e3xg5 h4xf6 14. f2-e3 a7-b6 15. e3-d4 b6-a5 16. g1-f2 d6-c5 17. d4xb6 a5xc7 18. f2-e3 e7-d6 19. g3-h4 c7-b6 20. h2-g3 b6-c5 21. g3-f4 e5xg3 22. h4xf2 f6-e5 23. f2-g3 f8-g7 24. g3-f4 e5xg3 25. c3-d4 g3-h2 26. d4xb6 g7-f6 27. b6-a7 1-1
Заходим по ссылке на сервис, вводим в первое окошечко запись партии.
Важно! Скрипт не умеет играть в шашки, ему все равно кто и куда перелетает, поэтому для корректного отображения ходов, в случае перелета только одной шашки, необходимо вручную добавить пустой перелет (a3-a3). Так же не допускается ввод двух знаков между полями шашек (g7->h4 - недопустимо, надо g7-h4).
Далее вводим необходимую информацию об игроках:
Нажимаем кнопочку "Отправить". Получаем такую картинку:
Если приглядеться к полученному коду - вся информация содержится непосредственно в нем. В случае какой то ошибки - можно подредактировать.
Дальше вставляем на сайт в режиме html (обязательно!, в визуальном работать не будет)
И видим такие картинки:
Допускается перемещение по ходам (управляющие кнопки вперед/назад, вперед/назад на целый ход, в конец/начало партии, автоплей/стоп), а так же активен и текст записи - нажав на ход в записи, вы немедленно получите картинку после этого хода на доске.
Посмотреть скрипт в работе можно на следующих сайтах:
shashkinn.ru, dvahoda.ru, 64-100.com
Теперь о том, почему скрипт работает для всех типов шашек - ответ уже был на этой страничке - он не умеет играть ни в один из типов шашек. Скрипт лишь отображает вводимую ему нотацию на доске. Если игра идет в двухходовые шашки - он будет отображать сразу по 2 хода каждой стороны. Если в английские (тут проблемы с нотацией, цифровую не воспринимает) - то шашки будут бить ровно так, как написано.
Если вы получили код, а картинка или запись не появляется - проверяйте запись партии на предмет синтаксических ошибок (двойной знак между полями, некорректные поля и т.п.). Попробуйте удалить весь текст партии, оставив лишь несколько ходов - посмотрите, приведет ли это к успеху. И постепенно возвращайте текст обратно - таким образом вскроется ошибка.
Возможно в следующих версиях скрипта будет добавлена проверка корректности введенной партии, и будет выдаваться сообщение об ошибки на этапе построения кода.
Свои вопросы и пожелания можно оставлять в этой теме или мне на почту
Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
. В теме указывайте "Трансляция шашечных партий"
Владельцев шашечных сайтов прошу протестировать и прислать мне url странички с установленным кодом для проверки (можно выложить в этой теме)
p.s. На форумах не работает. Пока не очень понятно каким образом внедрять скрипты в форум... Но определенные мысли есть.