Esempio n. 1
0
 def draw_safe(self, display, y):
     x, y = self.coord(y)
     pygame.draw.rect(display, THECOLORS.get('lightpink'),
                      ((x - self.safety_border[0]) * ZOOM,
                       (y - self.safety_border[1]) * ZOOM,
                       (self.size[0] + self.safety_border[0] + 1) * ZOOM,
                       (self.size[1] + self.safety_border[1] + 1) * ZOOM))
Esempio n. 2
0
    def render(self):

        self.DISPLAY.fill(THECOLORS.get('white'))
        pygame.draw.rect(self.DISPLAY, THECOLORS.get('grey'),
                         (0, 0, ROAD_W * ZOOM, ROAD_H * ZOOM))

        for v in self.ov:
            v.draw_safe(self.DISPLAY, self.car.pos[1])

        self.car.draw_safe(self.DISPLAY, self.car.pos[1])

        for v in self.ov:
            v.draw(self.DISPLAY, self.car.pos[1])

        self.car.draw(self.DISPLAY, self.car.pos[1])

        pygame.display.update()

        bluepx = pygame.surfarray.pixels_blue(self.DISPLAY)
        bluepx = np.array(bluepx).astype(int)
        redpx = pygame.surfarray.pixels_red(self.DISPLAY)
        redpx = np.array(redpx).astype(int)
        greenpx = pygame.surfarray.pixels_green(self.DISPLAY)
        greenpx = np.array(greenpx).astype(int)
        greenpx[greenpx != 255] = 0
        greenpx[greenpx == 255] = 1
        bluepx[bluepx != 255] = 0
        bluepx[bluepx == 255] = 1
        redpx[redpx != 255] = 0
        redpx[redpx == 255] = 1
        self.road.pole = 2 * bluepx[::ZOOM, ::
                                    ZOOM] + 2 * greenpx[::ZOOM, ::
                                                        ZOOM] + redpx[::ZOOM, ::
                                                                      ZOOM] - 1

        quit_ = False
        for event in pygame.event.get():
            if event.type == QUIT:
                quit_ = True

        return quit_
Esempio n. 3
0
 def __init__(self, pos, size, v, color='blue'):
     self.pos = np.array(pos)
     self.size = size
     self.v = v
     self.safety_border = (1, 1)
     self.color = THECOLORS.get(color)