cclass ModelarCarro
{
public string Nome { get; set; }
public int Velocidade { get; set; }
public string Cor { get; set; }
public string Fabricante { get; set; }
public string Modelo { get; set; }
private int ano;
public string AnoErrado { get; set; } = "";
public int Ano
{
get => ano;
set
{
if(value < 1960 || value > 2023)
{
AnoErrado = "Ano do modelo errado!";
}
else
{
ano = value;
}
}
}
public string DescricaoDetalhada => $"modelo {Modelo}, que foi fabricado por {Fabricante}, no ano de {ano}";
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()
{
}
}
ModelarCarro carro = new ModelarCarro();
carro.Nome = "Fusca";
carro.Cor = "Amarelo";
carro.Velocidade = 50;
carro.Modelo = "Fuscão";
carro.Fabricante = "Ford";
Console.WriteLine($"Digite o ano do seu {carro.Nome}");
carro.Ano = int.Parse(Console.ReadLine()!);
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}, {carro.DescricaoDetalhada}, 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;
}
}