ModelarCarro.cs
class ModelarCarro
{
public string nome;
public int velocidade;
public string cor;
public enum EstadoCarro
{
Conduzindo,
Acelerando,
Freiando,
Buzinando
}
public EstadoCarro carro = EstadoCarro.Conduzindo;
public void AcelerarCarro()
{
Console.WriteLine("Acelelerando...");
//carro = EstadoCarro.Conduzindo;
}
public void FrearCarro()
{
Console.WriteLine("Pisando no freio");
//Carrocarro = EstadoCarro.Freiando;
}
public void DiminuirVelocidade()
{
Console.WriteLine("Diminuindo a velocidade.");
}
public void BuzinarBuzina()
{
Console.WriteLine("Buzinando");
}
public void ManterVelocidade()
{
}
}
Program.cs
ModelarCarro carro = new ModelarCarro();
carro.nome = "Fusca";
carro.cor = "Amarelo";
carro.velocidade = 50;
Conduzindo();
LancaDado();
switch (EstadoCarro.Conduzindo)
{
case EstadoCarro.Conduzindo:
carro.ManterVelocidade();
LancaDado();
break;
case EstadoCarro.Acelerando:
carro.AcelerarCarro();
LancaDado();
break;
case EstadoCarro.Freiando:
carro.FrearCarro();
LancaDado();
break;
case EstadoCarro.Buzinando:
carro.BuzinarBuzina();
LancaDado();
break;
}
void LancaDado()
{
Random random = new Random();
int numeroSorteado = random.Next(1, 5);
switch (numeroSorteado)
{
case 1:
SinalAmarelo();
LancaDado();
break;
case 2:
SinalVermelhor();
LancaDado();
break;
case 3:
SinalVerde();
LancaDado();
break;
case 4:
CarroTrancandoRua();
LancaDado();
break;
}
}
void Conduzindo()
{
Console.WriteLine($"\nVocê está dirigindo seu {carro.nome} pela cidade a {carro.velocidade}km por hora.");
}
void SinalAmarelo()
{
Console.WriteLine("\nVocê avistou o semáfaro logo a frente e viu que está amarelo.");
Console.WriteLine("\nO que você faz?");
OpcaoMotorista();
}
void SinalVermelhor()
{
Console.WriteLine("\nVocê observou que o semáfaro ficou vermelho.");
Console.WriteLine("\nO que você faz?");
OpcaoMotorista();
}
void SinalVerde()
{
Console.WriteLine("\nO semáfaro ficou verde.");
Console.WriteLine("\nO que você faz?");
OpcaoMotorista();
}
void CarroTrancandoRua()
{
Console.WriteLine("\nTem um carro na sua frente que nao está andando.");
Console.WriteLine("\nO que você faz?");
OpcaoMotorista();
}
void OpcaoMotorista()
{
Console.WriteLine("\nPressione 1 para acelerrar.");
Console.WriteLine("\nPressione 2 para diminuir a velocidade.");
Console.WriteLine("\nPressione 3 para frear.");
Console.WriteLine("\nPressione 4 para buzinar.");
int escolhaDoMotorista = int.Parse(Console.ReadLine()!);
Console.Clear();
switch (escolhaDoMotorista)
{
case 1: carro.AcelerarCarro();
break;
case 2: carro.DiminuirVelocidade();
break;
case 3: carro.FrearCarro();
break;
case 4: carro.BuzinarBuzina();
break;
}
}
