
% movieTime(HH,MM, Duration, H2,M2)
% ---------------------------------
% given a start time HH,MM and duration in minutes, Duration,
%    this unifies H2,M2 with the end time
% works for positive and  negative durations, assumes 24-hour clock
%
movieTime(HrSt,MinSt,Mins,HrFin,MinFin) :-
   hour(HrSt), minute(MinSt),
   integer(Mins), Mins >= 0,
   EndMin is ((MinSt + Mins) mod 60),
   EndHr is (HrSt + ((MinSt + Mins) // 60)) mod 24,
   EndHr = HrFin, EndMin = MinFin.

hour(H) :- integer(H), H >= 0, H < 24.
minute(M) :- integer(M), M >= 0, M < 60.

