AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.12.2008, 21:37   #1  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от petergunn Посмотреть сообщение
Интересный побочный эффект текущей реализации взятия пешки на проходе.
и берём конем пешку на e5.
Исправил.
Выкладываю обновление.
Файл с картинками chess_res.rar остался прежний.
Пару раз замечал, что доска у чёрных не переворачивается.
Но воспроизвести снова никак не получается.
Мож кто случайно сможет зафиксировать это, сообщите пожалуйста.
Вложения
Тип файла: rar chess 1.0 SP4. Build ING on 29.12.2008.rar (19.4 Кб, 86 просмотров)
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.

Последний раз редактировалось miklenew; 29.12.2008 в 21:46.
Старый 30.12.2008, 10:24   #2  
petergunn is offline
petergunn
Участник
 
118 / 274 (10) ++++++
Регистрация: 30.08.2005
Адрес: Tyumen
SP4 (29.12.2008)
Цитата:
Сообщение от miklenew Посмотреть сообщение
Цитата:
Сообщение от petergunn
... надо бы спросить у игрока в диалоговой форме какую фигуру он хочет выставить на доску: слона, коня, ладью или ферзя.
Спасибо. Исправил.
Если при выборе фигуры выставляемой на доску закрыть окно выбора по [x], то получим ошибку: "Метод 'ChessItem.label' должен быть перекрыт.". (т.к. переменная typeFigureNew получает значение ChessTypeFigure::Empty и далее создается экземпляр класса СhessItem)

Взятие пешки на проходе
Цитата:
Сообщение от miklenew Посмотреть сообщение
Цитата:
Сообщение от petergunn
Интересный побочный эффект текущей реализации взятия пешки на проходе.
и берём конем пешку на e5.
Исправил.
Выкладываю обновление.
Classes\ChessItem\move():
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;
        }
    }
Миниатюры
Нажмите на изображение для увеличения
Название: chess_bishop.JPG
Просмотров: 533
Размер:	51.8 Кб
ID:	4121  
Старый 30.12.2008, 17:34   #3  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Вот с последними исправлениями.
Файл с картинками chess_res.rar остался прежний.
Вложения
Тип файла: rar chess 1.0 SP5. Build ING on 30.12.2008.rar (19.3 Кб, 80 просмотров)
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.
Старый 26.12.2008, 11:59   #4  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
miklenew Это версия для 3 и 4? Что на Ax 2009, пару ошибок компиляции, и глюки вышли.
По с временем обдумывания игрока, и в 2009 у меня нет Action\SysUserSendMessage
Старый 26.12.2008, 13:32   #5  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от Poleax Посмотреть сообщение
Это версия для 3 и 4?
Сорри. Самое главное забыл написать.
Это для Ax 3.0.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.
За это сообщение автора поблагодарили: Poleax (2).
Старый 26.12.2008, 16:08   #6  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
miklenew
Пора для Ax 2009 делать, тады с меня ПИВО! То что я видел, мне понравилось!
Старый 29.12.2008, 21:14   #7  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от Poleax Посмотреть сообщение
miklenew
Пора для Ax 2009 делать, тады с меня ПИВО! То что я видел, мне понравилось!
Думаю не скоро на 4-ку ключи нормальные никак не найду.
На английской версии сижу.
А ты говоришь 2009.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.
Старый 29.12.2008, 10:27   #8  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
1. я так понял, сообщение про мат только одному игроку выдается? надо бы обоих поздравлять
2. пат вообще молчком происходит, хотя тоже финальный результат и надо бы всех порадовать.
3. для защиты от шаха можно закрыться какой-нибудь фигурой, но ничто не запрещает следующим ходом ее убрать, открыв короля на съедение.

---
Когда аксапта сможет сама играть?
Старый 29.12.2008, 14:33   #9  
petergunn is offline
petergunn
Участник
 
118 / 274 (10) ++++++
Регистрация: 30.08.2005
Адрес: Tyumen
Пешка -> Фигура
Добавлю своих 5 копеек:

По достижению пешкой 8-ой (для черных 1-ой) горизонтали она 'молча' (автоматически) превращается в ферзя (по правилам шахмат игрок определяет какую фигуру он выставляет на доску - не обязательно это должен быть ферзь) - в этом месте надо бы спросить у игрока в диалоговой форме какую фигуру он хочет выставить на доску: слона, коня, ладью или ферзя.

Как вариант ввести настройку: "Автоматическое превращение пешки в ферзя" при которой диалог не будет вызываться.
Старый 29.12.2008, 21:36   #10  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от petergunn Посмотреть сообщение
По достижению пешкой 8-ой (для черных 1-ой) горизонтали она 'молча' (автоматически) превращается в ферзя (по правилам шахмат игрок определяет какую фигуру он выставляет на доску - не обязательно это должен быть ферзь) - в этом месте надо бы спросить у игрока в диалоговой форме какую фигуру он хочет выставить на доску: слона, коня, ладью или ферзя.
Спасибо. Исправил.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.
Старый 29.12.2008, 21:34   #11  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Цитата:
Сообщение от Wamr Посмотреть сообщение
1. я так понял, сообщение про мат только одному игроку выдается? надо бы обоих поздравлять
Не знаю.
Поидее кто делает шах, мат он то знает.
А тут какая-то штука будет вылетать.
Подумаю ещё.
Цитата:
Сообщение от Wamr Посмотреть сообщение
2. пат вообще молчком происходит, хотя тоже финальный результат и надо бы всех порадовать.
Сделал.
Цитата:
Сообщение от Wamr Посмотреть сообщение
3. для защиты от шаха можно закрыться какой-нибудь фигурой, но ничто не запрещает следующим ходом ее убрать, открыв короля на съедение.
Исправил.
Цитата:
Сообщение от Wamr Посмотреть сообщение
Когда аксапта сможет сама играть?
Не знаю надо мат часть почитать, как такие системы делают.
Скорее всего окажется выборка случайного значения из уже забитой базы.
А базу эту забивать время много надо.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.
Старый 20.02.2009, 14:19   #12  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Старая версия считала на 3 полухода и делала явные ляпы при разменах. Это считает на 4 полухода и играет значительно аккуратней.

Смысл делать расчет на яве нет, так как проще, быстрее и лучше будет сделать на С++ или на .net, но это уже из другой области программирования.
Старый 29.08.2011, 13:38   #13  
Veter is offline
Veter
Участник
Аватар для Veter
 
18 / 35 (2) +++
Регистрация: 23.06.2011
Адрес: Минск
Здравствуйте.

Релиз для Ax2009 (chess+Bot.zip).
+ папка с ресурсами (chess)
+ проект шахмат ( SP 7)
+ БОТ.

Приятной игры.
Вложения
Тип файла: zip chess+Bot.zip (588.5 Кб, 179 просмотров)
__________________
Все в порядке - идем ко дну! (к/ф Экипаж счастливой "Щуки")

Последний раз редактировалось Veter; 29.08.2011 в 13:41.
За это сообщение автора поблагодарили: mazzy (5), Wamr (3), AxPr-r (1), miklenew (12).
Старый 31.08.2011, 10:12   #14  
UNRW is offline
UNRW
Участник
 
383 / 67 (3) ++++
Регистрация: 16.09.2004
Адрес: Москва
ошибка компиляции
class ChessBot
ругается на
ChessProgress progress;
За это сообщение автора поблагодарили: Veter (1).
Старый 09.09.2011, 12:58   #15  
Veter is offline
Veter
Участник
Аватар для Veter
 
18 / 35 (2) +++
Регистрация: 23.06.2011
Адрес: Минск
жутко извеняюсь.
Так должно работать.
+ класс ChessBot - запуск от сервера (у меня на 40% сократило время хода БОТа).
Вложения
Тип файла: rar SharedProject_chess.rar (31.9 Кб, 186 просмотров)
__________________
Все в порядке - идем ко дну! (к/ф Экипаж счастливой "Щуки")
Старый 18.12.2014, 15:04   #16  
Starling is offline
Starling
Участник
Дети Юза
 
530 / 76 (4) ++++
Регистрация: 20.10.2005
Адрес: Kiev
А есть такие же, но для 2012?
Теги
download, шахматы, axapta

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Куда пропадают лицензии в Ax3.0 SP3 KR2? falcon65 DAX: Администрирование 2 10.05.2007 09:55
Куда идёт запись при разноске журналов зарплат?! 3oppo DAX: Программирование 5 28.07.2005 12:09
SP2 куда делся HELP? Help! KMV DAX: Администрирование 11 17.02.2004 12:26
Вопрос совсем "зеленый". Куда приткнуть метод? Hobo DAX: Программирование 3 13.02.2004 18:07
Куда уходят данные? Oz DAX: Администрирование 4 30.01.2004 17:11

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:34.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.