Пример #1
0
def initialize_elgeseter():
    global time, envir, lightAgents, cars, roads, total_traffic, IDIOT_IM, IDIOT_IM2
    time = 0
    cars = []
    lightAgents = []
    roads = []
    # Kode som tegner veiene svart
    envir = zeros([height, width])
    total_traffic = 0

    # RNGS

    rngs_lane_1 = Lane(7, 7, 0, 10, "south", envir)
    rngs_lane_2 = Lane(8, 8, 0, 10, "south", envir)
    rngs = [rngs_lane_1, rngs_lane_2]
    rngs_probs = [0.7, 0.3]
    road_north_going_south = Road("south", rngs, rngs_probs, is_spawner=True)
    roads.append(road_north_going_south)

    traffic_light_rngs_s = Traffic_light(7, 11, group=1)
    lightAgents.append(traffic_light_rngs_s)
    rngs_lane_1.add_traffic_light('south', traffic_light_rngs_s)
    rngs_lane_2.add_traffic_light('south', traffic_light_rngs_s)

    traffic_light_rngs_e = Traffic_light(8, 11, group=2)
    lightAgents.append(traffic_light_rngs_e)
    rngs_lane_2.add_traffic_light('east', traffic_light_rngs_e)

    # RNGN

    rngn_lane = Lane(10, 10, 10, 0, "north", envir)
    rngn = [rngn_lane]
    rngn_probs = [1]
    road_north_going_north = Road("north", rngn, rngn_probs, is_despawner=True)
    roads.append(road_north_going_north)

    # RMGN

    rmgn_lane_1 = Lane(10, 10, 24, 14, "north", envir)
    rmgn_lane_2 = Lane(11, 11, 24, 14, "north", envir)
    rmgn = [rmgn_lane_1, rmgn_lane_2]
    rmgn_probs = [0.5, 0.5]
    road_middle_going_north = Road("north", rmgn, rmgn_probs)
    roads.append(road_middle_going_north)

    traffic_light_rmgn_n = Traffic_light(10, 13, group=1)
    lightAgents.append(traffic_light_rmgn_n)
    rmgn_lane_1.add_traffic_light('north', traffic_light_rmgn_n)
    rmgn_lane_2.add_traffic_light('north', traffic_light_rmgn_n)

    # RMGS

    rmgs_lane_2 = Lane(8, 8, 14, 24, "south", envir)
    rmgs_lane_1 = Lane(7, 7, 14, 24, "south", envir)
    rmgs = [rmgs_lane_1, rmgs_lane_2]
    rmgs_probs = [0.5, 0.5]
    road_middle_going_south = Road("south", rmgs, rmgs_probs)
    roads.append(road_middle_going_south)

    traffic_light_rmgs_s = Traffic_light(7, 25, group=1)
    lightAgents.append(traffic_light_rmgs_s)
    rmgs_lane_1.add_traffic_light('south', traffic_light_rmgs_s)
    rmgs_lane_2.add_traffic_light('south', traffic_light_rmgs_s)

    # RNGW
    rngw_lane = Lane(22, 12, 11, 11, "west", envir)
    rngw = [rngw_lane]
    rngw_probs = [1]
    road_north_going_west = Road("west",
                                 rngw,
                                 rngw_probs,
                                 is_spawner=True,
                                 avg_traffic=500)
    roads.append(road_north_going_west)

    rngw_lane.connect_road(road_north_going_north)
    traffic_light_rngw_n = Traffic_light(11, 11, group=2)
    lightAgents.append(traffic_light_rngw_n)
    rngw_lane.add_traffic_light('north', traffic_light_rngw_n)

    # RNGE
    rnge_lane = Lane(12, 22, 13, 13, "east", envir)
    rnge = [rnge_lane]
    rnge_probs = [1]
    road_north_going_east = Road("east",
                                 rnge,
                                 rnge_probs,
                                 is_despawner=True,
                                 avg_traffic=200)
    roads.append(road_north_going_east)

    # RSGW
    rsgw_lane = Lane(22, 12, 25, 25, "west", envir)
    rsgw = [rsgw_lane]
    rsgw_probs = [1]
    road_south_going_west = Road("west",
                                 rsgw,
                                 rsgw_probs,
                                 is_spawner=True,
                                 avg_traffic=500)
    roads.append(road_south_going_west)

    traffic_light_rsgw_s = Traffic_light(11, 25, group=2)
    lightAgents.append(traffic_light_rsgw_s)
    rsgw_lane.add_traffic_light('south', traffic_light_rsgw_s)

    # RSGE
    rsge_lane = Lane(12, 22, 27, 27, "east", envir)
    rsge = [rsge_lane]
    rsge_probs = [1]
    road_south_going_east = Road("east",
                                 rsge,
                                 rsge_probs,
                                 is_despawner=True,
                                 avg_traffic=500)
    roads.append(road_south_going_east)

    # RSGS
    rsgs_lane_1 = Lane(7, 7, 28, 38, "south", envir)
    rsgs_lane_2 = Lane(8, 8, 28, 38, "south", envir)
    rsgs = [rsgs_lane_1, rsgs_lane_2]
    rsgs_probs = [0.5, 0.5]
    road_south_going_south = Road("south", rsgs, rsgs_probs, is_despawner=True)
    roads.append(road_south_going_south)

    # RSGN
    rsgn_lane_1 = Lane(10, 10, 38, 28, "north", envir)
    rsgn_lane_2 = Lane(11, 11, 38, 28, "north", envir)
    rsgn = [rsgn_lane_1, rsgn_lane_2]
    rsgn_probs = [0.5, 0.5]
    road_south_going_north = Road("north", rsgn, rsgn_probs, is_spawner=True)
    roads.append(road_south_going_north)

    traffic_light_rsgn_n = Traffic_light(10, 27, group=1)
    lightAgents.append(traffic_light_rsgn_n)
    rsgn_lane_1.add_traffic_light('north', traffic_light_rsgn_n)
    rsgn_lane_2.add_traffic_light('north', traffic_light_rsgn_n)
    rsgn_lane_2.add_traffic_light('east', traffic_light_rsgn_n)

    # Connecting lanes to roads
    rngs_lane_1.connect_road(road_middle_going_south)
    rngs_lane_2.connect_road(road_middle_going_south)
    rngs_lane_2.connect_road(road_north_going_east)

    rngw_lane.connect_road(road_north_going_north)

    rsgn_lane_1.connect_road(road_middle_going_north)
    rsgn_lane_2.connect_road(road_middle_going_north)
    rsgn_lane_2.connect_road(road_south_going_east)

    rsgw_lane.connect_road(road_south_going_south)

    rmgs_lane_1.connect_road(road_south_going_south)
    rmgs_lane_2.connect_road(road_south_going_south)

    rmgn_lane_1.connect_road(road_north_going_north)
    rmgn_lane_2.connect_road(road_north_going_north)

    IDIOT_IM = IM()
    IDIOT_IM.add_trafic_light(traffic_light_rngw_n)
    IDIOT_IM.add_trafic_light(traffic_light_rngs_s)
    IDIOT_IM.add_trafic_light(traffic_light_rngs_e)
    IDIOT_IM.add_trafic_light(traffic_light_rmgn_n)

    IDIOT_IM2 = IM()
    IDIOT_IM2.add_trafic_light(traffic_light_rmgs_s)
    IDIOT_IM2.add_trafic_light(traffic_light_rsgw_s)
    IDIOT_IM2.add_trafic_light(traffic_light_rsgn_n)