public static int Desempata(Mao mao1, Jogo jogo1, Mao mao2, Jogo jogo2) { var sobraMao1 = mao1.Cartas.Where(x => !jogo1._cartas.Any(y => y.Valor == x.Valor)); var sobraMao2 = mao2.Cartas.Where(x => !jogo2._cartas.Any(y => y.Valor == x.Valor)); var descobreCartaAlta1 = DescobreCartaAlta(new Mao(sobraMao1)); var descobreCartaAlta2 = DescobreCartaAlta(new Mao(sobraMao2)); return descobreCartaAlta1 > descobreCartaAlta2 ? 1 : 2; }
private static bool TemUmPar(IEnumerable<Carta> cartas) { List<Carta> duplicates = cartas.GroupBy(i => i.Valor).Where(g => g.Count() > 1).Select(g => g.ElementAt(0)).ToList(); jogo = new Jogo(duplicates.OrderBy(x => x.Valor).ToList(), TipoJogo.Par); return duplicates.Count == 1; }