|
Злодейские моды для phpBB Создание и поддержка развлекательных модов: тотализатор, викторина, аукцион, шахматы
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Zlodey Автор тотализатора
Зарегистрирован: 08.01.2008 Сообщения: 222
баксов: 16751.05
|
Добавлено: Вс Фев 07, 2010 10:14 Заголовок сообщения: |
|
|
это глюки в самом ядре мода шахмат. иногда встречаются и другие: например, нельзя ходить на желаемое поле (лечится правкой вручную в БД списка разрешенных ходов на нужную партию), иногда можно "съесть" чужого короля и продолжать игру дальше))). Такие глюки появляются примерно в одной партии из десяти. Но повторюсь, это в самом ядре, а не в моих дополнениях, а код шахмат очень сложен и запутан, чтобы разбираться и искать причину. Приходится с этим мириться. Согласись, трудно реализовать на PHP/MySQL/JS шахматы как в специализированных программах.
А насчет того, что партия при мате не закончилась - если кинешь мне бэкап шахматных партий таблицу phpbb_chess из БД, то я посмотрю в чем там дело. По крайней мере мы сможем ее закрыть матом, а не цейтнотом проигравшего |
|
Вернуться к началу |
|
|
Геннадий
Зарегистрирован: 27.01.2010 Сообщения: 38
баксов: 1990.00
|
Добавлено: Вс Фев 07, 2010 11:46 Заголовок сообщения: |
|
|
В общих чертах разобрался, но есть вопросы.
вообще не понятно, что в таблице chess_list_valid ?
в поле chess_closed, поставил 1 тем самым в названии партии убралась надпись [Мой ход]
в поле chess_list_move, последний ход закрыл знаком # тем самым в названии партии, перечеркнулось имя проигравшего, хотя в партии chess_id 19, такого значка нет, а имя сдавшегося перечёркнуто?
Попытался убрать цейнот в партии chess_id 21- не получилось, а теперь не могу восстановить, имя в названии партии не перечёркивается.
файл базы данных всего форума, прикрепить не получилось, отправлю по почте. |
|
Вернуться к началу |
|
|
Zlodey Автор тотализатора
Зарегистрирован: 08.01.2008 Сообщения: 222
баксов: 16751.05
|
Добавлено: Вс Фев 07, 2010 13:12 Заголовок сообщения: |
|
|
chess_list_valid - это как раз допустимые в данный момент ходы. и именно в это поле нужно добавить вручную ход, если такой возможен с точки зрения шахмат, а скрипт не позволяет его сделать
# - насколько я помню означает проигрыш матом.
а имя перечеркивается либо в этом случае, либо при проигрыше цейтнотом, либо при сдаче, либо при ничьей (в последнем случае перечеркиваются оба имени - выигравших нет)
базу форума мне не нужно)), мне нужна только шахматная таблица, я хотел ее проанализировать на возможность ходов, про которую упоминал в начале поста. вдруг там стоит возможность какого-то заморочного хода, поэтому скрипт не выставил мат автоматически. но теперь ты сам это сможешь сделать или просто выложить здесь код в этой строке типа
Код: |
b8a6,b8c6,b8d7,e8d,e8d7,e8f7,h8g,c7b,c7a,c78,c76,c75,c74,c73,c72,c7d,
g75,g76,h75,h76,e6d7,e6c8,e6f7,e6g8,f6g8,f6e4,f6g4,f6d7,f6h5,d5c,d5b,
d5a,d56,d57,d58,d54,d5e,d5c6,d5b7,d5a8,d5c4,d5b3,d5a2,d5e4,d5f3,f54,b43
|
тип цейтнота в поле chess_cnot_type
0 - игра без цейтнота,
1 - цейтнот на ход,
2 - цейтнот на партию
попробуй выставить 0 |
|
Вернуться к началу |
|
|
Геннадий
Зарегистрирован: 27.01.2010 Сообщения: 38
баксов: 1990.00
|
Добавлено: Вс Фев 07, 2010 14:32 Заголовок сообщения: |
|
|
там вот, что
Тоесть получается, что надо было просто очистить поле chess_list_valid? |
|
Вернуться к началу |
|
|
Zlodey Автор тотализатора
Зарегистрирован: 08.01.2008 Сообщения: 222
баксов: 16751.05
|
Добавлено: Вс Фев 07, 2010 16:29 Заголовок сообщения: |
|
|
возможно что так. надо было поэксперементировать
т.е. игрок мог походить спокойно слоном на e7. и его короля в следующий ход бы съели. это то, о чем я говорил выше. недоработка шахмат, когда они не совсем правильно определяют список возможных ходов на данный момент
исправить алгоритм не в моих силах, но насколько помню, я пытался в код ввести поражение тому, чьего короля съедают. вот только не помню, работает это или нет. |
|
Вернуться к началу |
|
|
Геннадий
Зарегистрирован: 27.01.2010 Сообщения: 38
баксов: 1990.00
|
Добавлено: Пн Фев 22, 2010 09:43 Заголовок сообщения: |
|
|
В партии, появилась лишняя ладья. Хотел поправить строку chess_list_position, а там:
Код: | ',,,,,,,;,,B,BK,,B,B,B;,,,BN,,,,;W,,,WQ,,,,;,,,,,,,;,,,,,,,W;,W,,,,W,W,WK;,BB,BR,WR,,,,' |
Zlodey, ты знаешь, как эту абракадабру расшифровать? |
|
Вернуться к началу |
|
|
Геннадий
Зарегистрирован: 27.01.2010 Сообщения: 38
баксов: 1990.00
|
Добавлено: Чт Фев 25, 2010 19:41 Заголовок сообщения: |
|
|
А за что отвечает поле chess_castle? |
|
Вернуться к началу |
|
|
Zlodey Автор тотализатора
Зарегистрирован: 08.01.2008 Сообщения: 222
баксов: 16751.05
|
Добавлено: Чт Фев 25, 2010 22:37 Заголовок сообщения: |
|
|
появление лишней ладьи - известный, хотя и не частый глюк.
убирается ладья вручную редактированием базы в той строке, которую ты указал.
знак ; разделяет горизонтальные линии на шахматной доске,
запятая разделяет клетки в строке
означает, что все клетки строки пустые
Символы B и W - пешки соответственно черного и белого цветов. Остальные фигуры состоят из двух букв, начинающихся с обозначения их цвета |
|
Вернуться к началу |
|
|
Геннадий
Зарегистрирован: 27.01.2010 Сообщения: 38
баксов: 1990.00
|
Добавлено: Пт Фев 26, 2010 08:47 Заголовок сообщения: |
|
|
Спасибо, получилось.
Код: | ',,,,,,,;,,B,BK,,B,B,B;,,,BN,,,,;W,,,WQ,,,,;,,,,,,,;,,,,,,,W;,W,,,,W,W,WK;,BB,BR,,,,,' |
Если я правильно понял, то поле занятое фигурой, закрывается запятой
получается, что в некоторых строках 7 полей:
Код: |
8 ' ,/,/,/,/,/,/,/;
7 ,/,/B,/BK,/,/B,/B,/B/;
6 ,/,/,/BN,/,/,/,/;
5 W,/,/,/WQ,/,/,/,/;
4 ,/,/,/,/,/,/,/;
3 ,/,/,/,/,/,/,/W;
2,/W,/,/,/,/W,/W,/WK;
1,/BB,/BR,/,/,/,/,/'
|
|
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах You cannot attach files in this forum You can download files in this forum
|
Заблокировано регистраций / сообщений: 214221 / 0
|