Volviendo a tu programa:
if (hour == 9 || hour == 10 || hour == 11 || hour == 12 || hour == 13 || hour == 14
|| hour == 15 || hour == 16 ||hour == 17)
{
poderRegar=false;
}
else
{
poderRegar=true;
}
¿No se podría sustituir por...
poderRegar=(hour<9 || hour>17);?
A no ser que lo hayas puesto así con intención de utilizar horas no consecutivas.