print len(city.getGraph()), "nodes in graph" # create a lit of citizens and place them into a city print "Generate", numCitizen, "agents..." citizens = [] houses = [house for house in city.getRegions('houses') if house.vacancy is None] markets = city.getRegions('markets') for i in range(numCitizen): if len(houses): house = houses[random.randint(0, len(houses) - 1)] citizen = Citizen(city, house.location) houses.remove(house) house.vacancy = citizen citizen.setRegions([house]) citizen.setRegions(markets) citizens.append(citizen) else: location = city.getRandomFreeLocation((0, 0), citySize, City.groundTypes.STREET) if location: citizen = Citizen(city, location) citizen.setRegions(markets) citizens.append(citizen) else: print "error: no more free location available!" break # Create a view with a city and citizens view = View(screenSize, city, citizens) # iterate view.mainLoop()