Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Срабатывание функции с определенным значением (https://javascript.ru/forum/misc/60664-srabatyvanie-funkcii-s-opredelennym-znacheniem.html)

diga 13.01.2016 12:56

Срабатывание функции с определенным значением
 
Доброго времени суток, имеется скрипт шахматы (найден в сети), хочу сделать возможность просмотра сделанных ходов.
Ходы формируются вида PGN: 1. e4 f5 2. a4 b6 (например). Хочу чтоб при на один из ходов, была показана на доске каким образом был сделан ход. Для этого имеется некоторая функция которая показывает перемещение всех фигур на доске, выглядит она следующим образом:

$('#moveBtn').on('click', function() {
  board.move('a2-a4', 'h7-h5');
});


т.е. фигура с a2 перешла в a4 и фигура с h7 перешла в h5, таким образом PGN будет выглядить как 1.a4 h7. PGN составляется следующим образом:
<span id="pgn"></span>

move_string = '</a>'+pgn_move_number + '.'+'<a href="#">';
move_string = move_string + ' ' + move_to_san(move);


т.е. результат имеет вид:
<span id="pgn">1.<a href="#"> d3 c6 </a>2.<a href="#"> b4 a6</a></span>


Собственно вопрос как зная только PGN можно посмотреть движение фигуры? Т.е. кликнул по первой ссылке, получил движение фигуры, кликнул по второй получил новое движение фигуры.

Буду очень благодарен, если поможете!

рони 13.01.2016 13:09

diga,
попробуйте ещё раз обьяснить, не упоминая PGN.
может макет какой и описание какое-никакое -типа жмак сюда, а оно как бух?

diga 13.01.2016 13:35

Цитата:

Сообщение от рони (Сообщение 403551)
diga,
попробуйте ещё раз обьяснить, не упоминая PGN.
может макет какой и описание какое-никакое -типа жмак сюда, а оно как бух?

в общем, есть игра шахматы

есть информация по ходам, которая формируется справа от доски


хочу, чтоб при нажатии на один из ходов (гиперссылка), фигуры на доске поменялись (которые соответствуют данному ходу)

для этого есть функция, о которой я писал выше, но вот как их соединить я не знаю ))))

laimas 13.01.2016 13:45

Цитата:

Сообщение от diga
span id="pgn"

Такого не может быть, id должно быть уникальным. А чтобы сделать ход по истории, нужно обрабатывать щелчок по ним, а текст их дочерних элементов передавать в board.move(). Формируйте либо уникальные id у span, либо назначьте класс (а может он уже есть?), ну а далее уже установка обработчика.

PS. Видимо нужно еще и сбрасывать ход по истории, вернув состояние игры до этого, чтобы можно было ее продолжить?

рони 13.01.2016 13:47

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

рони 13.01.2016 13:49

Цитата:

Сообщение от laimas
Такого не может быть

вывод партии -- зачем ещё то элементы кроме 1 - похоже клик по ссылке нужно ТС обработать в этом элементе.

рони 13.01.2016 13:53

вот скажем ход 1. с3 это пешкой сходили с с2 или конём с b1?

laimas 13.01.2016 13:54

Ну так он же пишет - история справа, значит это будет набор span, ну и одно id на всех .... )
Я полагаю, что нужно иметь возможность выполнить любой ход из истории. Значит надо еще и возвращаться к последнему ходу (возврат в игру).
Хотя все может быть. )

laimas 13.01.2016 13:55

Цитата:

Сообщение от рони
вот скажем ход 1. с3 это пешкой сходили с с2 или конём с b1?

Не только чем, но и какими, то есть первый ход чей, черных или белых. )

laimas 13.01.2016 13:59

Цитата:

Сообщение от рони
вывод партии -- зачем ещё то элементы кроме 1

Ну да, может быть - в одном span текст и ссылки. Не удобно для установки обработчика.


Часовой пояс GMT +3, время: 17:12.