def build_ants( n_ants, size=SIZE, search_strategy=None, jump_distance=None, chemicals=None, nest=None, ): random.seed = 1 ants = [] if nest is None: nest = Nest(int(size[0]/2), int(size[1]/2)) if chemicals is None: chemicals = Chemicals(size=size) for _ in range(n_ants): ant = Ant( nest=nest, chemicals=chemicals ) if search_strategy: ant.search_strategy = search_strategy if jump_distance: ant.max_jump_distance=jump_distance ants.append(ant) return ants
def test_ants_should_avoid_existing_search_traces(self): ant = Ant(nest=Nest(0, 0), chemicals=Chemicals()) ant.chemicals.search += 1.0 ant.chemicals.search[N.x, N.y] = 0.0 ant.last_direction = N ant.search_strategy = SearchWithAvoidance() ant.tick() self.assertEqual(N, ant.location)