action1, time1 = C1.generateAction(aircraft1=m1, aircraft2=m2, g=1, t=time1) if t1: # If A1 has reached its destination, it will not send any messages and thus action for A2 is independent of A1 action2, t = C2.generateAction(aircraft1=m2, g=2) else: # Else A1 will also send its message to controller of A2 action2, time2 = C2.generateAction(aircraft1=m2, aircraft2=m1, g=2, t=time2) if not t1: # If A1 has not reached, perform action A1.perfromAction(action1) if not t2: # If A2 has not reached, perform action A2.perfromAction(action2) # Get the updated status of both flights t1 = A1.isDestination() t2 = A2.isDestination() m1 = A1.Message() m2 = A2.Message() print('\nTime ', i, 'minutes since start') if t1: print("Status of A1: Reached") else: print("Status of A1: ", m1)