def main(): clock = pygame.time.Clock() #map map = pygame.sprite.Group() map.add(maps.Map(0, 0, 1)) # start_x = maps.MAP_NAVS[0][0] # start_y = maps.MAP_NAVS[0][1] start_x = 150 start_y = 3 print(start_x, start_y) maps.FINISH_INDEX = len(maps.MAP_NAVS) - 2 #test route. route_1 = [[155.0, 3.0],[155.0, 124.0], [214.0, 124.0], [214.0, 283.0], [150.0, 283.0], [150.0, 478.0], [41.0, 478.0], [41.0, 700.0]] route_2 = [[0.0, 186.0], [74.0, 186.0], [74.0, 0.0]] route_3 = [[494.0, 0.0], [494.0, 185.0], [595.0, 185.0], [595.0, 383.0], [549.0, 383.0], [549.0, 597.0], [740.0, 597.0], [740.0, 480.0], [870.0, 480.0], [870.0, 700.0]] #car # start_angle = calculate_angle(maps.MAP_NAVS[0][0], maps.MAP_NAVS[0][1], maps.MAP_NAVS[1][0], maps.MAP_NAVS[1][1]) cars = pygame.sprite.Group() cars2 = pygame.sprite.Group() cars3 = pygame.sprite.Group() cars.add(car.Car(route_1[0][0], route_1[0][1], route_1[1][0], route_1[1][1])) cars2.add(car.Car(route_2[0][0], route_2[0][1], route_2[1][0], route_2[1][1])) cars3.add(car.Car(route_3[0][0], route_3[0][1], route_3[1][0], route_3[1][1])) running = True k = 0 while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False break screen.blit(background, (0, 0)) # update thay doi map.draw(screen) cars.update(route_1) cars2.update(route_2) cars3.update(route_3) cars.draw(screen) cars2.draw(screen) cars3.draw(screen) #render again pygame.display.flip() # Toc do Frame rate clock.tick(1000000)
def main(): # Loop until the user clicks the close button. running = True # Used to manage how fast the screen updates clock = pygame.time.Clock() cam = camera.Camera() # traffic_lamp1 = traffic_lamp.TrafficLamp(1610, 420, 90, 0) # traffic_lamp2 = traffic_lamp.TrafficLamp(2710, 1520, 90, 1) stone_impediment = stone.Stone(200, 200, 90, 0) map_s = pygame.sprite.Group() map_s.add(maps.Map(0, 0, 2)) start_x = maps.MAP_NAVS[0][0] start_y = maps.MAP_NAVS[0][1] maps.FINISH_INDEX = len(maps.MAP_NAVS) - 2 traffic_lamp1 = traffic_lamp.TrafficLamp(maps.TRAFFIC_LAMP_COORDINATES[0]) traffic_lamp2 = traffic_lamp.TrafficLamp(maps.TRAFFIC_LAMP_COORDINATES[1]) print(maps.TRAFFIC_LAMP_COORDINATES[0]) print(maps.TRAFFIC_LAMP_COORDINATES[1]) start_angle = calculate_angle(maps.MAP_NAVS[0][0], maps.MAP_NAVS[0][1], maps.MAP_NAVS[1][0], maps.MAP_NAVS[1][1]) # print("Start angle: ", start_angle) # print("Finish index: ", maps.FINISH_INDEX) controlled_car = car.Car(start_x, start_y, start_angle) cars = pygame.sprite.Group() cars.add(controlled_car) traffic_lamps = pygame.sprite.Group() traffic_lamps.add(traffic_lamp1) traffic_lamps.add(traffic_lamp2) stones = pygame.sprite.Group() stones.add(stone_impediment) stone_status = (stone_impediment.status, len(maps.MAP_NAVS) - 1) cam.set_pos(controlled_car.x, controlled_car.y) flag = 0 # -------- Main Program Loop ----------- while running: flag += 1 keys = pygame.key.get_pressed() # --- Main event loop for event in pygame.event.get(): if event.type == pygame.QUIT: running = False break if event.type == pygame.KEYUP: if keys[K_p]: pass if keys[K_q]: pygame.quit() sys.exit(0) if event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE: running = False break # mouse event if event.type == pygame.MOUSEBUTTONDOWN: pressed1, pressed2, pressed3 = pygame.mouse.get_pressed() if pressed1: print("left click") current_index = controlled_car.current_nav_index random_index = random.randrange(current_index + 3, current_index + 6) if random_index <= (len(maps.MAP_NAVS) - 3) and stone_impediment.status == 0: x = maps.MAP_NAVS[random_index][0] y = maps.MAP_NAVS[random_index][1] stone_impediment.switch_status(x, y) stone_status = (stone_impediment.status, random_index) else: stone_impediment.switch_status(0, 0) stone_status = (0, len(maps.MAP_NAVS) - 1) cam.set_pos(controlled_car.x, controlled_car.y) screen.blit(background, (0, 0)) # update and render map # map_s.update(start_x, start_y) # map_s.update(cam.x, cam.y) map_s.draw(screen) # update and render traffic lamps traffic_lamps_status = [] traffic_lamps.update(cam.x, cam.y) traffic_lamps.draw(screen) # stones.update(cam.x, cam.y) stones.draw(screen) # for lamp in traffic_lamps: # lamp_status = lamp.render(screen) # traffic_lamps_status.append(lamp_status) lamp_status1 = traffic_lamp1.render(screen) lamp_status2 = traffic_lamp2.render(screen) traffic_lamps_status.append(lamp_status1) traffic_lamps_status.append(lamp_status2) # update and render car cars.update(cam.x, cam.y, traffic_lamps_status, stone_status, flag) # screen.blit(cars.sprites[-1],[cam.x, cam.y]) cars.draw(screen) # --- Go ahead and update the screen with what we've drawn. pygame.display.flip() # --- Limit to 60 frames per second clock.tick(60)
def main(): fps_clock = pygame.time.Clock() map_city = map.Map(0, 0) flag = 0 tracks = MAP_NAVS lights_pos = LIGHTS_POS # stones_pos = STONES_POS path = [0, 1, 2, 3, 14, 15, 13, 10] target_pos = tracks[path[-1]] rect_target = pygame.draw.circle( screen, (255, 0, 0), (math.floor(target_pos[0]), math.floor(target_pos[1])), 20, 20) car_player = car.Car() lights = [] lights_on_path = {} # stones_on_path = {} # stones = [] for i in range(len(lights_pos)): lights.append( light.Light(lights_pos[i][0], lights_pos[i][1], lights_pos[i][2])) # for i in range(len(stones_pos)): # stones.append(stone.Stone(stones_pos[i][0], stones_pos[i][1], stones_pos[i][2])) rock = stone.Stone(0, 0, 0) moving = False running = True is_playing = -1 while running: if is_playing == -1: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False elif event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE: is_playing = 0 elif event.type == MOUSEBUTTONDOWN: distance = math.hypot(event.pos[0] - rect_target.center[0], event.pos[1] - rect_target.center[1]) if distance < 20: moving = True print(event.pos) elif event.type == MOUSEBUTTONUP: moving = False elif event.type == MOUSEMOTION and moving: rect_target.move_ip(event.rel) else: pass elif is_playing == 0: path = map_city.get_shortest_path(rect_target.center) rect_target.center = (math.floor(tracks[path[-1]][0]), math.floor(tracks[path[-1]][1])) car_player.set_path(path) for index_nav in path: for i in range(len(lights_pos)): if index_nav == lights_pos[i][2]: lights_on_path[index_nav] = lights[i] break # for i in range(len(stones_pos)): # if index_nav == stones_pos[i][2]: # stones_on_path[index_nav] = stones[i] # break car_player.set_light(lights_on_path) car_player.set_stone(rock) # car_player.set_stone(stones_on_path) # for event in pygame.event.get(): # if event.type == pygame.QUIT: # running = False # elif event.type == pygame.KEYDOWN: # if event.key == pygame.K_SPACE: # is_playing = 1 # elif event.type == MOUSEBUTTONDOWN: # print(event.pos) is_playing = 1 else: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False elif event.type == MOUSEBUTTONDOWN: # index_stone = map_city.find_nearest_stone(event.pos) # if index_stone != -1: # stones[index_stone].toggle_stone() # print(event.pos) nor_pos, indx_nav = map_city.nor_stone_position( event.pos, car_player.path) print(nor_pos, indx_nav) if not math.isnan(indx_nav): rock.show_stone(nor_pos, indx_nav, 4) # print(index_stone) for i in range(len(lights)): lights[i].update() rock.update_time_remaining() car_player.move() screen.blit(map_city.image, map_city.rect) rect_target = pygame.draw.circle(screen, config.RED, rect_target.center, 15, 15) # for i in range(len(path) -1): # point1 = (math.floor(tracks[path[i]][0]), math.floor(tracks[path[i]][1])) # point2 = (math.floor(tracks[path[i +1]][0]), math.floor(tracks[path[i +1]][1])) # pygame.draw.line(screen, config.BLUE, point1, point2, 7) for i in range(len(lights)): lights[i].render(screen) rock.render(screen) # for i in range(len(stones)): # stones[i].render(screen) # for i in range(len(tracks)): # image = font.render(str(i), True, config.RED) # screen.blit(image, (math.floor(tracks[i][0]), math.floor(tracks[i][1]))) # pygame.draw.circle(screen, config.BLACK, (math.floor(tracks[i][0]), math.floor(tracks[i][1])), 5, 5) # for i in range(len(stones_pos)): # pygame.draw.circle(screen, config.BLACK, (math.floor(stones_pos[i][0]), math.floor(stones_pos[i][1])), 5, 5) car_player.render(screen) pygame.display.flip() fps_clock.tick(config.FPS)
def main(): clock = pygame.time.Clock() running = True cam = camera.Camera() # traffic_lamp1 = traffic_lamp.TrafficLamp(1610, 420, 90, 0) # traffic_lamp2 = traffic_lamp.TrafficLamp(2710, 1520, 90, 1) stone_impediment = stone.Stone(20, 20, 90, 0) map_s = pygame.sprite.Group() map_s.add(maps.Map(0, 0, 1)) start_x = maps.MAP_NAVS[0][0] start_y = maps.MAP_NAVS[0][1] maps.FINISH_INDEX = len(maps.MAP_NAVS) - 2 traffic_lamp1 = traffic_lamp.TrafficLamp(maps.TRAFFIC_LAMP_COORDINATES[0]) traffic_lamp2 = traffic_lamp.TrafficLamp(maps.TRAFFIC_LAMP_COORDINATES[1]) print(maps.TRAFFIC_LAMP_COORDINATES[0]) print(maps.TRAFFIC_LAMP_COORDINATES[1]) start_angle = calculate_angle(maps.MAP_NAVS[0][0], maps.MAP_NAVS[0][1], maps.MAP_NAVS[1][0], maps.MAP_NAVS[1][1]) print(maps.MAP_NAVS) # print("Start angle: ", start_angle) # print("Finish index: ", maps.FINISH_INDEX) controlled_car = car.Car(start_x, start_y, start_angle) cars = pygame.sprite.Group() cars.add(controlled_car) traffic_lamps = pygame.sprite.Group() traffic_lamps.add(traffic_lamp1) traffic_lamps.add(traffic_lamp2) stones = pygame.sprite.Group() stones.add(stone_impediment) stone_status = (stone_impediment.status, len(maps.MAP_NAVS) - 1) cam.set_pos(controlled_car.x, controlled_car.y) flag = 0 while running: flag += 1 keys = pygame.key.get_pressed() for event in pygame.event.get(): if event.type == pygame.QUIT: running = False break if event.type == pygame.KEYUP: if keys[K_p]: pass if keys[K_q]: pygame.quit() sys.exit(0) if event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE: running = False break # mouse event # if event.type == pygame.MOUSEBUTTONDOWN: # pressed1, pressed2, pressed3 = pygame.mouse.get_pressed() # if pressed1: # print("left click") # current_index = controlled_car.current_nav_index # random_index = random.randrange(current_index + 3, current_index + 6) # if random_index <= (len(maps.MAP_NAVS) - 3) and stone_impediment.status == 0: # x = maps.MAP_NAVS[random_index][0] # y = maps.MAP_NAVS[random_index][1] # stone_impediment.switch_status(x, y) # stone_status = (stone_impediment.status, random_index) # else: # stone_impediment.switch_status(0, 0) # stone_status = (0, len(maps.MAP_NAVS) - 1) cam.set_pos(controlled_car.x, controlled_car.y) screen.blit(background, (0, 0)) # update and render map map_s.update(cam.x, cam.y) map_s.draw(screen) # update and render traffic lamps traffic_lamps_status = [] traffic_lamps.update(cam.x, cam.y) traffic_lamps.draw(screen) # update and render stone stones.update(cam.x, cam.y) stones.draw(screen) # for lamp in traffic_lamps: # lamp_status = lamp.render(screen) # traffic_lamps_status.append(lamp_status) lamp_status1 = traffic_lamp1.render(screen) lamp_status2 = traffic_lamp2.render(screen) traffic_lamps_status.append(lamp_status1) traffic_lamps_status.append(lamp_status2) # update and render car cars.update(cam.x, cam.y, traffic_lamps_status, stone_status, flag) cars.draw(screen) # update thay doi pygame.display.flip() # Toc do Frame rate clock.tick(100000)
def main(): clock = pygame.time.Clock() running = True cam = camera.Camera() stone_impediment = stone.Stone(200, 200, 90, 0) map_s = pygame.sprite.Group() map_obj = maps.Map(0, 0) map_s.add(map_obj) position, alpha = map_obj.getInitProp() # position = map_obj.position # alpha = map_obj.alpha print("LECH TRAI:", map_obj.do_lech_trai(position)) print("------------------------------------------------------------") print("TỌA ĐỘ TẤT CẢ CÁC ĐIỂM: ", map_obj.pos) print("------------------------------------------------------------") print("LIST ĐIỂM ĐƯỜNG ĐI: ", map_obj.listPoint) print("------------------------------------------------------------") print("TẬP ĐIỂM KỀ: ", map_obj.margin) print("------------------------------------------------------------") print("TẬP CẠNH: ", map_obj.margin_path) print("------------------------------------------------------------") print("ID ĐIỂM LỀ TRÁI: ", map_obj.left_point_index) print("------------------------------------------------------------") print("ID ĐIỂM LỀ PHẢI: ", map_obj.right_point_index) print("------------------------------------------------------------") start_x = maps.MAP_NAVS[0][0] start_y = maps.MAP_NAVS[0][1] maps.FINISH_INDEX = len(maps.MAP_NAVS) - 1 alpha_update = alpha_to_car_angle(alpha / math.pi * 180) start_angle = calculate_angle(maps.MAP_NAVS[0][0], maps.MAP_NAVS[0][1], maps.MAP_NAVS[1][0], maps.MAP_NAVS[1][1]) # khởi tạo đối tượng car với tọa độ x, y và góc hướng controlled_car = car.Car(start_x, start_y, start_angle) cars = pygame.sprite.Group() # nhóm đối tượng car cars.add(controlled_car) # sprite: 1 đối tượng trong game # sprite.group: nhóm các đối tượng vào cùng 1 group để thực hiện việc vẽ lại đồng thời traffic_lamps = pygame.sprite.Group() # nhóm các đối tượng đèn for lamp_pos in maps.TRAFFIC_LAMP_COORDINATES: traffic_lamps.add(traffic_lamp.TrafficLamp(lamp_pos)) stones = pygame.sprite.Group() # nhóm đối tượng stone stones.add(stone_impediment) stone_status = (stone_impediment.status, len(maps.MAP_NAVS) - 1) # di chuyển camera theo car cam.set_pos(controlled_car.x, controlled_car.y) flag = 0 pygame.display.flip() while running: flag += 1 keys = pygame.key.get_pressed() for event in pygame.event.get(): if event.type == pygame.QUIT: running = False break if event.type == pygame.KEYUP: if keys[K_p]: pass if keys[K_q]: pygame.quit() sys.exit(0) if event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE: running = False break # mouse event if event.type == pygame.MOUSEBUTTONDOWN: pressed1, pressed2, pressed3 = pygame.mouse.get_pressed() if pressed1: print("left click") current_index = controlled_car.current_nav_index random_index = random.randrange( current_index + 3, current_index + 6) if random_index <= (len(maps.MAP_NAVS) - 3) and stone_impediment.status == 0: x = maps.MAP_NAVS[random_index][0] y = maps.MAP_NAVS[random_index][1] stone_impediment.switch_status(x, y) stone_status = (stone_impediment.status, random_index) else: stone_impediment.switch_status(0, 0) stone_status = (0, len(maps.MAP_NAVS) - 1) cam.set_pos(controlled_car.x, controlled_car.y) screen.blit(background, (0, 0)) # update and render map map_s.update(cam.x, cam.y) map_s.draw(screen) # update and render traffic lamps traffic_lamps_status = [] traffic_lamps.update(cam.x, cam.y) traffic_lamps.draw(screen) stones.update(cam.x, cam.y) stones.draw(screen) for lamp in traffic_lamps: lamp_status = lamp.render(screen) traffic_lamps_status.append(lamp_status) # update and render car deviation = map_obj.do_lech_trai( (cam.x, cam.y)) # print('do lech trai:', deviation) cars.update(cam.x, cam.y, traffic_lamps_status, stone_status, deviation, flag) cars.draw(screen) pygame.display.flip() clock.tick(60)
def main(): clock = pygame.time.Clock() running = True cam = camera.Camera() # traffic_lamp1 = traffic_lamp.TrafficLamp(1610, 420, 90, 0) # traffic_lamp2 = traffic_lamp.TrafficLamp(2710, 1520, 90, 1) stone_impediment = stone.Stone(200, 200, 90, 0) map_s = pygame.sprite.Group() map_s.add(maps.Map(0, 0, 2)) start_x = maps.MAP_NAVS[0][0] start_y = maps.MAP_NAVS[0][1] maps.FINISH_INDEX = len(maps.MAP_NAVS) - 2 traffic_lamp1 = traffic_lamp.TrafficLamp(maps.TRAFFIC_LAMP_COORDINATES[0]) traffic_lamp2 = traffic_lamp.TrafficLamp(maps.TRAFFIC_LAMP_COORDINATES[1]) print('________') print(maps.TRAFFIC_LAMP_COORDINATES[0]) print(maps.TRAFFIC_LAMP_COORDINATES[1]) start_angle = calculate_angle(maps.MAP_NAVS[0][0], maps.MAP_NAVS[0][1], maps.MAP_NAVS[1][0], maps.MAP_NAVS[1][1]) # print("Start angle: ", start_angle) # print("Finish index: ", maps.FINISH_INDEX) controlled_car = car.Car(start_x, start_y, start_angle) cars = pygame.sprite.Group() cars.add(controlled_car) traffic_lamps = pygame.sprite.Group() traffic_lamps.add(traffic_lamp1) traffic_lamps.add(traffic_lamp2) stones = pygame.sprite.Group() stones.add(stone_impediment) stone_status = (stone_impediment.status, len(maps.MAP_NAVS) - 1) cam.set_pos(controlled_car.x, controlled_car.y) flag = 0 ## start = pygame.time.get_ticks() while running: flag += 1 keys = pygame.key.get_pressed() for event in pygame.event.get(): if event.type == pygame.QUIT: running = False break if event.type == pygame.KEYUP: if keys[K_p]: pass if keys[K_q]: pygame.quit() sys.exit(0) if event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE: running = False break cam.set_pos(controlled_car.x, controlled_car.y) screen.blit(background, (0, 0)) # update and render map map_s.update(cam.x, cam.y) map_s.draw(screen) # update and render traffic lamps traffic_lamps_status = [] traffic_lamps.update(cam.x, cam.y) traffic_lamps.draw(screen) stones.update(cam.x, cam.y) stones.draw(screen) # for lamp in traffic_lamps: # lamp_status = lamp.render(screen) # traffic_lamps_status.append(lamp_status) lamp_status1 = traffic_lamp1.render(screen) lamp_status2 = traffic_lamp2.render(screen) traffic_lamps_status.append(lamp_status1) traffic_lamps_status.append(lamp_status2) # update and render car cars.update(cam.x, cam.y, traffic_lamps_status, stone_status, flag) cars.draw(screen) ##### Add for timer ~~~ font_preferences = [ "Bizarre-Ass Font Sans Serif", "They definitely dont have this installed Gothic", "Papyrus", "Comic Sans MS" ] counting_time = pygame.time.get_ticks() - start # change milliseconds into minutes, seconds, milliseconds counting_minutes = str(int(counting_time / 60000)).zfill(2) counting_seconds = str(int((counting_time % 60000) / 1000)).zfill(2) counting_string = "%s:%s" % (counting_minutes, counting_seconds) counting_text = font.render(str(counting_string), 1, (0, 0, 0)) font_preferences = ["Comic Sans MS"] text = create_text(str(counting_string), font_preferences, 72, (0, 0, 0)) screen.blit(text, (500, 0)) text_x = create_text('X ->' + str(controlled_car.x), font_preferences, 20, (3, 252, 78)) text_y = create_text('Y ->' + str(controlled_car.y), font_preferences, 20, (3, 252, 78)) text_speed = create_text('Speed ->' + str(controlled_car.speed), font_preferences, 20, (3, 252, 78)) screen.blit(text_x, (0, 0)) screen.blit(text_y, (0, 20)) screen.blit(text_speed, (0, 40)) ###### pygame.display.flip() clock.tick(60)
def main(): clock = pygame.time.Clock() running = True cam = camera.Camera() stone_impediment = stone.Stone(200, 200, 90, 0) map_s = pygame.sprite.Group() map_s.add(maps.Map(0, 0, 2)) start_x = maps.MAP_NAVS[0][0] start_y = maps.MAP_NAVS[0][1] maps.FINISH_INDEX = len(maps.MAP_NAVS) - 1 start_angle = calculate_angle(maps.MAP_NAVS[0][0], maps.MAP_NAVS[0][1], maps.MAP_NAVS[1][0], maps.MAP_NAVS[1][1]) # tính góc của xe: input x1, y1, x2, y2 print("Start angle: ", start_angle) print("Finish index: ", maps.FINISH_INDEX) # khởi tạo đối tượng car với tọa độ x, y và góc hướng controlled_car = car.Car(start_x, start_y, start_angle) cars = pygame.sprite.Group() # nhóm đối tượng car cars.add(controlled_car) # sprite: 1 đối tượng trong game # sprite.group: nhóm các đối tượng vào cùng 1 group để thực hiện việc vẽ lại đồng thời traffic_lamps = pygame.sprite.Group() # nhóm các đối tượng đèn for lamp_pos in maps.TRAFFIC_LAMP_COORDINATES: traffic_lamps.add(traffic_lamp.TrafficLamp(lamp_pos)) stones = pygame.sprite.Group() # nhóm đối tượng stone stones.add(stone_impediment) stone_status = (stone_impediment.status, len(maps.MAP_NAVS) - 1) # di chuyển camera theo car cam.set_pos(controlled_car.x, controlled_car.y) flag = 0 pygame.display.flip() while running: flag += 1 keys = pygame.key.get_pressed() for event in pygame.event.get(): if event.type == pygame.QUIT: running = False break if event.type == pygame.KEYUP: if keys[K_p]: pass if keys[K_q]: pygame.quit() sys.exit(0) if event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE: running = False break # mouse event if event.type == pygame.MOUSEBUTTONDOWN: pressed1, pressed2, pressed3 = pygame.mouse.get_pressed() if pressed1: print("left click") current_index = controlled_car.current_nav_index random_index = random.randrange(current_index + 3, current_index + 6) if random_index <= (len(maps.MAP_NAVS) - 3) and stone_impediment.status == 0: x = maps.MAP_NAVS[random_index][0] y = maps.MAP_NAVS[random_index][1] stone_impediment.switch_status(x, y) stone_status = (stone_impediment.status, random_index) else: stone_impediment.switch_status(0, 0) stone_status = (0, len(maps.MAP_NAVS) - 1) cam.set_pos(controlled_car.x, controlled_car.y) screen.blit(background, (0, 0)) # update and render map map_s.update(cam.x, cam.y) map_s.draw(screen) # update and render traffic lamps traffic_lamps_status = [] traffic_lamps.update(cam.x, cam.y) traffic_lamps.draw(screen) stones.update(cam.x, cam.y) stones.draw(screen) for lamp in traffic_lamps: lamp_status = lamp.render(screen) traffic_lamps_status.append(lamp_status) # update and render car cars.update(cam.x, cam.y, traffic_lamps_status, stone_status, flag) cars.draw(screen) # blue = 230, 30, 30 # point1 = 635, 525 # point2 = 165, 167 # pygame.draw.lines(screen, blue, False, [(100,100), (150,200), (200,100), point1, point2], 5) pygame.display.flip() clock.tick(60)