public Mano Jugar(Baraja baraja) { JuegaCartas(2, baraja); Console.WriteLine(); bool juega = true; while (juega) { Console.WriteLine("1.-Jugar\n2.-Mantenerte"); Console.Write("Opción: "); int opcion = int.Parse(Console.ReadLine()); switch (opcion) { case 1: JuegaCartas(1, baraja); juega = !mano.Pierde(); break; case 2: juega = false; break; default: Console.WriteLine("Ingrese un valor válido"); Console.ReadKey(); Console.Clear(); break; } } return(mano); }
public void JuegaCartas(int num, Baraja baraja) { for (int i = 0; i < num; i++) { mano.Agregar(baraja.ObtenerCarta()); //Para tomar una carta nueva } Console.WriteLine(this.ToString()); //Lo utilizamos para mostrar el total que hay en Mano }
static void Main(string[] args) { // MIRA KAREN ASI SE PUEDE TRABAJAR EN GITHUB Baraja baraja = new Baraja(); // CREO EL OBJETO DE LA CLASE PARA MANDAR A LLAMAR A LOS METODOS string opcion; // VARIABLE PARA VALIDAR LOS CASOS baraja.Ccrear(); do { try { // CUANDO INICIA EL JUEGO EL PROGRAMA LE PREGUNTA AL USUARIO SI DESEA COMENZAR O SALIR Console.Write("\n\tBLACK JACK 21 \n\tJUEGOS : GANADOS: {0} || PERDIDOS: {1} ", baraja.Victorias, baraja.Perdidas); // COMO TAMBIEN SE MUESTRA EL REGISTRO DE JAGADAS MARCANDO VICTORIA O NO GANADAS Console.Write("\n\t1)COMENZAR || 2)ABANDONAR PARTIDA : "); opcion = Console.ReadLine(); switch (opcion) // AQUI SE RECIBE LA OPCION QUE EL USUARIO INGRESO { case "1": // AL COMENZAR EL JUGUEGO LOS PROCESOS LOGICOS COMIENZAN baraja.Ccrear(); Console.Write("\tBARAJEADA"); baraja.Revolver(); baraja.Revolver(); // TANTO EL REVOLVER LA BARAJA COMO LA CREACCION DE ELLA Console.Write("\n\t>>>INICIANDO<<<"); // Y ASI SE DA COMIENZO AL JUEGO DONDE SE LE ASIGNAN DOS CARTAS AL USUARIO baraja.Jugar(); break; case "2": Console.Write("\n\tSALIR\n"); Environment.Exit(0); //TERMINA EL PROCESO Y PERMITE LA SALIDA DEL PROGRAMA break; default: Console.Write("\a\n\tERROR"); break; } } catch (Exception) { Console.Write("\n\t\aERROR REINICIAR"); } Console.Write("\n\t\aREINICIAR (SI || NO): "); opcion = Console.ReadLine(); Console.Clear(); //CORRA LOS DATOS QUE NOS MUESTRAS ANTERIORMENTE } while (opcion == "si" || opcion == "SI"); Console.ReadKey(); }
//Aqui tenemos el metodo ComenzarJuego() mandando a llamar este metodo comenzamos el juego public void ComenzarJuego() { int TieneA = 0; //Utilizamos esta variable entera tieneA para detectar cuantos ases que valen 11 tenemos en nuestra mano int total = 0; //Variable que utilizamos para sumar los puntos de cada carta que tomemos Baraja BlackJack = new Baraja(); //Objeto tipo BlackJack con el que generamos la baraja BlackJack.GenerarBaraja(); //Creamos baraja de 52 cartas BlackJack.Revolver(); //La revolvemos BlackJack.PrepararBaraja(); //Y la preparamos para su uso mandandola a la pila do { Console.WriteLine("Juego de blackjack victorias: {0} derrotas: {1} cartas restantes {2}", victorias, perdidas, BlackJack.BarajaPreparada.Count); Console.WriteLine("Para comenzar presione enter"); Console.ReadKey(); Console.Clear(); do { MyHand.Add(BlackJack.BarajaPreparada.Pop()); //Aqui sacamos una carta de la pila BarajaPreparada y la agregamos a nuestra mano //Aqui utilizamos una serie de condiciones para sumar los valores de cada carta que vamos jalando if (MyHand[MyHand.Count - 1].Valor > 10) //Con esta primera condicion basicamente checamos si lo que jale es un As ya que los Ases valen 11 { if (total <= 10) //Si el total de puntos es menor o igual a 10 le sumamos 11 { total = total + 11; TieneA = TieneA + 1;//despues de sumar un As como 11 indicamos que tenemos un As que vale eso } else//si nuestra moano tiene mas de 10 puntos entonces el As valdra 1 { total = total + 1; } } else//si jalamos cualquier cosa que no sea un As simplemente lo sumamos al total { total = total + MyHand[MyHand.Count - 1].Valor; if (total > 21 && TieneA > 0) //pero si al sumarlo nos pasamos del valor y tenemos un As que vale 11 { total = total - 10; //Hacemos que ese As valga uno restandole 10 al total TieneA = TieneA - 1; //Y finalmente quitamos el hecho de que tenemos un As } } Console.WriteLine("Total de cartas = {0} Total de puntos = {1}\n", BlackJack.BarajaPreparada.Count, total); Console.WriteLine("Tus cartas actuales son:\n"); foreach (var item in MyHand) { Console.WriteLine(" " + item.ID);//Aqui le imprimimos al jugador las cartas que tiene actualmente en su mano } Console.WriteLine("\nPresione enter para tomar otra carta"); Console.ReadKey(); Console.Clear(); //El Juego termina cuando se acaben las cartas de la baraja(pila) o el nuemro de cartas jaladas sean 5 o cuando tus puntos sean mayores a 20 } while (MyHand.Count < 5 && total < 21 && BlackJack.BarajaPreparada.Count > 0); if (total == 21)//Uilizamos estas condiciones para checar si el total de puntos es igual a 21 si lo es marcamos la victoria { Console.WriteLine("Victoria! Ganaste el juego"); victorias = victorias + 1; } else { Console.WriteLine("Perdiste.... intenta de nuevo"); perdidas = perdidas + 1; } total = 0; //Reiniciamos los puntos a cero para el siguiente juego TieneA = 0; MyHand = new List <Cartas>(); //Tambien nos desacemos de nuestra mano vieja y creamos una nueva Console.ReadKey(); Console.Clear(); } while (BlackJack.BarajaPreparada.Count > 0);//Los juegos continuara hasta que se acaben las barajas Console.WriteLine("Fin del juego se acabaron las cartas... tu puntuacion fue de:\n {0} victorias y {1} derrotas", victorias, perdidas); Console.ReadKey(); }
public Game() //Constructor de la clase { baraja = new Baraja(); }