управляемое событиями моделирование с объектами - PullRequest
0 голосов
/ 30 августа 2010

Я пишу управляемую событиями программу моделирования. У меня есть 3 подкласса, которые наследуют 1 базовый класс. мне нужно генерировать эти три случайным образом, и каждый подкласс будет проходить через различные пути событий (извините, довольно сложно описать, что я имел в виду), я приведу пример:

скажем, у нас есть симулятор парковки в торговом центре, у нас есть базовый класс Vehicle и подклассы Car, Motorbike, TruckContainer. Автомобиль и Мотоцикл просто собираются на парковку в течение некоторого времени (произвольно) и уезжают, в то время как TruckContainer нужно парковаться только для выгрузки и погрузки контейнера, а затем уехать, количество контейнеров будет определять, как долго будет парковаться грузовик.

как я могу создать эти 3 объекта случайным образом, скажем, 5-10 автомобилей въедут на парковку за 1 минуту, 1-3 мотоцикла за 10 минут и только 1-2 грузовых контейнера в день?

спасибо

Ответы [ 2 ]

0 голосов
/ 30 августа 2010

Итак, насколько я понял, вы хотите генератор случайных чисел в пределах (например, класс вашего автомобиля) 5-10, 1-2 (грузовик) и 1-3 (велосипед) ...

Вы можете сделать это, используя генератор псевдослучайных чисел rand () ...

для вашего автомобиля:

rand() % 10 + 5; //from 5 to 10

, но не забудьте инициализировать ваш rand через srand ()! ...

Конечно, вам нужно контролировать, когда во временном интервале (например, 10 минут) будут приходить велосипеды ...

Надеюсь, это поможет

0 голосов
/ 30 августа 2010

Это может привести вас туда

VehicleControl::VehicleControl() {
mapOfFreq["Car"] = 6;     // based on 10 per 60 sec
mapOfFreq["Bike"] = 200;
.....
}

vehicle* VehicleControl::getVehicle() {
time_t t = time();
  if (t - mapOfCreatedTime["Car"] > mapOfFreq["Car"]) {
    mapOfCreatedTime["Car"] = t;
    return new Car();
   }
 ........
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...