bgcolor = 111, 145, 192 # Update Speed UPDATE_SPEED = 0.1 # Number of vehicles and obstacles numveh = 2 numobs = 6 total = numveh+numobs # Sprite images and pygame rectangles img = list(range(total)) rec = list(range(total)) # Load vehicle images img[0], rec[0] = load_pygame_image('../images/ypig.png', -1) img[1], rec[1] = load_pygame_image('../images/gpig.png', -1) # Static obstacle image (shared among all obstacles) obs_img, obs_rec = load_pygame_image('../images/circle.png', -1) for i in range(numveh, numveh + numobs): img[i], rec[i] = obs_img, obs_rec # Randomly generate initial placement for vehicles pos = [Point2d(randint(30, sc_width-30), randint(30, sc_height-30)) for i in range(numveh)] pos[0] = Point2d(sc_width/2, sc_height/2) vel = Point2d(1,0) # Array of vehicles and associated pygame sprites obj = [SimpleVehicle2d(pos[i], 50, vel, (img[i], rec[i])) for i in range(numveh)] rgroup = [veh.sprite for veh in obj]
pygame.init() # Display constants size = sc_width, sc_height = 1080, 960 screen = pygame.display.set_mode(size) pygame.display.set_caption('Flocking and pursuit demo') bgcolor = 111, 145, 192 # Sprite images and pygame rectangles numveh = 30 numobs = 15 img = list(range(numveh+numobs)) rec = list(range(numveh+numobs)) # Vehicle Sprites img[0], rec[0] = load_pygame_image('../images/ypig.png', -1) for i in range(1, numveh): img[i], rec[i] = load_pygame_image('../images/gpig.png', -1) # Vehicle Physics pos = [Point2d(randint(30, sc_width-30), randint(30, sc_height-30)) for i in range(numveh)] pos[0] = Point2d(sc_width/2, sc_height/2) vel = Point2d(5.0,0).rotated_by(147*i, True) # List of vehicles and their associated sprites obj = [SimpleVehicle2d(pos[i], 50, vel, (img[i], rec[i])) for i in range(numveh)] rgroup = [veh.sprite for veh in obj] # List of vehicles only, for later use vehlist = obj[:]