yep, this isnt engineering(snippet from chess game)
public function inBasicDraw()
{
$pieces = $this->getPieceTypes();
$blackPieces = array_keys($pieces['B']);
$whitePieces = array_keys($pieces['W']);
if (count($blackPieces) > 2 || count($whitePieces) > 2) {
return false;
} elseif (array_key_exists('B', $pieces['W']) && is_array($pieces['W']['B']) && count($pieces['W']['B']) > 1) {
return false;
} elseif (array_key_exists('B', $pieces['B']) && is_array($pieces['B']['B']) && count($pieces['B']['B']) > 1) {
return false;
}
if (count($blackPieces) == 1) {
if (count($whitePieces) == 1) {
return true;
}
// XXX: The following if/else block appears to be unreachable due to the if/elseif/elseif block above
if ($whitePieces[0] == 'K') {
if (in_array($whitePieces[1], array('N', 'B'))) {
if (is_array($pieces['W']['N']) && count($pieces['W']['N']) > 1) {
return false;
} elseif (is_array($pieces['W']['B']) && count($pieces['W']['B']) > 1) {
return false;
} else {
return true;
}
} else {
return false;
}
} else {
if (in_array($whitePieces[0], array('N', 'B'))) {
if (array_key_exists('N', $pieces['W']) && is_array($pieces['W']['N']) && count($pieces['W']['N']) > 1) {
return false;
} elseif (array_key_exists('B', $pieces['W']) && is_array($pieces['W']['B']) && count($pieces['W']['B']) > 1) {
return false;
} else {
return true;
}
} else {
return false;
}
}
}
if (count($whitePieces) == 1) {
if (count($blackPieces) == 1) {
return true;
}
// XXX: The following if/else block appears to be unreachable due to the if/elseif/elseif block above
if ($blackPieces[0] == 'K') {
if (in_array($blackPieces[1], array('N', 'B'))) {
if (is_array($pieces['B']['N']) && count($pieces['B']['N']) > 1) {
return false;
} elseif (is_array($pieces['B']['B']) && count($pieces['B']['B']) > 1) {
return false;
} else {
return true;
}
} else {
return false;
}
} else {
if (in_array($blackPieces[0], array('N', 'B'))) {
if (array_key_exists('N', $pieces['B']) && is_array($pieces['B']['N']) && count($pieces['B']['N']) > 1) {
return false;
} elseif (array_key_exists('B', $pieces['B']) && is_array($pieces['B']['B']) && count($pieces['B']['B']) > 1) {
return false;
} else {
return true;
}
} else {
return false;
}
}
}
$wpIndex = ($whitePieces[0] == 'K') ? 1 : 0;
$bpIndex = ($blackPieces[0] == 'K') ? 1 : 0;
if ($whitePieces[$wpIndex] == 'B' && $blackPieces[$bpIndex] == 'B') {
// bishops of same color?
if ($pieces['B']['B'][0] == $pieces['W']['B'][0]) {
return true;
}
}
return false;
}