public void GetResultado(List <Piloto> pilotos) { if (this.PontuacaoCorrida.Count > 0) { foreach (Piloto piloto in pilotos) { Pontuacao pontuacao = new Pontuacao(piloto); Int32 posicao = this.PontuacaoCorrida.IndexOf(pontuacao); if (posicao >= 0) { pontuacao.SetValorPontuacao(this.PontuacaoCorrida[posicao].GetValorPontuacao()); this.PontuacaoCorrida[posicao] = pontuacao; } else { Pontuacao pontuacaolista = new Pontuacao(pontuacao.GetPilotoPontuacao()); this.PontuacaoCorrida.Add(pontuacaolista); } } this.PontuacaoCorrida.Sort(); foreach (Pontuacao pontuacao in this.PontuacaoCorrida) { Console.WriteLine($"{(this.PontuacaoCorrida.IndexOf(pontuacao) + 1)}ºlugar {pontuacao}"); } } else { Console.WriteLine("Nenhum pontuação registrada!"); } }
static void LançarPontuacao() { Console.WriteLine("\nInforme o numero da corrida:"); Int32 numero = LerIntPositivo(); Corrida novocorrida = new Corrida(numero); Int32 posicao = corridas.IndexOf(novocorrida); if (pilotos.Count == 0) { Console.WriteLine("\nNenhum piloto encontrado!"); } else if (posicao >= 0) { for (Int32 posicaoPiloto = 0; posicaoPiloto < pilotos.Count; posicaoPiloto++) { Console.WriteLine($"\nInforme a pontuação de {pilotos[posicaoPiloto]}:"); Pontuacao pontuacao = new Pontuacao(pilotos[posicaoPiloto]); pontuacao.SetValorPontuacao(LerIntPositivo()); corridas[posicao].SetPontuacaoCorrida(pontuacao); } Console.WriteLine("\nPontuação da corrida atualizada com sucesso!"); } else { Console.WriteLine("\nCorrida não encontrada!"); } }
public void SetPontuacaoCorrida(Pontuacao pontuacao) { Int32 posicao = this.PontuacaoCorrida.IndexOf(pontuacao); if (posicao >= 0) // atualizando lista; { this.PontuacaoCorrida[posicao].SetValorPontuacao(pontuacao.GetValorPontuacao()); } else // criando novo abjeto; { Pontuacao pontuacaolista = new Pontuacao(pontuacao.GetPilotoPontuacao()); pontuacaolista.SetValorPontuacao(pontuacao.GetValorPontuacao()); this.PontuacaoCorrida.Add(pontuacaolista); } }