Example #1
0
    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()