Exemple #1
0
 def create_new_organisms(self, number_of_organisms):
     # Chose the number of new organisms of each category proportionally
     # to the initial number of organisms of each category:
     total = 0
     for category_name in self.settings['organisms']:
         total += self.settings['organisms'][category_name][
             'initial number of organisms']
     for category_name in self.settings['organisms']:
         n = (self.settings['organisms'][category_name]
              ['initial number of organisms'] * number_of_organisms) / total
         for _ in range(n):
             new_organism = Organism(parent_ecosystem=self)
             new_organism.configure_with_category_settings(
                 self.settings['organisms'][category_name])
             # This adds new_organism to self.newborns and to self.biotope
             # in a random location:
             self.add_organism(new_organism)
     self.organisms_list += self.newborns
     self.newborns = []
Exemple #2
0
 def initialize_organisms(self):
     print 'initialize_organisms'
     """
     PRE-CONDITIONS:
         This initialization must be called AFTER self.initialize_biotope,
         because we use here Biotope.seek_free_location
     """
     for category_name in self.settings['organisms']:
         category_settings = self.settings['organisms'][category_name]
         number_of_organisms = category_settings[
             'initial number of organisms']
         for _ in range(number_of_organisms):
             new_organism = Organism(parent_ecosystem=self)
             new_organism.configure_with_category_settings(
                 category_settings)
             # This adds new_organism to self.newborns and to self.biotope
             # in a random location:
             self.add_organism(new_organism)
     self.organisms_list += self.newborns
     self.newborns = []