public Resultado(Rodada rodada, Time time, Time adversario, int pontos, int golsFeitos, int golsTomados) { this.rodada = rodada; this.time = time; this.adversario = adversario; this.pontos = pontos; this.golsFeitos = golsFeitos; this.golsTomados = golsTomados; }
//Cria método para cálculo dos resultados das partidas em uma rodada public static void calculaResultadosRodada(Rodada rodada) { //Extrai lista de jogos da rodada List <Jogo> listaJogos = rodada.getListaJogos(); //Para cada jogo na lista de jogos da rodada, implementa cálculo dos resultados foreach (Jogo jogo in listaJogos) { //Obtém (ponteiros para) times do jogo e gols feitos Time time1 = jogo.getTime1(); Time time2 = jogo.getTime2(); int gols1 = jogo.getGols1(); int gols2 = jogo.getGols2(); //Define variáveis auxiliares int pontos1; int pontos2; int golsFeitos1 = gols1; int golsFeitos2 = gols2; int golsTomados1 = gols2; int golsTomados2 = gols1; //Calcula resultados da peleja if (gols1 > gols2) { //Time 1 vencedor pontos1 = 3; pontos2 = 0; } else if (gols1 < gols2) { //Time 2 vencedor pontos1 = 0; pontos2 = 3; } else { //Empate pontos1 = 1; pontos2 = 1; } //Cria instância de resultado para os times Resultado resultado1 = new Resultado(rodada, time1, time2, pontos1, golsFeitos1, golsTomados1); Resultado resultado2 = new Resultado(rodada, time2, time1, pontos2, golsFeitos2, golsTomados2); //Adiciona resultados na lista (global) de resultados listaResultados.Add(resultado1); listaResultados.Add(resultado2); } }
//Cria método para impressão dos resultados da rodada public static void imprimeResultadosRodada(Rodada rodada) { //Define variáveis auxiliares string nomeTime; string nomeAdversario; int pontos; int golsFeitos; int golsTomados; //Extrai lista de jogos da rodada List <Jogo> listaJogos = rodada.getListaJogos(); //Imprime cabeçalho Console.WriteLine("-------------------------------------------------------------------------------------"); Console.WriteLine("Resultados da rodada {0}", rodada.getNome()); Console.WriteLine("-------------------------------------------------------------------------------------"); Console.WriteLine("Time Adversario Pontos Gols feitos Gols tomados"); Console.WriteLine("-------------------------------------------------------------------------------------"); //Para cada time, imprime o resultado da rodada foreach (Time time in listaTimes) { //Extrai nome do time nomeTime = time.getNome(); //Encontra o resultado na lista de resultados correspondente ao time x jogo Resultado resultado = listaResultados.Find(x => (x.getTime().Equals(time)) && (x.getRodada().Equals(rodada))); //Extrai resultados nomeAdversario = resultado.getAdversario().getNome(); pontos = resultado.getPontos(); golsFeitos = resultado.getGolsFeitos(); golsTomados = resultado.getGolsTomados(); //Imprime dados writeLimit(nomeTime, 20); writeLimit(nomeAdversario, 20); Console.Write("{0,-15}", pontos); Console.Write("{0,-15}", golsFeitos); Console.Write("{0,-15}", golsTomados); Console.WriteLine(""); } Console.WriteLine("\n"); }
//Programa principal static void Main(string[] args) { //Cria rodadas Rodada rodada1 = new Rodada("1"); rodada1.addJogo(jogoAB); rodada1.addJogo(jogoCD); Rodada rodada2 = new Rodada("2"); rodada2.addJogo(jogoAC); rodada2.addJogo(jogoBD); Rodada rodada3 = new Rodada("3"); rodada3.addJogo(jogoAD); rodada3.addJogo(jogoBC); //Adiciona rodadas na lista de rodadas listaRodadas.Add(rodada1); listaRodadas.Add(rodada2); listaRodadas.Add(rodada3); //Define variáveis auxiliares string nomeA; string corA; string gritoA; //Pede para o usuário os dados do timeA Console.WriteLine("==================================================================================================="); Console.WriteLine("PiFoot - versão 0.0.2"); Console.WriteLine("==================================================================================================="); Console.WriteLine("Por favor, informe os seguintes dados do seu time (A):"); Console.Write("Nome do time > "); nomeA = Console.ReadLine(); Console.Write("Cor do uniforme > "); corA = Console.ReadLine(); Console.Write("Grito da torcida > "); gritoA = Console.ReadLine(); Console.WriteLine("\n"); //Preenche dados do time A (do usuário) timeA.setNome(nomeA); timeA.setCor(corA); timeA.setGritoTorcida(gritoA); //Imprime lista de times Console.WriteLine("--------------------------------------------------------------------------------------------------"); Console.WriteLine("Lista de times no campeonato"); Console.WriteLine("--------------------------------------------------------------------------------------------------"); Console.WriteLine("Time Cor da camisa"); Console.WriteLine("--------------------------------------------------------------------------------------------------"); foreach (Time time in listaTimes) { Console.Write("{0,-20}", time.getNome()); Console.Write("{0,-15}", time.getCor()); Console.WriteLine(""); } Console.WriteLine("\n \n"); //Para cada rodada na lista de rodadas // - Realiza jogos // - Imprime resultados foreach (Rodada rodada in listaRodadas) { //Interrompe procedimento para pedir entrada pelo usuário Console.Write("Digite enter para a {0}a. rodada > ", rodada.getNome()); Console.ReadLine(); //Realiza jogos rodada.realizaJogos(); //Calcula resultados da rodada calculaResultadosRodada(rodada); //Imprime resultados imprimeResultadosRodada(rodada); } //Imprime resultados do campeonato e identifica campeão Console.WriteLine(""); Console.Write("Digite enter para os resultados do campeonato > "); Console.ReadLine(); imprimeResultadosCampeonato(); }
public void setRodada(Rodada rodada) { this.rodada = rodada; }
public Resultado(Rodada rodada, Time time, Time adversario) { this.rodada = rodada; this.time = time; this.adversario = adversario; }