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)); } }
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); }