コード例 #1
0
    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()