Правильность оформления условия в if
Всем привет, если в конструкции с условием это самое условие очень большое и не помещается на экране в одной строке, будет ли правильным это условие разбить на несколько строк? Пример будет ниже
if (view->isChecked(this->x() + 100, this->y() + 100) &&
view->getFigureTeamByCoords(this->x() + 100, this->y() + 100) == "BLACK" &&
!view->isChecked(this->x() + 200, this->y() + 200)) {
return true;
} else if (view->isChecked(this->x() - 100, this->y() + 100) &&
view->getFigureTeamByCoords(this->x() - 100, this->y() + 100) == "BLACK" &&
!view->isChecked(this->x() - 200, this->y() + 200)) {
return true;
} else if (view->isChecked(this->x() + 100, this->y() + 100) &&
view->getFigureTeamByCoords(this->x() + 100, this->y() + 100) == "BLACK" &&
!view->isChecked(this->x() + 200, this->y() + 200)) {
return true;
} else if (view->isChecked(this->x() - 100, this->y() + 100) &&
view->getFigureTeamByCoords(this->x() - 100, this->y() + 100) == "BLACK" &&
!view->isChecked(this->x() - 200, this->y() + 200)) {
return true;
} else {
return false;
}
сразу извиняюсь если что-то говорю не так
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Если все же надо третье +100/-100, а четвертое -100/-100, то можно:
for(int i = -1; i < 2; i+=2) for(int j = -1; j < 2; j+=2)
{
if (!view->isChecked(this->x() + 100*i, this->y() + 100*j)) continue;
if (view->isChecked(this->x() + 200*i, this->y() + 200*j)) continue;
if (view->getFigureTeamByCoords(this->x() + 100*i, this->y() + 100*j) == "BLACK")
return true;
}
return false;
Всяко короче...