def manageOutbound(self): dock = None lorry = Lorry(self) self.stack = self.findNeStack() while dock == None and len(self.containers) < self.max: dock = self.ask_ship() lorry.bring_container(15) while dock == None: dock = self.ask_ship() ship = Ship(dock, self.nr_containers, self.upperBound, self.port.emptyC) self.ship = ship ship.colour = self.colour self.port.ship_queue.append(ship) while len(self.containers) < self.max: lorry.bring_container(15) del lorry while not len(ship.containers) == 0: time.sleep(1 / self.speed) ship.colour = self.colour self.ship = ship ship.status = "loading" while len(self.containers) > 0: ship.accept_container(self, 10) ship.status = "leaving1" while not ship.status == "left": time.sleep(0.1) del ship self.stack.nr_groups = self.stack.nr_groups - 1 self.ship = None dock.ship = None dock.occupied = False self.max = random.randint(self.lowerBound, self.upperBound) self.activity = self.checkUnload()