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