|
29.12.2008, 21:37 | #1 |
Участник
|
Цитата:
Выкладываю обновление. Файл с картинками chess_res.rar остался прежний. Пару раз замечал, что доска у чёрных не переворачивается. Но воспроизвести снова никак не получается. Мож кто случайно сможет зафиксировать это, сообщите пожалуйста.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. Последний раз редактировалось miklenew; 29.12.2008 в 21:46. |
|
30.12.2008, 10:24 | #2 |
Участник
|
SP4 (29.12.2008)
Цитата:
Взятие пешки на проходе Цитата:
X++: ... if(typeFigure != ChessTypeFigure::Knight) { pawnOnMove = this.checkCutPawnOnMove(_moveTo); if(pawnOnMove) if (typeFigure == ChessTypeFigure::Pawn || Box::yesNo("Вы можете взять пешку на проходе. Взять?" ,DialogButton::No) == DialogButton::Yes) if(this.cutPawnOnMove(_moveTo, pawnOnMove)) return true; } ... 1. e2-e4 d7-d6 2.Cf1-c4 e7-e5 И при попытке хода слоном с c4 на e6 получается та же картина с диалогом и взятием пешки на e5 (см. картинку во вложении). Тут дело в порядке проверки условий взятия на проходе - Вы сначала анализируете есть ли взятие на проходе и только потом смотрите что это за фигура. По правилам взять на проходе может только пешка - поэтому условие на проверку фигуры нужно поднять выше проверки взятия на проходе. Если не возражаете, предложу такой вариант реализации кода: X++: ... if( typeFigure == ChessTypeFigure::Pawn ) { pawnOnMove = this.checkCutPawnOnMove(_moveTo); if( pawnOnMove ) { if( Box::yesNo("Вы можете взять пешку на проходе. Взять?" ,DialogButton::No) == DialogButton::No ) return false ; if( this.cutPawnOnMove(_moveTo, pawnOnMove)) return true; } } |
|
30.12.2008, 17:34 | #3 |
Участник
|
Вот с последними исправлениями.
Файл с картинками chess_res.rar остался прежний.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
26.12.2008, 11:59 | #4 |
Модератор
|
miklenew Это версия для 3 и 4? Что на Ax 2009, пару ошибок компиляции, и глюки вышли.
По с временем обдумывания игрока, и в 2009 у меня нет Action\SysUserSendMessage |
|
26.12.2008, 13:32 | #5 |
Участник
|
Сорри. Самое главное забыл написать.
Это для Ax 3.0.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
|
За это сообщение автора поблагодарили: Poleax (2). |
26.12.2008, 16:08 | #6 |
Модератор
|
miklenew
Пора для Ax 2009 делать, тады с меня ПИВО! То что я видел, мне понравилось! |
|
29.12.2008, 21:14 | #7 |
Участник
|
Цитата:
На английской версии сижу. А ты говоришь 2009.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
29.12.2008, 10:27 | #8 |
----------------
|
1. я так понял, сообщение про мат только одному игроку выдается? надо бы обоих поздравлять
2. пат вообще молчком происходит, хотя тоже финальный результат и надо бы всех порадовать. 3. для защиты от шаха можно закрыться какой-нибудь фигурой, но ничто не запрещает следующим ходом ее убрать, открыв короля на съедение. --- Когда аксапта сможет сама играть? |
|
29.12.2008, 14:33 | #9 |
Участник
|
Пешка -> Фигура
Добавлю своих 5 копеек:
По достижению пешкой 8-ой (для черных 1-ой) горизонтали она 'молча' (автоматически) превращается в ферзя (по правилам шахмат игрок определяет какую фигуру он выставляет на доску - не обязательно это должен быть ферзь) - в этом месте надо бы спросить у игрока в диалоговой форме какую фигуру он хочет выставить на доску: слона, коня, ладью или ферзя. Как вариант ввести настройку: "Автоматическое превращение пешки в ферзя" при которой диалог не будет вызываться. |
|
29.12.2008, 21:36 | #10 |
Участник
|
Цитата:
Сообщение от petergunn
По достижению пешкой 8-ой (для черных 1-ой) горизонтали она 'молча' (автоматически) превращается в ферзя (по правилам шахмат игрок определяет какую фигуру он выставляет на доску - не обязательно это должен быть ферзь) - в этом месте надо бы спросить у игрока в диалоговой форме какую фигуру он хочет выставить на доску: слона, коня, ладью или ферзя.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
29.12.2008, 21:34 | #11 |
Участник
|
Цитата:
Поидее кто делает шах, мат он то знает. А тут какая-то штука будет вылетать. Подумаю ещё. Цитата:
Цитата:
Не знаю надо мат часть почитать, как такие системы делают. Скорее всего окажется выборка случайного значения из уже забитой базы. А базу эту забивать время много надо.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
20.02.2009, 14:19 | #12 |
----------------
|
Старая версия считала на 3 полухода и делала явные ляпы при разменах. Это считает на 4 полухода и играет значительно аккуратней.
Смысл делать расчет на яве нет, так как проще, быстрее и лучше будет сделать на С++ или на .net, но это уже из другой области программирования. |
|
29.08.2011, 13:38 | #13 |
Участник
|
Здравствуйте.
Релиз для Ax2009 (chess+Bot.zip). + папка с ресурсами (chess) + проект шахмат ( SP 7) + БОТ. Приятной игры.
__________________
Все в порядке - идем ко дну! (к/ф Экипаж счастливой "Щуки") Последний раз редактировалось Veter; 29.08.2011 в 13:41. |
|
|
За это сообщение автора поблагодарили: mazzy (5), Wamr (3), AxPr-r (1), miklenew (12). |
31.08.2011, 10:12 | #14 |
Участник
|
ошибка компиляции
class ChessBot ругается на ChessProgress progress; |
|
|
За это сообщение автора поблагодарили: Veter (1). |
09.09.2011, 12:58 | #15 |
Участник
|
жутко извеняюсь.
Так должно работать. + класс ChessBot - запуск от сервера (у меня на 40% сократило время хода БОТа).
__________________
Все в порядке - идем ко дну! (к/ф Экипаж счастливой "Щуки") |
|
18.12.2014, 15:04 | #16 |
Участник
|
А есть такие же, но для 2012?
|
|