Ejemplo n.º 1
0
 public void VMano()
 {
     UserIO.ShowHand(this, Mano.ToArray());
 }
        private void JuegoCiclo()
        {
            //SE REALIZA EL CICLO DE JUEGO
            bool   TurnoJugador = true;
            int    input;
            Random random = new Random();

            EstadoJuego = GameStatus.InGame;

            while (true)
            {
                if (TurnoJugador)
                {
                    Apostador.VMano();

                    if (Ganador1(Apostador, Casino))
                    {
                        return;
                    }

                    while (true)
                    {
                        input = UserIO.ElJuego(EstadoJuego);

                        if (input == 1)
                        {
                            Apostador.AskCard();
                            break;
                        }

                        if (input == 2)
                        {
                            TurnoJugador = false;
                            break;
                        }

                        Apostador.VMano();
                    }
                }

                if (!TurnoJugador)
                {
                    //SE DETERMINA QUE JUGADOR TIENE LA PUNTUACION GANADORA
                    double rand = random.NextDouble();

                    if (MaximaPuntuacion - Casino.Score >= MaximaPuntuacion - Cartas.MaximodeCartasDeck ||
                        rand >= ((double)Casino.Score - Cartas.MaximodeCartasDeck) / ((double)MaximaPuntuacion - Cartas.MaximodeCartasDeck))
                    {
                        Casino.AskCard();

                        if (Ganador1(Casino, Apostador))
                        {
                            return;
                        }
                    }

                    if (MaximaPuntuacion - Casino.Score < MaximaPuntuacion - Cartas.MaximodeCartasDeck &&
                        rand < ((double)Casino.Score - Cartas.MaximodeCartasDeck) / ((double)MaximaPuntuacion - Cartas.MaximodeCartasDeck))
                    {
                        EstadoJuego = GameStatus.GameEnd;
                        Ganador1(Casino, Apostador);
                    }
                }
            }
        }