コード例 #1
0
	def go(self):
		yield Sim.hold, self, params['segregate time']
		random.shuffle(LineAgent.all_agents)
		
		pop1 = LinePopulation( 500.0, 500.0, 20.0, 20.0, params['mean speak'], 
							params['mean learn'], params['mean innovation'],
							params['pop1 mean loc'], params['pop1 loc sd'],
							params['mean talk radius'])
		pop2 = LinePopulation( 500.0, 500.0, 20.0, 20.0, params['mean speak'], 
							params['mean learn'], params['mean innovation'],
							params['pop2 mean loc'], params['pop2 loc sd'], 
							params['mean talk radius'])
		for agent in LineAgent.all_agents:
			if len(pop1.all_agents()) < params['pop1 proportion']*LineAgent.num_agents():
				pop1.add_agent(agent)
			else:
				pop2.add_agent(agent)
				
		LineAgent.all_agents.sort(lambda x,y:cmp(x.location,y.location))
		LinePopulation.all_pops.pop('Population 0')