Во вложенных условиях есть смысл, когда алгоритм ветвится, то есть куча else имеется.
Вообще, хорошо придерживаться стандартов. Если работаете в компании, спросите, как обычно в такие моменты поступают. Если пишете самостоятельно, делайте так, как считаете удобным. Просто придерживайтесь одного стиля.
Например, попробуйте сделать условие многострочным. Что-нибудь вроде:
if (
water[qX][qY] < water[x][y]
&&
qX >= 0
&&
qY >= 0
&&
qX < room_size
&&
qY < room_size
&&
water[x][y] != 0
) {...}
Если приоритет выражений в условии идет не по порядку, то, используя такой метод, можно значительно повысить читаемость.