Trabalho I - Apresentação
trabalhoI
Nesse projeto decidi por criar 4 classes:
CSemaforo, que contém as informações de qual a probabilidade de um carro entrar em qual pista, além de referências pra tais pistas;
CPista, a classe que representa uma pista e possui uma fila de carros da qual faz POP e PUSH de acordo com os carros que saem ou entram na pista;
CCarro, uma classe simples, apenas para representar o carro, contendo tamanho e posição em metros em relação ao início da pista;
CTransito é a classe de controle do sistema, a qual instanciará as classes que compoem o cenário e as relacionará de acordo.
A simulação é feita através de um FOR que para cada segundo do tempo que será simulado chama uma função da classe CTransito que analisará o que deve ocorrer em tal segundo, além de simular a movimentação de cada carro no mesmo, incluindo cálculos de tamanho dos carros para que um carro não possa ocupar o mesmo espaço que outro durante a simulação. Sendo assim a simulação é realizada em pequenos steps que simbolizam um segundo cada e que representam uma iteração do FOR.
(O trabalho inclui diversos printf() apenas para demonstração, ao removê-los, o processo se torna mais rápido pois não perde o tempo para imprimir os caracteres no console).