boolean player1 = stone.isOwnedByPlayer1();
if ( !board_.inBounds( r + incr, c + incc ) ) {
return 0;
}
BoardPosition adjacent1 = board_.getPosition( r + incr, c );
BoardPosition adjacent2 = board_.getPosition( r , c + incc);
BoardPosition diagonal = board_.getPosition( r + incr, c + incc);
int severityScore = 0;
if (adjacent1.isOccupied() && adjacent2.isOccupied()) {
if ( adjacent1.getPiece().isOwnedByPlayer1() == player1
&& adjacent2.getPiece().isOwnedByPlayer1() == player1)
severityScore += getBadShapeAux(diagonal, player1);
}
if (adjacent1.isOccupied() && diagonal.isOccupied()) {
if ( adjacent1.getPiece().isOwnedByPlayer1() == player1
&& diagonal.getPiece().isOwnedByPlayer1() == player1)
severityScore += getBadShapeAux(adjacent2, player1);
}
if (adjacent2.isOccupied() && diagonal.isOccupied()) {
if ( adjacent2.getPiece().isOwnedByPlayer1() == player1
&& diagonal.getPiece().isOwnedByPlayer1() == player1)
severityScore += getBadShapeAux(adjacent1, player1);
}
return severityScore;
}