private static bool Jogador1VenceDesempate(EnumJogos jogo, List <Carta> maoJogador1, List <Carta> maoJogador2)
 {
     if (jogo == EnumJogos.RoyalFlash)
     {
         //cartas são iguais, então acontece empate
         return(false);
     }
     else if (jogo == EnumJogos.StraightFlush)
     {
         return(straightFlush.Jogador1Vence(maoJogador1, maoJogador2));
     }
     else if (jogo == EnumJogos.Quadra)
     {
         return(quadra.Jogador1Vence(maoJogador1, maoJogador2));
     }
     else if (jogo == EnumJogos.FullHouse)
     {
         return(fullhouse.Jogador1Vence(maoJogador1, maoJogador2));
     }
     else if (jogo == EnumJogos.Flush)
     {
         return(flush.Jogador1Vence(maoJogador1, maoJogador2));
     }
     else if (jogo == EnumJogos.Sequencia)
     {
         return(sequencia.Jogador1Vence(maoJogador1, maoJogador2));
     }
     else if (jogo == EnumJogos.Trinca)
     {
         return(trinca.Jogador1Vence(maoJogador1, maoJogador2));
     }
     else if (jogo == EnumJogos.DoisPares)
     {
         return(doispares.Jogador1Vence(maoJogador1, maoJogador2));
     }
     else if (jogo == EnumJogos.UmPar)
     {
         return(umpar.Jogador1Vence(maoJogador1, maoJogador2));
     }
     else
     {
         return(cartaAlta.Jogador1Vence(maoJogador1, maoJogador2));
     }
 }
示例#2
0
        public static int SolucionadorMaosPoker()
        {
            int qtdVitoriasJogador1 = 0;

            int    qtdLinhas = 0;
            string linha;

            System.IO.StreamReader arquivo = new System.IO.StreamReader("pokerm.txt");
            while ((linha = arquivo.ReadLine()) != null)
            {
                var cartas = linha.Split(' ').ToList().Select(x => new Carta {
                    Numero = x[0], Naipe = x[1]
                }).ToList();
                List <Carta> maoJogador1 = cartas.Take(5).ToList();
                List <Carta> maoJogador2 = cartas.Skip(5).Take(5).ToList();

                EnumJogos jogo1 = RetornaJogo(maoJogador1);
                EnumJogos jogo2 = RetornaJogo(maoJogador2);

                if ((int)jogo1 > (int)jogo2)
                {
                    qtdVitoriasJogador1++;
                }

                if ((int)jogo1 == (int)jogo2)
                {
                    if (Jogador1VenceDesempate(jogo1, maoJogador1, maoJogador2))
                    {
                        qtdVitoriasJogador1++;
                    }
                }

                //Console.WriteLine(linha);
                qtdLinhas++;
            }

            arquivo.Close();
            //Console.WriteLine(qtdLinhas.ToString());



            return(qtdVitoriasJogador1);
        }