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 }