Exemplo n.º 1
0
        internal string compruebaGanador(string[] manoJugador1, string[] manoJugador2)
        {
            ValorMano valorManoJugador1 = getValorManoJugador(manoJugador1);
            ValorMano valorManoJugador2 = getValorManoJugador(manoJugador2);

            //En caso de que una mano supere a la otra devolvemos directamente el ganador
            if (valorManoJugador1 > valorManoJugador2)
            {
                return(string.Format("Ganador jugador1 - {0}", Enum.GetName(typeof(ValorMano), valorManoJugador1)));
            }
            else if (valorManoJugador2 > valorManoJugador1)
            {
                return(string.Format("Ganador jugador2 - {0}", Enum.GetName(typeof(ValorMano), valorManoJugador2)));
            }
            //En caso de empates mirar el valor de la mano o el resto de cartas
            else
            {
                return(this.resuelveEmpate(manoJugador1, manoJugador2, valorManoJugador1));
            }
        }
Exemplo n.º 2
0
        private string resuelveEmpate(string[] manoJugador1, string[] manoJugador2, ValorMano casoEmpate)
        {
            //Resolveremos los empates dependiendo del caso
            switch (casoEmpate)
            {
            case ValorMano.CartaMasAlta:
                return(this.resuelveEmpateCartaMasAlta(manoJugador1, manoJugador2));

            case ValorMano.Pareja:
                return(this.resuelveEmpatePareja(manoJugador1, manoJugador2));

            case ValorMano.DoblePareja:
                return(this.resuelveEmpateDoblePareja(manoJugador1, manoJugador2));

            case ValorMano.Trio:
                return(this.resuelveEmpateTrio(manoJugador1, manoJugador2));

            case ValorMano.Escalera:
                return(this.resuleveEmpateEscalera(manoJugador1, manoJugador2));

            case ValorMano.Color:
                return(this.resuelveEmpateColor(manoJugador1, manoJugador2));

            case ValorMano.Full:
                return(this.resuelveEmpateFull(manoJugador1, manoJugador2));

            case ValorMano.Poker:
                return(this.resuleveEmpatePoker(manoJugador1, manoJugador2));

            case ValorMano.EscaleraColor:
                return(this.resuleveEmpateEscalera(manoJugador1, manoJugador2));

            default:
                break;
            }

            return("Empate");
        }