Esempio n. 1
0
class Car(Model):
    name = CarModel()
    price = Price()
    placa = LicensePlate()

    def __repr__(self):
        return '<%s %s>' % (self.name, self.price)
Esempio n. 2
0
    def __init__(self, **kwargs):
        """
		Initialize the game object
		kwargs -- the keywords arguments are given to the carModel
		"""
        model = CarModel(**kwargs)
        view = CarView(model)
        behaviour = CarBehaviour('human', None, model)
        super(Car, self).__init__(gameObjectModel=model,
                                  gameObjectBehaviour=behaviour,
                                  gameObjectView=view)
        logging.log(1, "Trace: Car.__init__(%s)" % kwargs)
Esempio n. 3
0
def task_model_restore(items):
    model_count = 0
    for item in items:
        mrange = ModelRange()
        mrange.name = item['name']
        mrange.year_start = item['yearStart']
        mrange.year_end = item['yearEnd']
        mrange.notes = item['notes']
        mrange.put()
        for model in item['carModels']:
            carmodel = CarModel(key_name=model['modelId'])
            carmodel.name = model['name']
            carmodel.engine_code = model['engineCode']
            carmodel.typeno = model['typeNo']
            if model['imageUrl'] != None:
                carmodel.imageUrl = db.Link(model['imageUrl'])
            carmodel.year_from = model['yearFrom']
            carmodel.year_to = model['yearTo']
            carmodel.notes = model['notes']
            carmodel.model_range = mrange
            carmodel.put()
            model_count = model_count + 1
Esempio n. 4
0
 def import_car_models(self, csv):
     ranges = ModelRange.all().fetch(100)
     imported = 0
     lines = csv.split('\n')
     for line in lines:
         if len(line.strip()) == 0:
             print 'Skipping line', line
             continue
         model = CarModel()
         fields = line.strip().split(';')
         model.model_range = self.get_range(ranges, fields[0].strip())
         model.name = fields[1].strip()
         model.engine_code = fields[2].strip()
         model.typeno = fields[3].strip()
         if fields[4].strip() != '':
             model.image_url = db.Link(fields[4].strip())
         model.year_from = int(fields[5])
         model.year_to = int(fields[6])
         model.notes = fields[7].strip()
         model.put()
         imported = imported + 1
     print imported, 'models imported'
Esempio n. 5
0
from model import CarModel
import matplotlib.pyplot as plt

# Config
n = 100  # Amount of model steps
car_count = 20  # Amount of cars in model
width = 100  # Road size
acceleration = 1
speed_limit = 5
randomization = 0.05
vision_range = speed_limit * 3

all_speeds = []
all_tracked_agent_speeds = []
model = CarModel(car_count, width, acceleration, vision_range, randomization,
                 speed_limit)
for i in range(n):
    model.step()

    total = 0
    tracked_agent_total = 0
    for agent in model.schedule.agents:
        total += agent.speed
        if agent.unique_id == round(car_count / 2):
            tracked_agent_total += agent.speed
    all_speeds.append(total / model.num_agents)
    all_tracked_agent_speeds.append(tracked_agent_total)

print('all_speeds:', all_speeds)
plt.xlabel("Steps")
plt.ylabel("Average speed")
results_delay = []
for num, cars in enumerate(traffic_occupations, start=0):

    print("Running: " + str(cars) + " cars..")
    results_speed.append([])
    results_delay.append([])
    settings = []
    for x in speed_limits:
        settings.append([cars, 100, acceleration, 50, randomization, x])

    for num_setting, setting in enumerate(settings, start=0):
        results_speed[num].append([])
        results_delay[num].append([])
        all_delay = []
        all_speeds = []
        model = CarModel(*setting)
        for i in range(n):
            model.step()

            # Store the results
            total = 0
            for agent in model.schedule.agents:
                total += agent.speed
            ave_speed = total / model.num_agents
            all_delay.append(abs(setting[5] - ave_speed))
            all_speeds.append(ave_speed)
        results_speed[num][num_setting] = np.mean(all_speeds)
        results_delay[num][num_setting] = np.mean(all_delay)


def plot_line(x_data, y_data, y_label):