Exemple #1
0
    def __init__(self, start, end, cars=[], speed_limit=220, height=20):
        ''' Initialize the road values, with the 'start' and 'end' params
            being the intersectiosn on either end of the road '''
        Edge.__init__(self, start, end)
        self.cars = list(cars)
        self.speed_limit = speed_limit
        self.can_change_cars = Lock()

        self.length = math.sqrt((end.y - start.y)**2 +
                                (end.x - start.x)**2) - height
        delta_x = end.x - start.x
        delta_y = end.y - start.y

        # set the road angle for the pygame sprite
        if delta_x == 0.0:
            if delta_y < 0:
                self.angle = 270.0
            else:
                self.angle = 90.0
        else:
            self.angle = math.atan(delta_y / delta_x) * 180.0 / math.pi
            if delta_x < 0.0 and delta_y >= 0.0:
                self.angle = 180.0 + self.angle
        if delta_x < 0 and delta_y < 0:
            self.angle = 180 + self.angle