From 993242027745fb413cbc68f0a275679b14214767 Mon Sep 17 00:00:00 2001 From: Alfredo Canziani Date: Tue, 14 Aug 2018 13:49:18 -0400 Subject: [PATCH] Remove off-track cars, load lanes, turn photos off --- Peachtree/lanes_human.png | Bin 0 -> 19297 bytes Peachtree/lanes_machine.png | Bin 0 -> 18603 bytes map_peach.py | 62 ++++++++++++++++++------------------ 3 files changed, 31 insertions(+), 31 deletions(-) create mode 100644 Peachtree/lanes_human.png create mode 100644 Peachtree/lanes_machine.png diff --git a/Peachtree/lanes_human.png b/Peachtree/lanes_human.png new file mode 100644 index 0000000000000000000000000000000000000000..0f390617a20c7dca753abd0a1ac1799847fa4cdb GIT binary patch literal 19297 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 literal 0 HcmV?d00001 diff --git a/Peachtree/lanes_machine.png b/Peachtree/lanes_machine.png new file mode 100644 index 0000000000000000000000000000000000000000..b0b691159b7744b28161f19248de3f7779de2322 GIT binary patch literal 18603 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 literal 0 HcmV?d00001 diff --git a/map_peach.py b/map_peach.py index 42b997ca..3357af50 100644 --- a/map_peach.py +++ b/map_peach.py @@ -45,27 +45,27 @@ def __init__(self, **kwargs): super(RealTraffic, self).__init__(**kwargs) w = (640, 624, 472, 688, 456, 472, 752, 280) - self.screen_size = (sum(w[-8:]) - 270, 20 * self.LANE_W) - self.photos = ( - pygame.image.load('Peachtree/cam8.png'), - pygame.image.load('Peachtree/cam7.png'), - pygame.image.load('Peachtree/cam6.png'), - pygame.image.load('Peachtree/cam5.png'), - pygame.image.load('Peachtree/cam4.png'), - pygame.image.load('Peachtree/cam3.png'), - pygame.image.load('Peachtree/cam2.png'), - pygame.image.load('Peachtree/cam1.png'), - ) - self.photos_rect = ( - self.photos[0].get_rect().move([0, 25]), - self.photos[1].get_rect().move([w[-1] - 25, 25]), - self.photos[2].get_rect().move([sum(w[-2:]) - 30, 25]), - self.photos[3].get_rect().move([sum(w[-3:]) - 35, 25]), - self.photos[4].get_rect().move([sum(w[-4:]) - 120, 25]), - self.photos[5].get_rect().move([sum(w[-5:]) - 220, 25]), - self.photos[5].get_rect().move([sum(w[-6:]) - 230, 25]), - self.photos[5].get_rect().move([sum(w[-7:]) - 270, 25]), - ) + self.screen_size = (sum(w[-8:]) - 270, 315) + # self.photos = ( + # pygame.image.load('Peachtree/cam8.png'), + # pygame.image.load('Peachtree/cam7.png'), + # pygame.image.load('Peachtree/cam6.png'), + # pygame.image.load('Peachtree/cam5.png'), + # pygame.image.load('Peachtree/cam4.png'), + # pygame.image.load('Peachtree/cam3.png'), + # pygame.image.load('Peachtree/cam2.png'), + # pygame.image.load('Peachtree/cam1.png'), + # ) + # self.photos_rect = ( + # self.photos[0].get_rect().move([0, 25]), + # self.photos[1].get_rect().move([w[-1] - 25, 25]), + # self.photos[2].get_rect().move([sum(w[-2:]) - 30, 25]), + # self.photos[3].get_rect().move([sum(w[-3:]) - 35, 25]), + # self.photos[4].get_rect().move([sum(w[-4:]) - 120, 25]), + # self.photos[5].get_rect().move([sum(w[-5:]) - 220, 25]), + # self.photos[5].get_rect().move([sum(w[-6:]) - 230, 25]), + # self.photos[5].get_rect().move([sum(w[-7:]) - 270, 25]), + # ) if self.display: # if display is required self.screen = pygame.display.set_mode(self.screen_size) # set screen size # self.delta_t = 1 / 10 # simulation timing interval @@ -76,9 +76,11 @@ def __init__(self, **kwargs): self._t_slot = None self._black_list = { self._time_slots[0]: - set(), + {256, 137, 11, 1293, 399, 1551, 794, 556, 942, 562, 307, 1077, 694, 188, 63, 705, 451, 579, 1098, 605, + 606, 95, 225, 611, 997, 107, 1643, 366, 624, 245, 255}, # off track self._time_slots[1]: - set(), + {391, 1037, 399, 404, 1459, 948, 1206, 440, 314, 1339, 829, 577, 962, 67, 219, 861, 863, 991, 358, 998, + 246, 1022, 127}, # off track } self.df = None self.vehicles_history = None @@ -145,19 +147,17 @@ def _draw_lanes(self, surface, mode='human', offset=0): if mode == 'human': - # # load lanes, if not already done so - # if mode not in self._lane_surfaces: - # self._lane_surfaces[mode] = pygame.image.load('Lankershim/lanes_human.png') - # - # surface.blit(self._lane_surfaces[mode], (0, 0)) - pass + # load lanes, if not already done so + if mode not in self._lane_surfaces: + self._lane_surfaces[mode] = pygame.image.load('Peachtree/lanes_human.png') + + surface.blit(self._lane_surfaces[mode], (0, 0)) if mode == 'machine': # load lanes - lanes_surface = pygame.image.load('Lankershim/lanes_machine.png') + lanes_surface = pygame.image.load('Peachtree/lanes_machine.png') surface.blit(lanes_surface, (offset, offset)) # save for later self._lane_surfaces[mode] = surface.copy() - # pygame.image.save(surface, "us101-machine.png")