- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
if (this->IsWhiteFigure())
{
if (abs(position_x - this->GetPositionX()) == 1 && position_y - this->GetPositionY() == -1)
{
this->SetPositionX(position_x);
this->SetPositionY(position_y);
}
else
{
throw IncorrectMoveException();
}
}
else
{
if (abs(position_x - this->GetPositionX() == 1) && position_y - this->GetPositionY() == 1)
{
this->SetPositionX(position_x);
this->SetPositionY(position_y);
}
else
{
throw IncorrectMoveException();
}
}
Тест на внимательность. Сможете ли вы догадаться почему это не работает ?
GreatMASTERcpp 13.12.2014 20:50 # +2
1024-- 13.12.2014 20:54 # 0
Сейчас придут любители суперстрогой питуизации и скажут, что в их языках abs от Boolean из 15й строки вызывает ошибку на этапе компиляции.
GreatMASTERcpp 13.12.2014 21:14 # +1
Lure Of Chaos 13.12.2014 21:49 # +1