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