Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 13.01.2016, 14:12
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

рони,
кстати, фигуру можно вычислить, если начать с конца истории, но надо знать цвет фигур первого хода.
Что-то я сперва подумал (из описания истории 1.... 2....), что каждый шаг в ней, это запись ходов двух игроков. Только внимательно посмотрев на картинку... Значит с обработчиком просто, а вот фигуры надо записывать в data-*, если только ходы не сохраняются уже где-то.
Ответить с цитированием
  #12 (permalink)  
Старый 13.01.2016, 14:13
Аспирант
Отправить личное сообщение для diga Посмотреть профиль Найти все сообщения от diga
 
Регистрация: 13.01.2016
Сообщений: 57

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


Сообщение от рони Посмотреть сообщение
diga,
наверно где-то есть данные всех ходов -- и прежде чем показать ход из середины партии наверно надо вывести все предыдущие ходы до выбранного ....
да я тоже так же думаю, так же вариант использовать специальную нотацию, которая так же имеется в данном скрипте, т.к. скрипт не мой, и пока не силен в языке, трудновато разобраться, много времени уходит на решение вопросов которые решаются в 2-3 строчки.

Сам скрипт я взял из этого сайта. Все вроде как красиво и понять, захотел свое добавить и все, пошло не понимание. Может сделать сохранение нотации, и уже восстанавливать ходы используя нотацию?
Ответить с цитированием
  #13 (permalink)  
Старый 13.01.2016, 14:16
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от diga
нет сбрасывать не нужно, я как понял, там есть функция которая продолжает игру с того момента, где остановились.
Если есть таковое, значит она начнет играть с последнего хода, а вы хотите выполнить ход из истории, то есть добавить такую функцию самостоятельно. Предположим, что последний ход с которого можно возобновить игру записывается как раз с вызовом board.move(). Сделали вы ход из истории, любой, с какого хода тогда возобновится игра?
Ответить с цитированием
  #14 (permalink)  
Старый 13.01.2016, 14:18
Аспирант
Отправить личное сообщение для diga Посмотреть профиль Найти все сообщения от diga
 
Регистрация: 13.01.2016
Сообщений: 57

Сообщение от laimas Посмотреть сообщение
рони,
кстати, фигуру можно вычислить, если начать с конца истории, но надо знать цвет фигур первого хода.
Что-то я сперва подумал (из описания истории 1.... 2....), что каждый шаг в ней, это запись ходов двух игроков. Только внимательно посмотрев на картинку... Значит с обработчиком просто, а вот фигуры надо записывать в data-*, если только ходы не сохраняются уже где-то.
так разве не белые всегда ходят в стандартной игре?)
судя по источника скрипта, вся история храниться в нотации вида
ruyLopez = 'r1bqkbnr/pppp1ppp/2n5/1B2p3/4P3/5N2/PPPP1PPP/RNBQK2R';

и при вызове функции фигуры перемещаются как надо. Но тогда нужно хранить историю нотации? чтоб знать в какой момент была произведено изменение? или по одной нотации и зная какие ходы были совершены восстановить текущую нотацию и отправить в обработчик?
Ответить с цитированием
  #15 (permalink)  
Старый 13.01.2016, 14:23
Аспирант
Отправить личное сообщение для diga Посмотреть профиль Найти все сообщения от diga
 
Регистрация: 13.01.2016
Сообщений: 57

Сообщение от laimas Посмотреть сообщение
Если есть таковое, значит она начнет играть с последнего хода, а вы хотите выполнить ход из истории, то есть добавить такую функцию самостоятельно. Предположим, что последний ход с которого можно возобновить игру записывается как раз с вызовом board.move(). Сделали вы ход из истории, любой, с какого хода тогда возобновится игра?
игра возобновиться с того момента, когда был сделан последний ход, в не зависимости от того просмотрел я старые ходы или нет, т.е. если я во время просмотра старого хода я нажал на историю, и решил выйти пешкой, то все фигуры станут на места соответствующие последнему ходу, данная функция только показывает расположение фигур на доске, но сами координаты текущих расположений фигур не изменят
Ответить с цитированием
  #16 (permalink)  
Старый 13.01.2016, 14:25
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от diga
так разве не белые всегда ходят в стандартной игре?)

Я не знаю что такое стандартная по отношению к шахматам, но первый ход в шахматах разыгрывается.

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

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

Мне кажется так, ибо история пишется автоматом.
Ответить с цитированием
  #17 (permalink)  
Старый 13.01.2016, 14:27
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

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

Вы уверены? Если да, то такое уже должно быть реализовано в игре, тогда к чему вопрос?
Ответить с цитированием
  #18 (permalink)  
Старый 13.01.2016, 14:32
Аспирант
Отправить личное сообщение для diga Посмотреть профиль Найти все сообщения от diga
 
Регистрация: 13.01.2016
Сообщений: 57

Сообщение от laimas Посмотреть сообщение
Вы уверены? Если да, то такое уже должно быть реализовано в игре, тогда к чему вопрос?
вопрос в том как реализовать просмотр ходов по истории) могу скинуть скрипт, если это лучше поможет меня понять
Ответить с цитированием
  #19 (permalink)  
Старый 13.01.2016, 14:40
Аспирант
Отправить личное сообщение для diga Посмотреть профиль Найти все сообщения от diga
 
Регистрация: 13.01.2016
Сообщений: 57

Сообщение от laimas Посмотреть сообщение
Вы уверены? Если да, то такое уже должно быть реализовано в игре, тогда к чему вопрос?
скрипт во вложении, посмотри что можно сделать, буду очень благодарен
Вложения:
Тип файла: zip chess.zip (158.0 Кб, 13 просмотров)
Ответить с цитированием
  #20 (permalink)  
Старый 13.01.2016, 14:41
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

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

Но история пишется автоматически, по крайней мере спец. кнопки для этого не видно, а значит и она по идее должна измениться при этом. Я так полагаю, а вы говорите, что сбрасывать/не разрешать играть при этом, не нужно. Если я прав, значит игру уже не возобновить с последнего хода.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Срабатывание функции по нажатию на checkbox Valentin1918 Общие вопросы Javascript 9 09.11.2016 12:34
Двойное срабатывание функции webbaster Общие вопросы Javascript 3 08.08.2015 23:29
События - focusout и click отменить повторное срабатывание функции egorychmaster Элементы интерфейса 1 25.06.2015 13:35
Проблема с выходным значением функции sparrow Общие вопросы Javascript 4 18.01.2014 18:13
предотвратить срабатывание функции posta Общие вопросы Javascript 8 05.06.2011 16:37