|
|
|
|
#1 |
|
Участник
|
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;
}
} |
|
|
|
|
#2 |
|
Участник
|
Цитата:
![]() Ну да ладно попозже поставлю защиту. Цитата:
Надо было бы прочесть и саму что там по F1.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
|
| Теги |
| download, шахматы, axapta |
|
|
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|