internal string[] getCartasTrio(string[] mano) { //Ordenar las cartas de la mano var manoTupla = ManosPokerUtils.manoStringToTupla(mano).OrderBy(c => c.Item1); //Al estar ordenado, comprobamos si hay 3 cartas con el mismo valor //Empezamos de la primera a la tercera //Luego segunda a la cuarta //Y terminamos con tercera a quinta if (manoTupla.ElementAt(0).Item1 == manoTupla.ElementAt(1).Item1&& manoTupla.ElementAt(0).Item1 == manoTupla.ElementAt(2).Item1) { return(ManosPokerUtils.manoTuplaToString(new Tuple <int, char>[] { manoTupla.ElementAt(0), manoTupla.ElementAt(1), manoTupla.ElementAt(2) })); } else if (manoTupla.ElementAt(1).Item1 == manoTupla.ElementAt(2).Item1&& manoTupla.ElementAt(1).Item1 == manoTupla.ElementAt(3).Item1) { return(ManosPokerUtils.manoTuplaToString(new Tuple <int, char>[] { manoTupla.ElementAt(1), manoTupla.ElementAt(2), manoTupla.ElementAt(3) })); } else if (manoTupla.ElementAt(2).Item1 == manoTupla.ElementAt(3).Item1&& manoTupla.ElementAt(2).Item1 == manoTupla.ElementAt(4).Item1) { return(ManosPokerUtils.manoTuplaToString(new Tuple <int, char>[] { manoTupla.ElementAt(2), manoTupla.ElementAt(3), manoTupla.ElementAt(4) })); } return(null); }
internal string[] getCartasPoker(string[] mano) { var cartasPoker = new List <string>(); var manoTupla = ManosPokerUtils.manoStringToTupla(mano); //Primera carta int valorCarta = manoTupla.First().Item1; var cartasIguales = manoTupla.Where(c => c.Item1 == valorCarta); if (cartasIguales.Count() == 4) { return(ManosPokerUtils.manoTuplaToString(cartasIguales.ToArray())); } //Probamos con la segunda carta valorCarta = manoTupla.ElementAt(1).Item1; cartasIguales = manoTupla.Where(c => c.Item1 == valorCarta); if (cartasIguales.Count() == 4) { return(ManosPokerUtils.manoTuplaToString(cartasIguales.ToArray())); } return(null); }
internal string[] getCartasPareja(string[] mano) { //Ordenar las cartas de la mano var manoTupla = ManosPokerUtils.manoStringToTupla(mano).OrderBy(c => c.Item1); //Comprobar dos cartas con valores iguales seguidas for (int i = 0; i < manoTupla.Count() - 1; i++) { if (manoTupla.ElementAt(i).Item1 == manoTupla.ElementAt(i + 1).Item1) { return(ManosPokerUtils.manoTuplaToString(new Tuple <int, char>[] { manoTupla.ElementAt(i), manoTupla.ElementAt(i + 1) })); } } return(null); }