package cap6.programmitv;

class Programmazione
{ private Trasmissione trasm;
  private int ora;
  private int minuti;
  public Programmazione(Trasmissione t, int h, int m)
  { trasm = t;
    ora = h;
    minuti = m;
  }
  private int convertiInMinuti()
  { return (ora * 60) + minuti;
  }
  public boolean precede(Programmazione p)
  { return convertiInMinuti() < p.convertiInMinuti();
  }
  public boolean sovrapposto(Programmazione p)
  { int inizio1 = convertiInMinuti();
    int inizio2 = p.convertiInMinuti();
    int fine1 = inizio1 + trasm.dammiDurata();
    int fine2 = inizio2 + p.trasm.dammiDurata();
    return (((inizio1 >= inizio2) && (inizio1 < fine2)) ||
    ((inizio2 >= inizio1) && (inizio2 < fine1)));
  }
}
