def populate(n=10, m=10): new_cells = [] forces = [] for k in range(n): new = Cell(rd.randrange(target_radius, width - target_radius), rd.randrange(target_radius, height - target_radius), target_radius) new.setColor(cell_color) new_cells.append(new) force = [] for i in range(m): force.append( (rd.randrange(min_force, max_force), rd.randrange(min_force, max_force))) forces.append(force) return new_cells, forces
def populate(n=10, m=5): new_cells = [] # Array of cells forces = [ ] # Array of Array of tuple => [[(x, y), (x, y)], [(x, y), (x, y)]] for k in range(10): cell = Cell(rd.randrange(10, width - 10), rd.randrange(10, height - 10), 10) cell.setColor(cell_color) new_cells.append(cell) force = [] for i in range(m): force.append( (rd.randrange(min_force, max_force), rd.randrange(min_force, max_force))) forces.append(force) return new_cells, forces
bg_color = 10, 61, 98 fg_color = 250, 211, 144 cell_color = 120, 224, 143 target_color = 229, 80, 57 blue = 130, 204, 221 frame_cap = 30 # Max FPS physic_refresh_rate = 0.3 # Refresh rate for physic in seconds, can be float display_refresh_rate = 1 / frame_cap # Refresh rate for screen in seconds, can be float # Creation of initial cell target_radius = 10 target_cell = Cell(width / 2, height / 2, 10) # target_cell = Cell(rd.randrange(target_radius, width - target_radius), rd.randrange(target_radius, height - target_radius), target_radius) print("Target position: ", target_cell.getPos()) target_cell.setColor(target_color) # target_cell.enableFriction(True, 0.3) # target_cell.addForce((1000, 1000)) # Cell group, all cells must be in cells = [] cells.append(target_cell) screen = pygame.display.set_mode(screen_size) # Store last update timestamp last_physic_update = -1 last_display_update = -1 run = True