Witam,
Piszę od jakiegoś czasu program, który ma pomóc w obsłudze skrzyżowania (funkcje: Symulacja, Zmiana trybu).
- Tryb będzie określany na podstawie czasu pobranego z systemu (za pomocą biblioteki time.h). Mój pomysł polega na stworzeniu klasy Mode i do konstruktora przekazać jako argument czas pobrany z systemu lub w konstruktorze domyślnym to zrobić i na podstawie czasu ustawić czas trwania cyklu itd. Które rozwiązanie będzie lepsze?
- Symulacja ma przedstawiać pracę skrzyżowania w ustalonym trybie + ruch pojazdów. Napisałem sobie ruch pojazdów jak mają się poruszać po skrzyżowaniu (ustalone trzy możliwe drogi - prosto, lewo, prawo) teraz jednak zastanawiam się jak rozwiązać problem pierwszeństwa... Wymyśliłem by przed każdym sygnalizatorem stworzyć jakąś tablicę, vector, kolejkę lub jakikolwiek inny kontener do niego wrzucać każde "autko". Każdy obiekt "autka" ma swój numerek 1-prosto, 2-prawo, 3-lewo, a następnie porównywać te numerki ze sobą oraz na podstawie tej relacji określać czy autka mogą jechać jednocześnie, czy któreś z nich musi poczekać. Czy jest może jakieś inne, lepsze rozwiązanie?
Dla ułatwienia wrzucam tutaj ilustrację, która ma przypominać graficznie mój pomysł ;)
Dziękuję za odpowiedzi i pozdrawiam wszystkich! :)