Example #1
0
 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;
 }
Example #2
0
        //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);
            }
        }
Example #3
0
        //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");
        }
Example #4
0
        //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();
        }
Example #5
0
 public void setRodada(Rodada rodada)
 {
     this.rodada = rodada;
 }
Example #6
0
 public Resultado(Rodada rodada, Time time, Time adversario)
 {
     this.rodada     = rodada;
     this.time       = time;
     this.adversario = adversario;
 }