#include "stage.h"
#include "persons.h"
#include "catalog.h"
#include <string>
#include <map>
#include <vector>
#include <random>

Stage::Stage (int hard){
    if(hard<=1){hard_=1;}
    else if(hard>=5){hard_=5;}
    else{hard_=hard;}
}

void Stage::Simulate (std::vector<Cyclist> vector){
    std::random_device rd;
    std::mt19937 gen(rd());
    std::uniform_int_distribution<int> dist(1, hard_*400);

    for(auto &a : vector){
        delay_[a.GetCyclistId()]= dist(gen);
    }

    std::uniform_int_distribution<int> dist2(1, vector.size());

    auto it=delay_.begin();
    std::advance(it,dist2(gen)-1);
    it->second=0;

}