Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }