public void ChamarElevador(int piso)
public void MoverElevador()
int pisoMaisProximo = ProximoPiso();
if (pisoMaisProximo != -1)
Console.WriteLine("Elevador indo para o piso: " + pisoMaisProximo);
pisoAtual = pisoMaisProximo;
chamadas[pisoAtual] = false;
Console.WriteLine("Nenhum chamado pendente.");
private int ProximoPiso()
int pisoMaisProximo = -1;
int menorDistancia = int.MaxValue;
for (int i = 1; i <= 6; i++)
int distancia = Math.Abs(pisoAtual - i);
if (distancia < menorDistancia)
menorDistancia = distancia;
public static void Main(string[] args)
Elevador elevador1 = new Elevador();
Elevador elevador2 = new Elevador();
elevador1.ChamarElevador(5);
elevador2.ChamarElevador(1);
elevador1.ChamarElevador(6);
elevador2.ChamarElevador(2);
elevador1.MoverElevador();
elevador2.MoverElevador();
elevador1.MoverElevador();
elevador2.MoverElevador();