Exemple #1
0
        static void Main(string[] args)
        {
            int CantJuegos = 0, juegogan = 0, juegoper = 0, CantCartas, opc; //Inicializar variables

            Console.OutputEncoding = Encoding.Unicode;                       //Es necesario para aceptar los simbolos
            bool Salir = false, Concluirjuego, Salirpart;

            do
            {
                CantJuegos++;
                CantCartas = 2;
                Salirpart  = false;
                CargaCartas CC = new CargaCartas(); //Se crea un objeto de la clase CargaCartas

                CC.Carga();
                CC.SacarCarta(CantCartas);

                do
                {
                    if (CantCartas < 5) //Si tienes menos de 5 cartas, te pedira si quieres otra para continuar sumando
                    {
                        Console.Clear();
                        Console.WriteLine("\n ~~ Partida No.{0} ~~ \nPartida Ganada: {1} \n Partidas Perdidas: {2}", CantJuegos, juegogan, juegoper);
                        CC.MostrarMano();

                        Console.Write("\nDeseas otra carta? \n1 = Si \n2 = No \nR = ");
                        opc = int.Parse(Console.ReadLine());

                        if (opc == 1) //Si deseas sacar la carta, la suma sera regresada por el metodo SacarCartas de la clase CargaCarta
                        {
                            CantCartas++;
                            CC.SacarCarta(CantCartas);
                            Salirpart = CC.VerificarSuma(false);
                        }

                        else if (opc == 2)    //Si no, el programa te dira que perdiste por no llegar al 21
                        {
                            Salirpart = true; //Saldras del programa y te preguntara si quieres volver empezar
                        }

                        else //Marcara un error si no elegiste 1 o 2
                        {
                            Console.WriteLine("ERROR");
                            Console.ReadKey();
                            Salirpart = false;
                        }
                    }

                    else
                    {
                        //En el caso de ya tener 5 cartas , El programa al tener una suma menor de 21, dira que perdiste
                        //Si es igual a 21 ganaste,  Si te pasas del 21, habras perdido

                        Console.Clear();
                        Console.WriteLine("\n ~~ Partida No.{0} ~~ \nPartida Ganada: {1} \nPartidas Perdidas: {2}", CantJuegos, juegogan, juegoper);
                        CC.MostrarMano();
                        CC.VerificarSuma(false);
                        Salirpart = true;
                    }
                } while (Salirpart == false); //Regresara si aun no has tomado 5 cartas y tu suma no ha pasado de 21

                Console.Clear();
                Console.WriteLine("\n ~~ Partida No.{0} ~~ \nPartida Ganada: {1} \nPartidas Perdidas: {2}", CantJuegos, juegogan, juegoper);

                CC.MostrarMano();
                Concluirjuego = CC.VerificarSuma(true);

                if (Concluirjuego == true) //Si sale 21 antes de las 5 cartas, habras ganado
                {
                    juegogan++;
                }
                else //De lo contrario, habras perdido
                {
                    juegoper++;
                }

                do
                {
                    Console.Clear();
                    Console.Write("\nDeseas otra carta? \n1 = Si \n2 = No \nR = "); //Te preguntara si quieres volver a jugar
                    opc = int.Parse(Console.ReadLine());

                    if (opc == 1) //Si elijes 1, volveras a empezar
                    {
                        Salirpart = true;
                    }

                    else if (opc == 2) //Si no, saldras del programa
                    {
                        Salir     = true;
                        Salirpart = true;
                    }

                    else
                    {
                        Console.WriteLine("ERROR");
                        Console.ReadKey();
                    }
                } while (Salirpart == false);
            } while (Salir == false); //Volveras a empezar
        }
        static void Main(string[] args)
        {
            int CantidadJuegos = 0, Ganados = 0, Perdidos = 0, CantidadCartas, Opcion;

            //CantidadJuegos = Cantidad de partidas jugadas
            //Ganados = Partidas ganadas
            //Perdidas = Partidas perdidas
            //CantidadCartas = Cantidad de cartas en mano
            //Opcion = Donde se almacena la desicion tomada en si tomar o no una carta
            Console.OutputEncoding = Encoding.Unicode; //Nos permite imprimir caracteres especial
            bool Salir = false, ConclusionJuego, SalirPartida;

            //Salir = Salir del programa
            //ConclusionJuego = Toma el valor en si gano o perdio
            //SalirPartida = terminar la partida actual
            do
            {
                CantidadJuegos++;
                CantidadCartas = 2;
                SalirPartida   = false;
                CargaCartas CC = new CargaCartas(); //Se crea un objeto de la clase CargaCartas
                CC.Carga();                         //Metodo el cual barajea
                CC.SacarCarta(CantidadCartas);      //Saca las primeras 2 cartas
                SalirPartida = CC.VerificarSuma(false);
                if (SalirPartida == true)
                {
                }
                else
                {
                    do
                    {
                        if (CantidadCartas < 5) //Si cumple la condicion, significa que aun no se tiene la cantidad maxima de cartas
                        {
                            Console.Clear();
                            Console.WriteLine("-----Partida No.{0}-----", CantidadJuegos);
                            Console.WriteLine("Ganados:{0}\tPerdidos:{1}", Ganados, Perdidos);
                            CC.MostrarMano(); //Muestra la mano del usuario
                            Console.WriteLine("\nDeseas otra carta?");
                            Console.WriteLine("1.- Si");
                            Console.WriteLine("2.- No");
                            Console.Write("R: ");
                            try
                            {
                                Opcion = Convert.ToInt32(Console.ReadLine());
                                if (Opcion == 1) //Si se cumple, significa que se desea otra carta
                                {
                                    CantidadCartas++;
                                    CC.SacarCarta(CantidadCartas);          //Se saca otra carta
                                    SalirPartida = CC.VerificarSuma(false); //Se verifica si la suma de sus cartas son <= 21
                                                                            //true = cuando suma <= a 21
                                                                            //false = cuando suma < 21
                                }
                                else if (Opcion == 2)                       //Si se cumple, significa que no se desea otra carta
                                {
                                    SalirPartida = true;                    //Valor que permitira termianar la partida
                                }
                                else //Si se cumple, significa que se introdujo un valor no aceptable
                                {
                                    Console.WriteLine("A ocurrido un error, intentelo de nuevo por favor.\nPresione una tecla para continuar.");
                                    Console.ReadKey();
                                    SalirPartida = false;
                                }
                            }
                            catch //Captura de un error
                            {
                                Console.WriteLine("A ocurrido un error, intentelo de nuevo por favor.\nPresione una tecla para continuar.");
                                Console.ReadKey();
                            }
                        }
                        else //Si se cumple, significa que ya se tiene la cantidad maxima de cartas
                        {
                            Console.Clear();
                            Console.WriteLine("-----Partida No.{0}-----", CantidadJuegos);
                            Console.WriteLine("Ganados:{0}\tPerdidos:{1}\n", Ganados, Perdidos);
                            CC.MostrarMano();        //Muestra la mano del usuario
                            CC.VerificarSuma(false); //Se verifica si la suma de sus cartas son <= 21
                                                     //true = cuando suma <= a 21
                                                     //false = cuando suma < 21
                            SalirPartida = true;     //Valor que permita terminar la partida
                        }
                    } while (SalirPartida == false); //Mientras se cumpla la condicion, la partida actual seguira en proceso
                }

                Console.Clear();
                Console.WriteLine("-----Partida No.{0}-----", CantidadJuegos);
                Console.WriteLine("Ganados:{0}\tPerdidos:{1}", Ganados, Perdidos);
                CC.MostrarMano();                         //Muestra la mano del usuario
                ConclusionJuego = CC.VerificarSuma(true); //Se verifica si la suma de sus cartas son <= 21
                                                          //true = cuando suma <= a 21
                                                          //false = cuando suma < 21
                if (ConclusionJuego == true)
                {
                    Ganados++; //Ganados = Partidas ganadas
                }
                else
                {
                    Perdidos++; //Perdidas = Partidas perdidas
                }

                do
                {
                    Console.Clear();
                    Console.WriteLine("Deseas jugar de nuevo?");
                    Console.WriteLine("1.- Si");
                    Console.WriteLine("2.- No");
                    Console.Write("R: ");
                    try
                    {
                        Opcion = Convert.ToInt32(Console.ReadLine()); //Toma el valor que permite saber si se jugara de nuevo o se sale del programa
                        if (Opcion == 1)                              //Si se cumple, significa que se desea jugar de nuevo
                        {
                            SalirPartida = true;
                        }
                        else if (Opcion == 2) //Si se cumple, significa que no se desea jugar de nuevo
                        {
                            Salir        = true;
                            SalirPartida = true;
                        }
                        else //Si se cumple, significa que se introdujo un valor no aceptable
                        {
                            SalirPartida = false;
                            Console.WriteLine("Ocurrio un error.\nPresione una tecla para continuar.");
                            Console.ReadKey();
                        }
                    }
                    catch //Captura de un error
                    {
                        SalirPartida = false;
                        Console.WriteLine("Ocurrio un error.\nPresione una tecla para continuar.");
                        Console.ReadKey();
                    }
                } while (SalirPartida == false); //Mientras se cumpla la condicion, se realizara la pregunta que si se desea otra partida
            } while (Salir == false);            //Mientras se cumpla la condicion, se realizara otra partida
        }