No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

10 Días
21 Hrs
1 Min
39 Seg

Ciclos para el juego de Platzino

17/20
Recursos

Aportes 41

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Les comparto mi codigo en pantallazos ya que es muy largo. Es una variacion del casino.

Mi juego de piedra papel o tijeras

Saludos!!

Console.WriteLine("Piedra papel o tijeras UwU!");
bool juego = true;
int jugador = 0;
Random rdn= new Random();
int oponente = 0;
int maquina = 0;
int usuario = 0;
int empate = 0;
string[] opciones = {"NA","La maquina elijio Piedra","La maquina elijio Papel","La maquina elijio tijeras" };
while (juego == true) {
    oponente = rdn.Next(1, 3);
    Console.WriteLine("1 Elije Piedra\n2 Elije papel\n3 Elije tijeras");
    jugador=Convert .ToInt32(Console.ReadLine());
    Console.WriteLine(opciones[oponente]);
    if (jugador == oponente)
    {
        Console.WriteLine("Juego empatado!!");
        empate++;
    }
    else
    {
        switch (jugador)
        {
            case 1: //jugador juega piedra
                if (oponente == 2)
                {
                    Console.WriteLine("La maquina GANA");
                    maquina++;
                }
                else { 
                    Console.WriteLine("El usuario GANA");
                    usuario++;
                }
            break;
            case 2://jugador juega papel
                if (oponente == 3)
                {
                    Console.WriteLine("La maquina GANA");
                    maquina++;
                }
                else
                {
                    Console.WriteLine("El usuario GANA");
                    usuario++;
                }
                break;
            case 3://Jugador juega tijeras
                if (oponente == 1)
                {
                    Console.WriteLine("La maquina GANA");
                    maquina++;
                }
                else
                {
                    Console.WriteLine("El usuario GANA");
                    usuario++;
                }
                break;
        }
    }
    Console.WriteLine("Si desea continuar presione enter \nSi desea salir presione 0");
    if (Console.ReadLine() == "0") {
        juego = false;
    }
   
}
Console.WriteLine("Total de Juegos gandos");
Console.WriteLine($"El Usuario Gano: {usuario} juegos");
Console.WriteLine($"La Maquina Gano: {maquina} juegos");
Console.WriteLine($"Se empataron: {empate} juegos");

hay una falla que cuando el jugador puede seguir jugando aunque ya se haya pasado

Aquí dejo mi pequeño aporte, un juego muy sencillo de Pokémon.

Si les interesa verlo, les dejo el enlace del video:

https://youtu.be/ALwy-nVqeHE

Profundizando un poco acerca de los conceptos encontré documentación de los objetos y decidí adaptarla al código del juego, agradecería mucho su feedback.

De antemano una disculpa por la falta de comentarios.

<code> 
//Realizamos el juego de blackjack para seguir las practicas del curso de platzi


//Sumamos el el array de cartas

class Juego
{
    internal int[] jugador = { 0, 0 };
    internal int[] dealer = { 0, 0 };
    internal string mensaje = "";   

    static int[] BeginCards()
    {
        System.Random rand = new System.Random();
        int[] res = {rand.Next(1, 12), rand.Next(1, 12) };
        return res;
    }

    static void StartGame()
    {
        int totalJugador = 0;
        int totalDealer = 0;
        System.Random rand = new System.Random();
        Juego o = new Juego();
        o.jugador = BeginCards();
        o.dealer = BeginCards();
        totalJugador = sumArray(o.jugador);
        totalDealer = sumArray(o.dealer);
        string jugar = "";

        if (totalJugador == 21)
        {
            //si en la primera oportunidad obtenemos el 21 entonces ganamos
            Console.WriteLine($"Felicitaciones, has ganado,Tus cartas son {o.jugador[0]} y {o.jugador[1]}");
            Console.WriteLine("¿Quieres volver a jugar?");
            jugar = Convert.ToString(Console.ReadLine()).ToUpper();
            if (jugar == "SI")
            {
                StartGame();
            }
        }
        else
        {
            do
            {
                //Mostrar al jugador las cartas y preguntar si deséa continuar
                Console.WriteLine($"Tus cartas son {string.Join(", ",o.jugador)} ¿Qieres otra carta?");
                string respuesta = Convert.ToString(Console.ReadLine());
                if (respuesta.ToUpper() != "NO")
                {
                    int carta = rand.Next(1, 12);
                    o.jugador = o.jugador.Append(carta).ToArray();
                    totalJugador += carta;
                    if (totalJugador > 21)
                    {
                        Console.WriteLine($"Lastima, has perdido, Tus cartas son {string.Join(", ", o.jugador)}\n\ntotal:{totalJugador}");
                        break;
                    }
                }
                else if (totalJugador > totalDealer && totalJugador < 21 || totalDealer > 21)
                {
                    Console.WriteLine($"Felicitaciones, has ganado, el Dealer tenía {string.Join(",",o.dealer)}");
                    break;
                }
                else
                {
                    Console.WriteLine($"Lastima, has perdido, el Dealer tenía {string.Join(",", o.dealer)}");
                    break;
                }
            } while (true);
        }
    }
    static int sumArray(int[] array)
    {
        int result = 0;
        foreach (int number in array)
        {
            result = result + number;
        }
        return result;
    }

    static void Main()
    {
        StartGame();
    }

}



Este es mi aporte, añadí cuando el dealer se pasa de 21 pierde, también cuando el jugado empata con el Dealer, se muestra como las reglas están a favor del dealer por lo tanto el jugador pierde.

 if (totalJugador > totalDealer && totalJugador < 22)
            {
                message = "venciste al Dealer, Felicidades";
                switchControl = "menu";
            }
            else if (totalJugador >= 22)
            {
                message = "perdiste vs el dealer, te pasaste de 21";
                switchControl = "menu";
            }
            else if (totalDealer >= 22 && totalJugador < 22)
            {
                message = "el Dealer se paso, tu ganas";
                switchControl = "menu";
            }
            else if (totalJugador == totalDealer)
            {
                message = "perdiste vs el dealer, las reglas dicen que si empatas con el dealer, él gana, lo siento";
                switchControl = "menu";
            }
            else if (totalDealer > totalJugador)
            {
                message = "El dealer gana, lo siento";
                switchControl = "menu";
            }
            else
            {
                message = "condición no valida";
            }
            Console.WriteLine(message);
            break;

Recordemos que si el Delear se pasa tambien pierde, este es un ejemplo de que pase si Dealer se llega pasar de 21

Console.WriteLine("veintiuno!");
int num = 0;
string Control = "";
string messahe = "";
string switchControl = "menu";
// 21
while (true)
{
    int totaljugador = 0;
    int Dealer = 0;
    switch (switchControl)
    {
        case "menu":
            Console.WriteLine("Bienvenido al C A S I N O");
            Console.WriteLine("Escriba '21' para jugar al 21");
            switchControl = Console.ReadLine();
            break;
        case "21":
            Console.WriteLine("Toma tu primera carta, Jugador, ");
            do
            {
                System.Random random = new System.Random();
                num = random.Next(1, 12);
                totaljugador = totaljugador + num;
                Console.WriteLine("Toma tu carta, Jugador");
                Console.WriteLine("Te salio el número, " + num);
                Console.WriteLine("¿Deseas otra carta?");
                Control = Console.ReadLine();
            }
            while (Control == "SI" || Control == "si" || Control == "Si" || Control == "yes");
            System.Random random1 = new System.Random();
            Dealer = random1.Next(13, 23);
            Console.WriteLine("El Dealer tiene: " + Dealer);
            Console.WriteLine("Tu tienes: " + totaljugador);
            if (totaljugador > Dealer && totaljugador < 22)
            {
                messahe = "Venciste al Dealer, UwU";
                switchControl = "menu";

            }
            else if (totaljugador <= Dealer && Dealer <= 21)
            {
                messahe = "Perdiste vs el Dealer, XD";
                switchControl = "menu";
            }
            else if (totaljugador >= 22)
            {
                messahe = "JAJAJAJAJA, te pasaste";
                switchControl = "menu";
            }
            else if (Dealer >= 22 && totaljugador < 22)
            {
                messahe = "JAJAJAJAJA, Se paso el Dealer, tu ganaste";
                switchControl = "menu";
            }
            else
            {
                messahe = "Condición no válida";
            }

            Console.WriteLine(messahe);
            break;
        default:
            Console.WriteLine("Valor Ingresado no valido");
            switchControl = "menu";
            break;
    }
}
![](https://static.platzi.com/media/user_upload/image-8344da9e-3e15-495d-95c6-8cf88d220e4d.jpg)```c# // C-A-S-I-N-O String opcionprincipal = ""; Console.WriteLine($"¿Desea iniciar? si/no\n"); opcionprincipal = Console.ReadLine(); do { //Declaro variables String Menu = ""; String Respuesta = ""; String message = ""; Random random = new Random(); int dealer = random.Next(10,22); int jugador = 0; int total = 0; //Inicio con las opciones Console.WriteLine("***********"); Console.WriteLine("**iniciar**"); Console.WriteLine("**cerrar***"); Console.WriteLine("***********"); Console.WriteLine($"Ingrese una opción\n"); Menu = Console.ReadLine(); switch (Menu) { case "iniciar": Console.WriteLine("¿Deseas jugar?"); Console.WriteLine("***********"); Console.WriteLine("****si*****"); Console.WriteLine("****no*****"); Console.WriteLine($"***********\n"); Respuesta = Console.ReadLine(); switch (Respuesta) { case "si": // Console.WriteLine("Ingresa un numero"); do { for (int i = 3; i > 0; i--) { Console.WriteLine($"Generando mano {i}.."); System.Threading.Thread.Sleep(1000); } jugador = random.Next(1,21); total = total + jugador; Console.WriteLine($"Tu total de cartas es {total} \n"); Console.WriteLine("Desea otra carta?"); } while(Console.ReadLine() != "no"); //Hago la validacion luego de tener un total if (total > dealer && total < 22) { message = $"Ganastes la mano con {total} y tu dealer tiene {dealer}"; } else if (total < dealer || total == dealer || total > 21) { message = $"Perdiste la mano tu total:{total}, tu dealer tiene {dealer}"; } else { message = "Opción no valida"; } break; //Cierro la operación case "no": for (int i = 5; i >= 0; i--) { Console.WriteLine($"Se cerrara la sesión en {i}.."); System.Threading.Thread.Sleep(1000); } break; default: Console.WriteLine("Opcion no valida"); break; } break; //cierro el ciclo case "cerrar": for (int i = 5; i >= 0; i--) { Console.WriteLine($"Se cerrara la sesión en {i}.."); System.Threading.Thread.Sleep(1000); } break; } Console.WriteLine(message); } while (opcionprincipal != "si"); ```// C-A-S-I-N-O String opcionprincipal = ""; Console.WriteLine($"¿Desea iniciar? si/no\n"); opcionprincipal = Console.ReadLine(); do { //Declaro variables String Menu = ""; String Respuesta = ""; String message = ""; Random random = new Random(); int dealer = random.Next(10,22); int jugador = 0; int total = 0; //Inicio con las opciones Console.WriteLine("\*\*\*\*\*\*\*\*\*\*\*"); Console.WriteLine("\*\*iniciar\*\*"); Console.WriteLine("\*\*cerrar\*\*\*"); Console.WriteLine("\*\*\*\*\*\*\*\*\*\*\*"); Console.WriteLine($"Ingrese una opción\n"); Menu = Console.ReadLine(); switch (Menu) { case "iniciar": Console.WriteLine("¿Deseas jugar?"); Console.WriteLine("\*\*\*\*\*\*\*\*\*\*\*"); Console.WriteLine("\*\*\*\*si\*\*\*\*\*"); Console.WriteLine("\*\*\*\*no\*\*\*\*\*"); Console.WriteLine($"\*\*\*\*\*\*\*\*\*\*\*\n"); Respuesta = Console.ReadLine(); switch (Respuesta) { case "si": // Console.WriteLine("Ingresa un numero"); do { for (int i = 3; i > 0; i--) { Console.WriteLine($"Generando mano {i}.."); System.Threading.Thread.Sleep(1000); } jugador = random.Next(1,21); total = total + jugador; Console.WriteLine($"Tu total de cartas es {total} \n"); Console.WriteLine("Desea otra carta?"); } while(Console.ReadLine() != "no"); //Hago la validacion luego de tener un total if (total > dealer && total < 22) { message = $"Ganastes la mano con {total} y tu dealer tiene {dealer}"; } else if (total < dealer || total == dealer || total > 21) { message = $"Perdiste la mano tu total:{total}, tu dealer tiene {dealer}"; } else { message = "Opción no valida"; } break; //Cierro la operación case "no": for (int i = 5; i >= 0; i--) { Console.WriteLine($"Se cerrara la sesión en {i}.."); System.Threading.Thread.Sleep(1000); } break; default: Console.WriteLine("Opcion no valida"); break; } break; //cierro el ciclo case "cerrar": for (int i = 5; i >= 0; i--) { Console.WriteLine($"Se cerrara la sesión en {i}.."); System.Threading.Thread.Sleep(1000); } break; } Console.WriteLine(message); } while (opcionprincipal != "si");
El bendito Dealer me empato ![](https://static.platzi.com/media/user_upload/image-c7a07906-467f-4457-92c4-3a8042692f26.jpg)
Este es mi aporte al reto. He hecho un juego de piedra, papel y tijera para un solo jugador. Asi quedo: ![](https://static.platzi.com/media/user_upload/image-53aa3c88-01fa-4d5c-a32b-82159f4bc7fd.jpg) ![](https://static.platzi.com/media/user_upload/image-515bca34-d4c9-418b-b9c5-0e63181c56a5.jpg) ![](https://static.platzi.com/media/user_upload/image-a9c3fb77-48d7-4119-8c7b-f849cbf35b12.jpg)![](https://static.platzi.com/media/user_upload/image-1235f92d-22bb-497c-9693-2311c56a7a3d.jpg) Trate de ordenarlo con el atajo o formatero de la fuente que tiene C#, que se hace con primero **Ctrl + k > Ctrl +d** son dos atajos el primero espera validación del segundo y luego hace el formateo se supone que ordena todo el código para que sea más legible; como en Eclipse JAVA que es mas facil solo es un unico atajo **Ctrl + Shift + f**
que feo como identa y eso es primordial de resto excelente
Piedra, papel, tijera ```js int TiroPc = 0; int TiroJugador = 0; int totalPc = 0; int totalJugador = 0; int totalEmpate = 0; string mensaje = ""; int numJugadas = 0; bool isValid; string input = ""; do { Random r = new Random(); TiroPc = r.Next(1, 3); do { Console.Write("Elija 1: Papel | 2: Piedra | 3: Tijera \n"); input = Console.ReadLine(); isValid = int.TryParse(input, out TiroJugador); if (!isValid) { Console.WriteLine("Entrada no válida. Por favor, ingresa un número entero."); } } while (!isValid); TiroJugador = Convert.ToInt32(input); if (TiroJugador == 1 || TiroJugador== 2 || TiroJugador == 3) { Console.WriteLine($"Jugador: {TiroJugador} PC: {TiroPc}"); if (TiroJugador == 1 && TiroPc == 1 || TiroJugador == 2 && TiroPc == 2 || TiroJugador == 3 && TiroPc == 3) { mensaje = "Empate"; totalEmpate = totalEmpate + 1; numJugadas = numJugadas + 1; } else if (TiroJugador == 1 && TiroPc == 2 || TiroJugador == 2 && TiroPc == 3 || TiroJugador == 3 && TiroPc == 1) { mensaje = "Ganaste"; totalJugador = totalJugador + 1; numJugadas = numJugadas + 1; } else { mensaje = "Perdiste"; totalPc = totalPc + 1; numJugadas = numJugadas + 1; } Console.WriteLine(mensaje); } else { Console.WriteLine("Opcion incorrecta"); } } while (totalPc<3 && totalJugador<3); Console.WriteLine($"Puntuacion final: Jugador: {totalJugador} | PC: {totalPc} | Empate: {totalEmpate}"); ```
Agregué un poco de "inteligencia" al Dealer en el mismo 21 : hasta donde he probado si funcionó ```c# if (monedas < 1) { ubicacion = "menu"; // regresa a ubicacion inicial break; } monedas--; totalJugador = 0; totalContrincante = 0; respuestaRepetir = "si"; // valor inicial de ronda System.Random rand = new System.Random(); bool continuar = true; Console.WriteLine("Llega a 21 sin pasarte o consigue más puntos que tu contrincante para ganar"); Console.WriteLine($"Monedas: {monedas}"); while (totalJugador < 21 && totalContrincante < 21 && continuar) // si todavia pueden pedir cartas y alguno continua pidiendo { if (respuestaRepetir == "si" || respuestaRepetir == "Si") // si el jugador pidió otra carta { carta = rand.Next(1, 12); totalJugador += carta; continuar = true; // el while de la partida continua } else { continuar = false; // el while de la partida terminara con esta vuelta } if (!(totalJugador < totalContrincante && !continuar)) // si el jugador va ganado o sigue tomando cartas { // calcular si el contrincante pedira otra carta if ((totalJugador >= totalContrincante) && // mientras no tenga mas que el jugador ((21 - totalContrincante >= 12) || //si no puede perder (rand.Next(1, 11) < 21 - totalContrincante) || // calculando riezgo de perder (totalJugador > totalContrincante))) // si va a perder por no pedir { carta = rand.Next(1, 12); totalContrincante += carta; continuar = true; // el while de la partida continua } } Console.WriteLine("Toma tu carta, Jugador\n" + $"Te salió el número {carta}\n" + $"Llevas {totalJugador}\n" + $"Contrincante: {totalContrincante}"); if (totalJugador < 21 && totalContrincante < 21 && continuar) { Console.WriteLine("¿Deseas otra carta?"); respuestaRepetir = Console.ReadLine(); } } ```
lo intente :( ```js // See https://aka.ms/new-console-template for more information using System.Reflection; Console.WriteLine("Hello World!"); int Piedra = 1; int Papel = 2; int Tijera = 3; string message = ""; string switchControl = "Menu"; int jugador = 0; int contrincante = 0; System.Random random = new System.Random(); while (true) { jugador = 0; contrincante = 0; switch (switchControl) { case "Menu": Console.WriteLine("Bienvenido a piedra papel o tijera"); Console.WriteLine("Escriba 'Jugar' para empezar"); switchControl = Console.ReadLine(); break; case "Jugar": do { Console.WriteLine("Escribe 1 para Piedra, 2 para Papel y 3 para Tijera"); jugador = Convert.ToInt32(Console.ReadLine()); Console.WriteLine($"Escogiste: {jugador} "); } while (jugador == 1 || jugador == 2 || jugador == 3); contrincante = random.Next(1, 3); Console.WriteLine($"el Contrincante saco: {contrincante}"); contrincante = random.Next(1, 3); if (jugador == 1 && contrincante == 2) { message = "Lo siendo perdiste"; switchControl = "menu"; } else if (jugador == 2 && contrincante == 1) { message = "Felicidades ganaste"; switchControl = "menu"; } else if (jugador == 3 && contrincante == 2) { message = "Felicidades ganaste"; switchControl = "menu"; } else { message = "Lo siento perdiste"; switchControl = "menu"; } Console.WriteLine(message); break; default: Console.WriteLine("Valor ingresado no valido en Piedra, Papel o Tijera"); break; } } ```// See <https://aka.ms/new-console-template> for more information using System.Reflection; Console.WriteLine("Hello World!"); int Piedra = 1; int Papel = 2; int Tijera = 3; string message = ""; string switchControl = "Menu"; int jugador = 0; int contrincante = 0; System.Random random = new System.Random(); while (true) { jugador = 0; contrincante = 0; switch (switchControl) { case "Menu": Console.WriteLine("Bienvenido a piedra papel o tijera"); Console.WriteLine("Escriba 'Jugar' para empezar"); switchControl = Console.ReadLine(); break; case "Jugar": do { Console.WriteLine("Escribe 1 para Piedra, 2 para Papel y 3 para Tijera"); jugador = Convert.ToInt32(Console.ReadLine()); Console.WriteLine($"Escogiste: {jugador} "); } while (jugador == 1 || jugador == 2 || jugador == 3); contrincante = random.Next(1, 3); Console.WriteLine($"el Contrincante saco: {contrincante}"); contrincante = random.Next(1, 3); if (jugador == 1 && contrincante == 2) { message = "Lo siendo perdiste"; switchControl = "menu"; } else if (jugador == 2 && contrincante == 1) { message = "Felicidades ganaste"; switchControl = "menu"; } else if (jugador == 3 && contrincante == 2) { message = "Felicidades ganaste"; switchControl = "menu"; } else { message = "Lo siento perdiste"; switchControl = "menu"; } Console.WriteLine(message); break; default: Console.WriteLine("Valor ingresado no valido en Piedra, Papel o Tijera"); break; } }
Random random = new Random(); string respuesta; Console.WriteLine("¡Bienvenido al juego de cartas!"); do { // El dealer saca una carta aleatoria int cartaDealer = random.Next(1, 11); Console.WriteLine($"El dealer sacó una carta: {cartaDealer}"); // El jugador saca una carta aleatoria int cartaJugador = random.Next(1, 11); Console.WriteLine($"Tú sacaste una carta: {cartaJugador}"); // Preguntar al jugador si quiere sacar otra carta Console.Write("¿Quieres sacar otra carta? (SI/NO): "); respuesta = Console.ReadLine().ToUpper(); // Limpiar la consola para la siguiente ronda Console.Clear(); } while (respuesta == "SI"); Console.WriteLine("¡Gracias por jugar!"); }
**💡MI SOLUCIÓN:** 🎮Lo que yo programé fue que cada vez que el jugador saque una carta, el dealer también sacará una carta y así hasta que el jugador ya no quiera otra carta y ambos tienen que mostrar sus sumatorias: ![](https://static.platzi.com/media/user_upload/juego-1-70bb50c9-eb4b-490a-a759-b4ba1f0c527a.jpg) ![](https://static.platzi.com/media/user_upload/juego-2-1ade532c-426e-4085-aa80-054923c58dd0.jpg) ![](https://static.platzi.com/media/user_upload/juego-3-6f55224d-ac7d-4a8e-93e5-48202fd642da.jpg)
Mi implementación del juego piedra, papel y tijera: ```js // Juego de pieda, papel y tijera con la computadora using System.Net.Http.Headers; void titulo() { Console.WriteLine("======================"); Console.WriteLine("PIEDRA, PAPEL Y TIJERA"); Console.WriteLine("======================"); Console.WriteLine("<Para terminar el juego digite salir>"); } string opcion; string opcionComputador; string[] opcionesComputador = { "piedra", "papel", "tijera" }; System.Random random = new System.Random(); do { // Mostrar titulo titulo(); // Leer la opción del usuario Console.Write("Escoge piedra, papel o tijera: "); opcion = Console.ReadLine().ToLower(); // Continuar con el juego siempre que no se digito salir if (opcion != "salir") { // Elegir una opción aleatoria del computador opcionComputador = opcionesComputador[random.Next(0, opcionesComputador.Length)]; // Mostrar opciones escogidos (usuario y computador) Console.WriteLine($"\nOpcion usuario: {opcion}"); Console.WriteLine($"Opcion computador: {opcionComputador}"); // Ver quien gano el juego switch (opcion) { case "piedra": switch (opcionComputador) { case "piedra": Console.WriteLine("\nEmpate!!\nNo gana nadie\n"); break; case "papel": Console.WriteLine("\nPierdes!!\nGana la computadora!!\n"); break; case "tijera": Console.WriteLine("\nFelicidades!!\nLe ganaste a la computadora\n"); break; } break; case "papel": switch (opcionComputador) { case "piedra": Console.WriteLine("\nFelicidades!!\nLe ganaste a la computadora\n"); break; case "papel": Console.WriteLine("\nEmpate!!\nNo gana nadie\n"); break; case "tijera": Console.WriteLine("\nPierdes!!\nGana la computadora!!\n"); break; } break; case "tijera": switch (opcionComputador) { case "piedra": Console.WriteLine("\nPierdes!!\nGana la computadora!!\n"); break; case "papel": Console.WriteLine("\nFelicidades!!\nLe ganaste a la computadora\n"); break; case "tijera": Console.WriteLine("\nEmpate!!\nNo gana nadie\n"); break; } break; default: Console.WriteLine("\nOpción incorrecta!!!\n"); break; } } } while (opcion != "salir"); ```// Juego de pieda, papel y tijera con la computadora using System.Net.Http.Headers; void titulo() { Console.WriteLine("======================"); Console.WriteLine("PIEDRA, PAPEL Y TIJERA"); Console.WriteLine("======================"); Console.WriteLine("\<Para terminar el juego digite salir>"); } string opcion; string opcionComputador; string\[] opcionesComputador = { "piedra", "papel", "tijera" }; System.Random random = new System.Random(); do { // Mostrar titulo titulo(); // Leer la opción del usuario Console.Write("Escoge piedra, papel o tijera: "); opcion = Console.ReadLine().ToLower(); // Continuar con el juego siempre que no se digito salir if (opcion != "salir") { // Elegir una opción aleatoria del computador opcionComputador = opcionesComputador\[random.Next(0, opcionesComputador.Length)]; // Mostrar opciones escogidos (usuario y computador) Console.WriteLine($"\nOpcion usuario: {opcion}"); Console.WriteLine($"Opcion computador: {opcionComputador}"); // Ver quien gano el juego switch (opcion) { case "piedra": switch (opcionComputador) { case "piedra": Console.WriteLine("\nEmpate!!\nNo gana nadie\n"); break; case "papel": Console.WriteLine("\nPierdes!!\nGana la computadora!!\n"); break; case "tijera": Console.WriteLine("\nFelicidades!!\nLe ganaste a la computadora\n"); break; } break; case "papel": switch (opcionComputador) { case "piedra": Console.WriteLine("\nFelicidades!!\nLe ganaste a la computadora\n"); break; case "papel": Console.WriteLine("\nEmpate!!\nNo gana nadie\n"); break; case "tijera": Console.WriteLine("\nPierdes!!\nGana la computadora!!\n"); break; } break; case "tijera": switch (opcionComputador) { case "piedra": Console.WriteLine("\nPierdes!!\nGana la computadora!!\n"); break; case "papel": Console.WriteLine("\nFelicidades!!\nLe ganaste a la computadora\n"); break; case "tijera": Console.WriteLine("\nEmpate!!\nNo gana nadie\n"); break; } break; default: Console.WriteLine("\nOpción incorrecta!!!\n"); break; } } } while (opcion != "salir");
Mi implementación del juego de piedra, papel y tijera `// Juego de pieda, papel y tijera con la computadora` `using System.Net.Http.Headers;` `void titulo()` `{` ` Console.WriteLine("======================");` ` Console.WriteLine("PIEDRA, PAPEL Y TIJERA");` ` Console.WriteLine("======================");` ` Console.WriteLine("<Para terminar el juego digite salir>");` `}` `string opcion;` `string opcionComputador;` `string[] opcionesComputador = { "piedra", "papel", "tijera" };` `System.Random random = new System.Random();` `do` `{` ` // Mostrar titulo` ` titulo();` ` // Leer la opción del usuario` ` Console.Write("Escoge piedra, papel o tijera: ");` ` opcion = Console.ReadLine().ToLower();` ` ` ` // Continuar con el juego siempre que no se digito salir` ` if (opcion != "salir")` ` {` ` // Elegir una opción aleatoria del computador` ` opcionComputador = opcionesComputador[random.Next(0, opcionesComputador.Length)];` ` // Mostrar opciones escogidos (usuario y computador)` ` Console.WriteLine($"\nOpcion usuario: {opcion}");` ` Console.WriteLine($"Opcion computador: {opcionComputador}");` ` // Ver quien gano el juego` ` switch (opcion)` ` {` ` case "piedra":` ` switch (opcionComputador)` ` {` ` case "piedra":` ` Console.WriteLine("\nEmpate!!\nNo gana nadie\n");` ` break;` ` case "papel":` ` Console.WriteLine("\nPierdes!!\nGana la computadora!!\n");` ` break;` ` case "tijera":` ` Console.WriteLine("\nFelicidades!!\nLe ganaste a la computadora\n");` ` break; ` ` }` ` break;` ` case "papel":` ` switch (opcionComputador)` ` {` ` case "piedra":` ` Console.WriteLine("\nFelicidades!!\nLe ganaste a la computadora\n");` ` break;` ` case "papel":` ` Console.WriteLine("\nEmpate!!\nNo gana nadie\n");` ` break;` ` case "tijera":` ` Console.WriteLine("\nPierdes!!\nGana la computadora!!\n");` ` break;` ` }` ` break;` ` case "tijera":` ` switch (opcionComputador)` ` {` ` case "piedra":` ` Console.WriteLine("\nPierdes!!\nGana la computadora!!\n");` ` break;` ` case "papel":` ` Console.WriteLine("\nFelicidades!!\nLe ganaste a la computadora\n");` ` break;` ` case "tijera":` ` Console.WriteLine("\nEmpate!!\nNo gana nadie\n");` ` break;` ` }` ` break;` ` default:` ` Console.WriteLine("\nOpción incorrecta!!!\n");` ` break;` ` }` ` } ` `} while (opcion != "salir");`
hola comparte el link donde esta el codigo de juego de cartas 21 <https://programacion--variada.blogspot.com/2024/02/codigo-de-juego-de-cartas-21-en-c.html#comments> el resultado es el siguiente ![](https://static.platzi.com/media/user_upload/image-79179a50-1566-4127-9a66-c042ce1587ff.jpg)
dejo mi aportación, solo me abrumo hacer un tic, tac, toe en codigo ```js // importar librerias de c# System.Random random = new Random(); // ingresar variables del codigo var gameSelection = ""; var start = "yes"; var player1 = 0; var newPlayer = ""; var computer = 0; int card = 0; var anotherCard = ""; int select = 0; // inicio de copilación del juego Console.WriteLine("***************************************************"); Console.WriteLine("************** WELCOME TO BIG CASINO **************"); Console.WriteLine("***************************************************"); while (start == "yes") { // variables player1 = 0; newPlayer = ""; computer = 0; start = ""; // inicia dialogo del juego Console.WriteLine("Select the game you want to play!"); Console.WriteLine("1. Rock, Paper and scissors"); Console.WriteLine("2. BlackJack"); Console.WriteLine("3. Tic Tac Toe"); Console.WriteLine("4. Close the game"); gameSelection = Console.ReadLine(); switch (gameSelection) { case "1": Console.WriteLine("Welcome to Rock, Paper and Scissors game!"); Console.WriteLine("Select Rock, Paper or Scissors"); Console.WriteLine("'rock'"); Console.WriteLine("'raper'"); Console.WriteLine("'scissors'"); newPlayer = Console.ReadLine(); Console.WriteLine($"Player 1 choose: {newPlayer}"); computer = random.Next(1,3); if (newPlayer == "rock" && computer == 3) { Console.WriteLine("Your Oponent choose: Scissors "); Console.WriteLine("You are the winner !!!"); } else if (newPlayer == "paper" && computer == 1) { Console.WriteLine("Your Oponent choose: Rock "); Console.WriteLine("You are the winner !!!"); } else if (newPlayer == "scissors" && computer == 2) { Console.WriteLine("Your Oponent choose: Paper "); Console.WriteLine("You are the winner !!!"); } else if (newPlayer == "rock" && computer == 2) { Console.WriteLine("Your Oponent choose: Paper "); Console.WriteLine("oh no, You lose!!!"); } else if (newPlayer == "paper" && computer == 3) { Console.WriteLine("Your Oponent choose: Scissors "); Console.WriteLine("oh no, You lose!!!"); } else if (newPlayer == "scissors" && computer == 1) { Console.WriteLine("Your Oponent choose: rock "); Console.WriteLine("oh no, You lose!!!"); } else { Console.WriteLine("Draw !!! "); } break; case "2": Console.WriteLine("Welcome to Black Jack game!"); // generar bucle interno para hacer funcionar un movimiento del juego. do { card = random.Next(1, 11); player1 = player1 + card; Console.WriteLine($"Select your first card: {card}"); Console.WriteLine("¿do you want to pick another card?"); anotherCard = Console.ReadLine(); } while ( anotherCard == "si" || anotherCard == "Si" || anotherCard == "SI" || anotherCard == "Yes" || anotherCard == "yes" || anotherCard == "YES" || anotherCard == "Y" || anotherCard == "y"); // asignar valor a la computadora para retar al jugador. computer = random.Next(14, 20); Console.WriteLine($"the crupier stand his hand with: {computer}"); // ingresar los posibles resultados del juego. if (player1 > computer && player1 < 22) { Console.WriteLine("Congratulations Player 1 win !!!"); } else if (player1 < computer) { Console.WriteLine("Oh no! the crupier has better hand, You lose..."); } else if (player1 >= 22) { Console.WriteLine("you has a number bigger than 21, You lose..."); } else if (player1 == 21) { Console.WriteLine("Oh my Gosh!! you have a BlackJack, Congratulations, you are the best!!!!"); } break; case "3": Console.WriteLine("Welcome to Tic Tac Toe game!"); break; case "4": Console.WriteLine("Continue?"); Console.WriteLine("Yes. to continue."); Console.WriteLine("Enter or any button to close."); start = Console.ReadLine(); break; } }; ```// importar librerias de c# System.Random random = new Random(); // ingresar variables del codigo var gameSelection = ""; var start = "yes"; var player1 = 0; var newPlayer = ""; var computer = 0; int card = 0; var anotherCard = ""; int select = 0; // inicio de copilación del juego Console.WriteLine("\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*"); Console.WriteLine("\*\*\*\*\*\*\*\*\*\*\*\*\*\* WELCOME TO BIG CASINO \*\*\*\*\*\*\*\*\*\*\*\*\*\*"); Console.WriteLine("\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*"); while (start == "yes") { // variables player1 = 0; newPlayer = ""; computer = 0; start = ""; // inicia dialogo del juego Console.WriteLine("Select the game you want to play!"); Console.WriteLine("1. Rock, Paper and scissors"); Console.WriteLine("2. BlackJack"); Console.WriteLine("3. Tic Tac Toe"); Console.WriteLine("4. Close the game"); gameSelection = Console.ReadLine(); switch (gameSelection) { case "1": Console.WriteLine("Welcome to Rock, Paper and Scissors game!"); Console.WriteLine("Select Rock, Paper or Scissors"); Console.WriteLine("'rock'"); Console.WriteLine("'raper'"); Console.WriteLine("'scissors'"); newPlayer = Console.ReadLine(); Console.WriteLine($"Player 1 choose: {newPlayer}"); computer = random.Next(1,3); if (newPlayer == "rock" && computer == 3) { Console.WriteLine("Your Oponent choose: Scissors "); Console.WriteLine("You are the winner !!!"); } else if (newPlayer == "paper" && computer == 1) { Console.WriteLine("Your Oponent choose: Rock "); Console.WriteLine("You are the winner !!!"); } else if (newPlayer == "scissors" && computer == 2) { Console.WriteLine("Your Oponent choose: Paper "); Console.WriteLine("You are the winner !!!"); } else if (newPlayer == "rock" && computer == 2) { Console.WriteLine("Your Oponent choose: Paper "); Console.WriteLine("oh no, You lose!!!"); } else if (newPlayer == "paper" && computer == 3) { Console.WriteLine("Your Oponent choose: Scissors "); Console.WriteLine("oh no, You lose!!!"); } else if (newPlayer == "scissors" && computer == 1) { Console.WriteLine("Your Oponent choose: rock "); Console.WriteLine("oh no, You lose!!!"); } else { Console.WriteLine("Draw !!! "); } break; case "2": Console.WriteLine("Welcome to Black Jack game!"); // generar bucle interno para hacer funcionar un movimiento del juego. do { card = random.Next(1, 11); player1 = player1 + card; Console.WriteLine($"Select your first card: {card}"); Console.WriteLine("¿do you want to pick another card?"); anotherCard = Console.ReadLine(); } while ( anotherCard == "si" || anotherCard == "Si" || anotherCard == "SI" || anotherCard == "Yes" || anotherCard == "yes" || anotherCard == "YES" || anotherCard == "Y" || anotherCard == "y"); // asignar valor a la computadora para retar al jugador. computer = random.Next(14, 20); Console.WriteLine($"the crupier stand his hand with: {computer}"); // ingresar los posibles resultados del juego. if (player1 > computer && player1 < 22) { Console.WriteLine("Congratulations Player 1 win !!!"); } else if (player1 < computer) { Console.WriteLine("Oh no! the crupier has better hand, You lose..."); } else if (player1 >= 22) { Console.WriteLine("you has a number bigger than 21, You lose..."); } else if (player1 == 21) { Console.WriteLine("Oh my Gosh!! you have a BlackJack, Congratulations, you are the best!!!!"); } break; case "3": Console.WriteLine("Welcome to Tic Tac Toe game!"); break; case "4": Console.WriteLine("Continue?"); Console.WriteLine("Yes. to continue."); Console.WriteLine("Enter or any button to close."); start = Console.ReadLine(); break; } };
```c# int totalJugador = 0; int totalDealer = 0; int num = 0; string message = ""; string switchControl = "menu"; string controlOtraCarta = ""; System.Random r = new System.Random(); //blackjack while (!switchControl.Equals("salir")) { switch (switchControl) { case "menu": Console.WriteLine("Welcome al casino"); Console.WriteLine("escriba 21 para jugar 21"); switchControl = Console.ReadLine(); break; case "21": Console.WriteLine("Toma tu primera carta"); totalJugador = 0; do { num = r.Next(1, 12); totalJugador += num; Console.WriteLine("Toma tu carta. \nTu carta es: " + num); Console.WriteLine("deseas otra carta?"); controlOtraCarta = Console.ReadLine(); } while (controlOtraCarta.Equals("Si") || controlOtraCarta.Equals("si")); totalDealer = r.Next(14, 21); if (totalJugador > totalDealer && totalJugador <= 21) { message = "Venciste al dealer"; } else if (totalJugador <= totalDealer || totalJugador > 21 ) { message = "perdiste:("; } else { message = "condicion no valida"; } Console.WriteLine(message); Console.WriteLine($"tus cartas suman: {totalJugador}, total dealer: {totalDealer}"); Console.WriteLine("que deseas hacer ahora?"); switchControl = Console.ReadLine(); break; case "salir": Console.WriteLine("te veo en una proxima"); break; default: Console.WriteLine("valor ingresado no valido"); break; } } ```este es mi codigo que tiene un control de salida del juego

Juego Adivinar número aleatorio

Random generador= new Random(); // Crear un objeto Random para generar números aleatorios.

 // Generar un número aleatorio entre 1 y 100 y almacenarlo en numeroAleatorio.
int numeroAleatorio = generador.Next(1, 101);
 // Inicializar variables para llevar un registro de los intentos y la suposición del jugador.

int  intentos = 0;   //Se utiliza para llevar un registro del número de intentos del jugador.
int  intento; //Almacena la suposición del jugador en cada intento.



// Mostrar mensajes de bienvenida al juego.
Console.WriteLine("Bienvenido al juego de adividar el número.");
Console.WriteLine("Intenta adivinar un número entre 1 y 100.");

// Iniciar un bucle do-while que continuará hasta que el jugador adivine correctamente
do
{
	 // Pedir al jugador que ingrese su suposición.

    Console.WriteLine("Ingresa tu suposición: ");

    // Leer la entrada del jugador y tratar de convertirla en un número entero (int).

    if (int.TryParse(Console.ReadLine(), out intento))
    {
        // Incrementar el contador de intentos.
        intentos++;

        // Comprobar si la suposición es menor que el número aleatorio.
        if (intento < numeroAleatorio)
        {
            Console.WriteLine("El número que estas buscando es mayor");
        }
        // Comprobar si la suposición es mayor que el número aleatorio.

        else if (intento > numeroAleatorio)
        {
            Console.WriteLine("El número que estas buscando es menor.");
        }
        else { Console.WriteLine($"¡Felicidades Adivinanste el numero {numeroAleatorio} en {intentos} intentos."); }
    }

    else
    {
        // Si la entrada del jugador no se pudo convertir en un número, mostrar un mensaje de error.

        Console.WriteLine("Por favor, ingresa un número valido");
    }
} while (intento != numeroAleatorio); // Continuar el bucle mientras la suposición no sea igual al número aleatorio.
{
    Console.WriteLine("Gracias por jugar."); // Mostrar un mensaje de agradecimiento por jugar una vez que el jugador adivina correctamente.

} comentame le codigo

https://github.com/DamianJavierAguirreCerullo/Black-Jack

aca les dejo mi aporte

using System;
using System.ComponentModel.Design;
using System.Diagnostics.Metrics;
using System.Reflection;
using System.Xml.Linq;
using static System.Net.Mime.MediaTypeNames;

System.Random random = new System.Random();

int cardValue = 0;

string drawControlString = "yes";

string cardString = "";

string switchControl = "menu";

string finalMessage = "\nIf You want to play again type 21 and enter.\n" +
    "If you want to go to the menu type menu and enter\n" +
    "If quit type exit and enter";

int playerCards = 0;

int houseCards = 0;

int randomNumber = 0;

bool housePass = false; 

bool playerPass = false; 

List<string> newDeck = new List<string>
{
"As of Spades","As of Spades","2 of Spades","2 of Spades","3 of Spades","3 of Spades","4 of Spades","4 of Spades","5 of Spades","5 of Spades","6 of Spades","6 of Spades","7 of Spades","7 of Spades","8 of Spades","8 of Spades","9 of Spades","9 of Spades","10 of Spades","10 of Spades","Jack of Spades","Jack of Spades","Queen of Spades","Queen of Spades","King of Spades","King of Spades","As of Hearts","As of Hearts","2 of Hearts","2 of Hearts","3 of Hearts","3 of Hearts","4 of Hearts","4 of Hearts","5 of Hearts","5 of Hearts","6 of Hearts","6 of Hearts","7 of Hearts","7 of Hearts","8 of Hearts","8 of Hearts","9 of Hearts","9 of Hearts","10 of Hearts","10 of Hearts","Jack of Hearts","Jack of Hearts","Queen of Hearts","Queen of Hearts","King of Hearts","King of Hearts","As of Diamonds","As of Diamonds","2 of Diamonds","2 of Diamonds","3 of Diamonds","3 of Diamonds","4 of Diamonds","4 of Diamonds","5 of Diamonds","5 of Diamonds","6 of Diamonds","6 of Diamonds","7 of Diamonds","7 of Diamonds","8 of Diamonds","8 of Diamonds","9 of Diamonds","9 of Diamonds","10 of Diamonds","10 of Diamonds","Jack of Diamonds","Jack of Diamonds","Queen of Diamonds","Queen of Diamonds","King of Diamonds","King of Diamonds","As of Clubs","As of Clubs","2 of Clubs","2 of Clubs","3 of Clubs","4 of Clubs","4 of Clubs","5 of Clubs","5 of Clubs","6 of Clubs","6 of Clubs","7 of Clubs","7 of Clubs","8 of Clubs","8 of Clubs","9 of Clubs","9 of Clubs","10 of Clubs","10 of Clubs","Jack of Clubs","Jack of Clubs","Queen of Clubs","Queen of Clubs","King of Clubs","King of Clubs"
};

List<string> cardsToDraw = new List<string>
{
    "As of Spades",
    "As of Spades",
    "2 of Spades",
    "2 of Spades",
    "3 of Spades",
    "3 of Spades",
    "4 of Spades",
    "4 of Spades",
    "5 of Spades",
    "5 of Spades",
    "6 of Spades",
    "6 of Spades",
    "7 of Spades",
    "7 of Spades",
    "8 of Spades",
    "8 of Spades",
    "9 of Spades",
    "9 of Spades",
    "10 of Spades",
    "10 of Spades",
    "Jack of Spades",
    "Jack of Spades",
    "Queen of Spades",
    "Queen of Spades",
    "King of Spades",
    "King of Spades",
    "As of Hearts",
    "As of Hearts",
    "2 of Hearts",
    "2 of Hearts",
    "3 of Hearts",
    "3 of Hearts",
    "4 of Hearts",
    "4 of Hearts",
    "5 of Hearts",
    "5 of Hearts",
    "6 of Hearts",
    "6 of Hearts",
    "7 of Hearts",
    "7 of Hearts",
    "8 of Hearts",
    "8 of Hearts",
    "9 of Hearts",
    "9 of Hearts",
    "10 of Hearts",
    "10 of Hearts",
    "Jack of Hearts",
    "Jack of Hearts",
    "Queen of Hearts",
    "Queen of Hearts",
    "King of Hearts",
    "King of Hearts",
    "As of Diamonds",
    "As of Diamonds",
    "2 of Diamonds",
    "2 of Diamonds",
    "3 of Diamonds",
    "3 of Diamonds",
    "4 of Diamonds",
    "4 of Diamonds",
    "5 of Diamonds",
    "5 of Diamonds",
    "6 of Diamonds",
    "6 of Diamonds",
    "7 of Diamonds",
    "7 of Diamonds",
    "8 of Diamonds",
    "8 of Diamonds",
    "9 of Diamonds",
    "9 of Diamonds",
    "10 of Diamonds",
    "10 of Diamonds",
    "Jack of Diamonds",
    "Jack of Diamonds",
    "Queen of Diamonds",
    "Queen of Diamonds",
    "King of Diamonds",
    "King of Diamonds",
    "As of Clubs",
    "As of Clubs",
    "2 of Clubs",
    "2 of Clubs",
    "3 of Clubs",
    "4 of Clubs",
    "4 of Clubs",
    "5 of Clubs",
    "5 of Clubs",
    "6 of Clubs",
    "6 of Clubs",
    "7 of Clubs",
    "7 of Clubs",
    "8 of Clubs",
    "8 of Clubs",
    "9 of Clubs",
    "9 of Clubs",
    "10 of Clubs",
    "10 of Clubs",
    "Jack of Clubs",
    "Jack of Clubs",
    "Queen of Clubs",
    "Queen of Clubs",
    "King of Clubs",
    "King of Clubs"
};

List<string> cardsPlayer = new List<string>();

List<string> cardsHouse = new List<string>();

void ShowCards()
{
    Console.WriteLine("\nPlayer Cards\n");
    foreach (var item in cardsPlayer)
    {
        Console.WriteLine($"{item} player");
    }
    Console.WriteLine($"\nYou have: {playerCards}\n");

    Console.WriteLine("House Cards\n");
    foreach (var item in cardsHouse)
    {
        Console.WriteLine($"{item} house");
    }
    Console.WriteLine($"\nThe house have: {houseCards}\n");
}


void NeverTheSame()
{
    randomNumber = random.Next(0, cardsToDraw.Count);
}

void DrawACard()
{
    NeverTheSame();
    cardString = cardsToDraw[randomNumber];
    Converter();
    cardsToDraw.RemoveAt(randomNumber);
}

void Converter() 
{
    cardValue = 0;

    if (cardString.Contains("As"))
    {
        if( (playerCards + 11) > 21 )
        {
            cardValue = 1;
        }
        else
        {
            cardValue = 11;
        }
    }
    else if (cardString.Contains("Jack") || cardString.Contains("Queen") || cardString.Contains("King") || cardString.Contains("10"))
    {
        cardValue = 10;
    }
    else
    {
        string character = cardString.Substring(0, 1);
        cardValue = int.Parse(character);
    }
}

void BegginTheGame()
{
    var counter = 0;
    while (counter < 2)
    {
        DrawACard();
        cardsPlayer.Add(cardString);
        playerCards += cardValue;

        DrawACard();
        cardsHouse.Add(cardString);
        houseCards += cardValue;
        counter++;
    }

}

void TheWinnerIs() 
{
    if (houseCards == 21)
    {
        Console.WriteLine("\nthe house win agains you\n");
    }

    else if ((playerCards >= 22 || houseCards >= playerCards) && houseCards <= 20)
    {
        Console.WriteLine("\nthe house win agains you\n");
    }

    else
    {
        Console.WriteLine("\nyou win the game\n");
    }
}

void Cleaning()
{
    cardsToDraw = newDeck;
    cardsPlayer.Clear();
    cardsHouse.Clear();
    playerCards = 0;
    houseCards = 0;
    playerPass = false;
    housePass = false;
    drawControlString = "yes";
}


while (true)
{

    switch (switchControl)
    {

        case "menu":

            Console.WriteLine("Welcome to the C A S I N O");
            Console.WriteLine("Type 21 and enter to play black jack");
            Console.WriteLine("Or type exit and enter to quit");
            switchControl = Console.ReadLine();
            break;

        case "how to play":
            Console.WriteLine("\nTo play 21 black jack you have to know:\n" +
            "The one who has come the closes to the 21 without passing it wins the match\n" +
            "in a tie the house always wins\n" +
            "at the beggining of the match you and your opponent have 2 cards in the table\n" +
            "the score of the cards is: from 2 to 10 they have the value of the card\n" +
            "the cards jack,queen and king all 3 have the same value 10\n" +
            "the As equals 1 or 11 depend if you pass 21 with 11 their value going to be 1");

            Console.WriteLine("\nType 21 and enter to play black jack");
            Console.WriteLine("Or type exit and enter to quit");
            switchControl = Console.ReadLine();
            break;

        case "21":
            BegginTheGame();
            while (!housePass && !playerPass) {

                ShowCards();


                    while (playerCards <= 20 && drawControlString == "yes" && !housePass)
                    {
                        Console.WriteLine("You want to take another card? type yes to draw another card\n");
                        drawControlString = Console.ReadLine();



                            if (houseCards <= 15)
                            {
                                DrawACard();
                                cardsHouse.Add(cardString);
                                houseCards += cardValue;
                                ShowCards();
                    }
                            else
                            {
                                housePass = true;
                            }

                            if (drawControlString == "yes")
                            {
                                DrawACard();
                                cardsPlayer.Add(cardString);
                                playerCards += cardValue;
                                ShowCards();
                            }

                            else if (drawControlString != "yes")
                            {
                                playerPass = true;
                            }
                }






            }

            TheWinnerIs();
            Cleaning();
            Console.WriteLine($"{finalMessage}");
            switchControl = Console.ReadLine();
            break;



        case "exit":
            Environment.Exit(0);   
            break;
            
        default:
            Console.WriteLine("\nERROR GOING BACK TO THE MAIN MENU\n");
            switchControl = "menu";
            break;
    }
}

Funciona pero tiene varias cosas por mejorar

// BlackJack

int yourCards = 0;
int dealersCards = 0;
string message = “”;
string switchControl = “21”;
System.Random random = new System.Random();
int randomNum;

while (true)

{
yourCards = 0;
dealersCards = 0;

switch (switchControl)
{
    case "menu":
        Console.WriteLine("Welcome!");
        Console.WriteLine("Enter '21' to Start! ");
        switchControl = Console.ReadLine();
        break;

    case "21":

        do
        {
            randomNum = random.Next(1, 12);
            Console.WriteLine($"Your card is: {randomNum}");
            Console.WriteLine("Do You want to take another card? 'yes' or 'no' ");
            yourCards += randomNum;
            Console.WriteLine($"Your current score is: {yourCards}");



        } while (Console.ReadLine() == "yes");

        dealersCards = random.Next(14, 23);
        Console.WriteLine($"Dears finally score was: {dealersCards}");

        if (yourCards == dealersCards)

        {
            message = "It's a draw!";
            switchControl = "menu";
        }

        else if (yourCards > dealersCards && yourCards < 22)
        {
            message = "Great! You Win!";
            switchControl = "menu";
        }

        else if (yourCards > 21)
        {
            message = "Sorry! You lose. Your score is over 21.";
            switchControl = "menu";
        }

        else if (dealersCards > yourCards && dealersCards < 22)
        {
            message = "Dealer Win!";
            switchControl = "menu";
        }

        else if (dealersCards > 21)
        {
            message = "You Win! Dealers score is over 21.";
            switchControl = "menu";
        }

        if (yourCards == 21)
        {
            message = $"BlackJack! You got {yourCards}";
            switchControl = "menu";
        }

        else if (dealersCards == 21)
        {
            message = $"BlackJack! Dealer got {yourCards}";
            switchControl = "menu";
        }

        Console.WriteLine(message);
        break;
    default:
        Console.WriteLine("Sorry Enter an other option.");
        break;  

}

}

namespace ApliConsola
{
internal class Program
{
static void Main(string[] args)
{
System.Random random = new System.Random();

        Console.WriteLine("Hola juguemos a piedra, papel o tijera!");
        int opcion = 0;
        int maquina = 0;
        int jugar = 0;
        int cantGano = 0;
        int cantGanoMaq = 0;
        int empate = 0;
        do {
            
            switch (opcion)
            {
                case 0:
                    maquina = random.Next(1, 3);
                    Console.WriteLine("Menu");
                    Console.WriteLine("Jugar: ");
                    Console.WriteLine("1- piedra");
                    Console.WriteLine("2- papel");
                    Console.WriteLine("3- tijera");
                    Console.WriteLine("4- TERMINAR");
                    opcion = Convert.ToInt32(Console.ReadLine());
                    
                    break;
                case 1:
                    if (maquina == 1)
                    {
                        Console.WriteLine("UD ELIGIO PIEDRA");
                        Console.WriteLine("EMPATE");
                        Console.WriteLine($" MAQUINA ELIGIO {maquina} PIEDRA");
                        empate = empate + 1;
                        opcion = 0;
                        Console.WriteLine("----------------------------------------");
                    }else if (maquina == 2)
                    {
                        Console.WriteLine("UD ELIGIO PIEDRA");
                        Console.WriteLine($"gano MAQUINA, ELIGIO { maquina} PAPEL");
                        cantGanoMaq = cantGanoMaq + 1;
                        opcion = 0;
                        Console.WriteLine("----------------------------------------");
                    }
                    else
                    {
                        Console.WriteLine("UD ELIGIO PIEDRA");
                        Console.WriteLine($"UD GANO, MAQUINA ELIGIO {maquina} TIJERA");
                        cantGano = cantGano + 1;
                        opcion = 0;
                        Console.WriteLine("----------------------------------------");
                    }
                    break;
                case 2:
                    if (maquina == 1)
                    {
                        Console.WriteLine("UD ELIGIO PAPEL");
                        Console.WriteLine($"UD GANO, MAQUINA ELIGIO {maquina} PIEDRA");
                        cantGano = cantGano + 1;
                        opcion = 0;
                        Console.WriteLine("----------------------------------------");
                    }
                    else if(maquina == 2)
                    {
                        Console.WriteLine("UD ELIGIO PAPEL");
                        Console.WriteLine($"empate, MAQUINA ELIGIO {maquina} PAPEL");
                        empate = empate + 1;
                        opcion= 0;
                        Console.WriteLine("----------------------------------------");
                    }
                    else
                    {
                        Console.WriteLine("UD ELIGIO PAPEL");
                        Console.WriteLine($"gano MAQUINA, ELIGIO {maquina} TIJERA");
                        cantGanoMaq = cantGanoMaq + 1;
                        opcion = 0;
                        Console.WriteLine("----------------------------------------");
                    }
                    break;
                case 3:
                    if (maquina == 1)
                    {
                        Console.WriteLine("UD ELIGIO TIJERA");
                        Console.WriteLine($"gano MAQUINA, ELIGIO {maquina} PIEDRA");
                        cantGanoMaq = cantGanoMaq + 1;
                        opcion = 0;
                        Console.WriteLine("----------------------------------------");
                    }
                    else if (maquina == 2)
                    {
                        Console.WriteLine("UD ELIGIO TIJERA");
                        Console.WriteLine($"UD GANO, MAQUINA ELIGIO {maquina} PAPEL");
                        cantGano = cantGano + 1;
                        opcion = 0;
                        Console.WriteLine("----------------------------------------");
                    }
                    else
                    {
                        Console.WriteLine("UD ELIGIO TIJERA");
                        Console.WriteLine($"empate, MAQUINA ELIGIO {maquina} TIJERA");
                        empate = empate + 1;
                        opcion = 0;
                        Console.WriteLine("----------------------------------------");
                    }
                    break;
                case 4:
                    Console.WriteLine("----------------------------------------");
                    Console.WriteLine("****************************************");
                    Console.WriteLine("----------------------------------------");
                    Console.WriteLine("termino el juego");
                    Console.WriteLine("----------------------------------------");
                    Console.WriteLine($"MAQUINA GANO {cantGanoMaq}  PARTIDOS");
                    Console.WriteLine($"UD GANO {cantGano} PARTIDOS");
                    Console.WriteLine($"EMPATES {empate} PARTIDOS");
                    Console.WriteLine("----------------------------------------");
                    Console.WriteLine("****************************************");
                    Console.WriteLine("----------------------------------------");
                    cantGano = 0;
                    cantGanoMaq = 0;
                    empate = 0;
                        opcion = 0;
                                           
                    break;
                


                default:
                    Console.WriteLine("no puso opcion correcta");
                    jugar = 5;

                    break;
            }
        }while (jugar == 0);
    }
    
}

}
//if (jugador == 4)
//{
// jugar = 0;
//}
//else {
// if(maquina == 1 && jugador == 3)
// {
// Console.WriteLine(“gano maquina”);
// Console.WriteLine(maquina);
// opcion = 0;
// jugar = 1;
// }
// else if(maquina == 2 && jugador == 1)
// {
// Console.WriteLine(“gano maquina”);
// Console.WriteLine(maquina);
// opcion = 0;
// jugar = 1;
// }
// else if(maquina == 3 && jugador == 2)
// {
// Console.WriteLine(“gano maquina”);
// Console.WriteLine(maquina);
// opcion = 0;
// jugar = 1;
// }
// else
// {
// Console.WriteLine(“ud gano”);
// Console.WriteLine(maquina);
// opcion = 0;
// jugar = 1;
// }

Este es un ejemplo muy básico. pero ayudara a entender:

int month = 11;

switch (month)
{

case 1:
    Console.WriteLine("January");
    break;
case 2:
    Console.WriteLine("Ferbruary");
    break;
case 3:
    Console.WriteLine("March");
    break;
case 4:
    Console.WriteLine("April");
    break;
case 5:
    Console.WriteLine("May");
    break;
case 6:
    Console.WriteLine("Jun");
    break;
case 7:
    Console.WriteLine("JULY");
    break;
case 8:
    Console.WriteLine("August");
    break;
case 9:
    Console.WriteLine("September");
    break;
case 10:
    Console.WriteLine("October");
    break;
case 11:
    Console.WriteLine("November");
    break;
case 12:
    Console.WriteLine("December");
    break;
default:
    Console.WriteLine("ERROR");
break;

}

esto hice yo para la cuestión de las monedas

Console.WriteLine("Hello, World!");
int totalJugador = 0;
int totalDiler = 0;
int num = 0;
int monedas = 3;
string messege = "";
string switchControl = "menu";
string controlDeCarta;
System.Random random = new System.Random();


while (monedas > 0)
{
   
    totalJugador = 0;
    totalDiler = 0;
    Console.WriteLine($"tienes {monedas} monedas");
    


    switch (switchControl)
    {
        case "menu":
            Console.WriteLine("Welcome al c a s i n o");
            Console.WriteLine("Escriba ‘21’ para jugar al 21");
            switchControl = Console.ReadLine();
            break;

        case "21":
            Console.WriteLine("bienvenida a blackjack");

            do
            {
               
                num = random.Next(1, 12);
                totalJugador = totalJugador + num;
                totalDiler = random.Next(11,21);
                Console.WriteLine($"toma una carta: {num} tu total es {totalJugador}");
                Console.WriteLine("¿quieres otra carta?(escribe 1 para si o 0 para no)");
                controlDeCarta = Console.ReadLine();
            }
            while (controlDeCarta == "1");
                
            

            if (totalJugador < totalDiler)
            {
                messege = "perdiste D: el diler tenia " + totalDiler;
                switchControl = "menu";
                monedas--;

            }


            else if (totalJugador > 21)
            {
                messege = "perdiste D: te pasaste de 21 ";
                switchControl = "menu";
                monedas--;
               
            }

            else if (totalJugador == 21)
            {
                messege = "Blackjak, ganaste el diler tenia " + totalDiler + " toma una moneda";
                switchControl = "menu";
                monedas++;

            }

            else if (totalJugador > totalDiler)
            {
                messege = "ganaste :3 el diler tenia " + totalDiler + " toma una moneda";
                switchControl = "menu";
                monedas++;

            }

            else if (totalJugador == totalDiler)
            {
                messege = "empate, pero en caso de empate la casa gana :p";
                switchControl = "menu";
                monedas--;

            }

            else
            {
                messege = "que putas mk, rompiste el juego, asi de mal juegas wn";
                switchControl = "menu";
                monedas = monedas + 1000;
                
            }

            Console.WriteLine(messege);

            break;
        default:
            Console.WriteLine("Valor ingresa no válido en el  C A S I N O");
            switchControl = "menu";
            break;
    }
}


    Console.WriteLine("te quedaste sin monedas, por imbécil ya no puedes jugar");

Este es mi versión del 21, pero sin bot xD.

// Primero debemos saber en que momento se detendrá el While
// Y eso se hará cuando el jugador no quiera elegir un naipe más
// Declaramos nuestras variables
// Aquí guardaremos la respuesta del usuario, que puede ser S/N (si o no)
// Si vamos a usar esta variable en una condición antes de que sea inicializada,
// Es necesario hacerlo antes asignándole un valor por defecto, yo le pondré 'S'
char userAnswer = 'S';
// Aquí sumaremos los valores de los naipes
int sumCards = 0;
// Estas variables serán de apoyo
int randomCard;
int additionalCard;
// Creamos una variable aleatoria Random para simular la acción de escoger un naipe
Random nextCard = new Random();
// Declaramos nuestro While
// El while se ejecutará mientras la respuesta del usuario sea S
while (userAnswer == 'S')
{
    // Le preguntamos al usuario si desea escoger un naipe
    Console.WriteLine("¿Desea seleccionar un naipe? (S/N)");
    userAnswer = char.Parse(Console.ReadLine());
    // Si dice que si, sumaremos el valor del naipe
    // En caso contrario, no haremos nada
    if (userAnswer == 'S')
    {
        // Con nuestra variable random, le diremos que queremos
        // un valor aleatorio entre el 1 y el 13, y lo sumamos
        randomCard = nextCard.Next(1, 13);
        // Mostramos el naipe que el usuario seleccionó
        Console.WriteLine($"El naipe seleccionado tiene el valor de: {randomCard}");
        // Y lo sumamos
        sumCards += randomCard;
        // Ahora vamos a evaluar si la suma supera el número 21
        if (sumCards > 21)
        {
            // Como ha superado el número 21, el usuario pierde.
            Console.WriteLine("¡¡Lo sentimos, usted ha perdido!!");
            // Con la instrucción break, forzamos a que el While termine
            break;
        }
    }
}
// Aquí vamos a evaluar si el usuario dijo que no
// Porque si perdió sacando muchos naipes, entonces el valor
// de userAnswer seguirá siendo S
if (userAnswer == 'N')
{
    // El programa sacará un naipe adicional
    additionalCard = nextCard.Next(1, 13);
    // Mostramos el naipe que el programa seleccionó.
    Console.WriteLine($"El naipe seleccionado por el programa tiene el valor de: {additionalCard}");
    // Lo sumamos a lo que ya tenía el usuario acumulado
    sumCards += additionalCard;
    // Evaluamos si superó el número 21
    if (sumCards > 21)
    {
        // El usuario gana porque si hubiera seleccionado un naipe más, hubiera perdido,
        // es decir, se detuvo en el momento exacto
        Console.WriteLine("¡¡Felicidades, usted ha ganado!!");
    }
    else
    {
        // El usuario pierde porque no se arriesgó a escoger un naipe más.
        Console.WriteLine("¡¡Lo sentimos, usted ha perdido por no arriesgarse a seleccionar un naipe más!!");
    }
    // Le mostramos al usuario el valor final de todos sus naipes
    Console.WriteLine($"La suma final de sus naipes es: {sumCards}");
}

el curso de Buenas practicas en c# es muy bueno, recomendado.

Realice Piedra, papel o Tijeras.
Aquí les muestro el código:

Random rdn = new Random();
int machine = 0;
int jugador = 0;
string control = "menu";

while (true)
{
    switch (control)
    {
        //La tijera gana al papel porque le puede cortar. (3 > 2)
        //La piedra gana a las tijeras porque las rompe. (1 > 3)
        //El papel gana a la piedra porque la envuelve. (2 > 1)

        case "menu":
            Console.WriteLine("Bienvenido al juego Piedra, Papel o Tijeras !!");
            Console.WriteLine("Piedra = 1");
            Console.WriteLine("Papel = 2");
            Console.WriteLine("Tijeras = 3");
            Console.WriteLine("Pulsa OK para continuar");
            control = Console.ReadLine();
            break;

        case "OK":
            Console.WriteLine("Escoge una opción:");
            jugador = Convert.ToInt32(Console.ReadLine());
            machine = rdn.Next(1, 3);
            if (jugador >= 1 && jugador <= 3)
            {
                Console.WriteLine("La máquina escogió " + machine);
            }

            if (jugador < 1 || jugador > 3)
            {
                Console.WriteLine("Opción incorrecta");
                control = "menu";
            }//incorrecta
            else if (jugador == machine)
            {
                Console.WriteLine("Es un empate");
            }// empate
            else if (jugador == 3 && machine == 2)
            {
                Console.WriteLine("Ganaste, Felicidades!!");
            }else if (jugador ==2 && machine == 1)
            {
                Console.WriteLine("Ganaste, Felicidades!!");
            }
            else if (jugador == 1 && machine == 3)
            {
                Console.WriteLine("Ganaste, Felicidades!!");
            }
            else
            {
                Console.WriteLine("Has perdido");
                    control = "menu";
            }
            break;
        default:
            Console.WriteLine("Valor ingresado No Valido");
            break;
    }
}

Hice un juego para adivinar nombres de frutas que sean iguales a la fruta que eligió el competidor invisible.

string message = "";
string switchControl = "menu";
string playerResponse = "";
System.Random random = new System.Random();
string nombreEscritoFruta = "";
string nombreAleatorioFruta = "";
int indice = 0;
List<string> fruitList = new List<string>()
{
    "apple",
    "peach",
    "melon",
    "banana",
    "mango",
    "orange"

};

while (true)
{
    nombreEscritoFruta = "";

    switch (switchControl)
    {
        case "menu":
            Console.WriteLine("Welcome al c a s i n o");
            Console.WriteLine("Escribe 'adivina' para jugar a las ADIVINANZAS con nombres de frutas");
            switchControl = Console.ReadLine();
            break;
        case "adivina":
            do
            {
                indice = random.Next(fruitList.Count);
                nombreAleatorioFruta = fruitList[indice];

                Console.WriteLine("Escribe el nombre de la fruta que deseas adivinar");
                nombreEscritoFruta = Console.ReadLine();

                if(nombreAleatorioFruta == nombreEscritoFruta)
                {
                    message = "Adivinaste el nombre de la fruta, felicidades!!!";
                    switchControl = "menu";
                }else
                {
                    message = $"Lo siento no adivinaste el nombre de la fruta, ya que tu competidor tenía el nombre de la fruta {nombreAleatorioFruta}";
                    switchControl = "menu";
                }
                Console.WriteLine(message);


                Console.WriteLine("¿Deseas adivinar otra fruta?");
                playerResponse = Console.ReadLine();
            } while (playerResponse == "Si" || playerResponse == "si" || playerResponse == "yes");
            break;

        default:
            Console.WriteLine("La opción que seleccionaste no es válida");
            switchControl = "menu";
            break;
    }
}

Aqui va Mi juego de Piedra papael Tijeras



Console.WriteLine("Bienvenidos al Juedo de Piedra Papel o Tijeras \n");
Console.WriteLine("¿Quieres Jugar?\nEscribe Y para Si\nEscribe N para No");
string jugara = Console.ReadLine();
System.Random random = new System.Random();
int maquina = 0;
int humano = 0;
string hum;
string maq;
string jugaraotravez;

if (jugara == "Y")
{
    maquina = random.Next(1, 3);
    do
    {
        Console.WriteLine("Escoge tu opcion \nPiedra = 1\nPapel = 2\nTijera = 3 ");
        humano = int.Parse(Console.ReadLine());

        if (humano == 1)
        {
            hum = "Piedra";
        }
        else if (humano == 2)
        {
            hum = "Papel";
        }
        else if (humano == 3)
        {
            hum = "Tijeras";

        }
        else
        {
            hum = "Opcion no encontrada";
        }

        if (maquina == 1)
        {
            maq = "Piedra";
        }
        else if (maquina == 2)
        {
            maq = "Papel";
        }
        else if (maquina == 3)
        {
            maq = "Tijeras";

        }
        else
        {
            maq = "Opcion no encontrada";
        }


        Console.WriteLine($"Tu Escogiste {hum}");
        Console.WriteLine($"La Maquina {maq}");

        if (humano == 1 && maquina == 1)
        {
            Console.WriteLine("Empate");
        }
        if (humano == 1 && maquina == 2)
        {
            Console.WriteLine("Gana Maquina");
        }
        if (humano == 1 && maquina == 3)
        {
            Console.WriteLine("Gana Humano");
        }
        /*PAPEL*/
        if (humano == 2 && maquina == 1)
        {
            Console.WriteLine("Gana Humano");
        }
        if (humano == 2 && maquina == 2)
        {
            Console.WriteLine("Empate");
        }
        if (humano == 2 && maquina == 3)
        {
            Console.WriteLine("Gana Maquina");
        }
        /*TIJERA*/
        if (humano == 3 && maquina == 1)
        {
            Console.WriteLine("Gana Maquina");
        }
        if (humano == 3 && maquina == 2)
        {
            Console.WriteLine("Gana Humano");
        }
        if (humano == 3 && maquina == 3)
        {
            Console.WriteLine("Empate");
        }

        Console.WriteLine("¿Quieres Jugar de nuevo ?\nEscribe Y para Si\nEscribe N para No");
        jugaraotravez = Console.ReadLine();

    } while ( jugaraotravez == "Y" );
    

}

else if (jugara == "N")
{
    Console.WriteLine("No");
}
else
{
    Console.WriteLine("Opcion No Valida");
}

Buenas.
Realice un ludo con lo enseñado, me falta mejoras espero que mi aporte ayude.

System.Random random = new System.Random();

int numslot = 0;
int numslot2 = 0;

string message = “”;
string controlDado = “”;
string switchmenu = “menu”;

while (true)
{
int mainJugador = 0;
int botjugador = 0;
//int numslot = 0;
//int numslot2 = 0;

switch (switchmenu)
{
    case "menu":
        Console.WriteLine(" Welcome al L U D O S E R P E N T I N");
        Console.WriteLine(" Escriba 'Ludo' para Jugar");
        switchmenu = Console.ReadLine();
        break;
    case "ludo":
        do
        {
            //Jugador
            numslot = random.Next(1, 6);
            mainJugador = mainJugador + numslot;
            //Bot
            numslot2 = random.Next(1, 6);
            botjugador = botjugador + numslot2;
            Console.WriteLine($" Tu posicion en el juego {mainJugador} !!");
            Console.WriteLine($" Posicion del bot en el juego {botjugador} !!");
            Console.WriteLine("Tira el dado");
            Console.WriteLine($" Te salio el : {numslot} ");
            Console.WriteLine("Tire de nuevo");
            controlDado = Console.ReadLine();
        }

        while (controlDado == "si" || controlDado == "Si" || controlDado == "yes");

        if (mainJugador >= 50 && mainJugador > botjugador)
        {
            message = "Gano Jugador Por pasar 50";
            switchmenu = "menu";
        }
        else if (botjugador >= 50 && botjugador > mainJugador)
        {
            message = "Gano Bot Por pasar 50";
            switchmenu = "menu";
        }
        else if (mainJugador == botjugador && mainJugador < 51 && botjugador < 51)
        {
            message = "Los jugadores Empataron";
            switchmenu = "menu";
        }

        else
        {
            message = "Valor no valido";
        }

        Console.WriteLine(message);
        break;

        default:
        Console.WriteLine("Valor ingresado no valido en Ludo");
        break;

}

}

Segunda aportación de mi avance del juego

//Realizamos el juego de blackjack para seguir las practicas del curso de platzi


//Sumamos el el array de cartas

class Juego
{
    internal int[] jugador = { 0, 0 };
    internal int[] dealer = { 0, 0 };
    internal string mensaje = "";   

    static int[] BeginCards()
    {
        System.Random rand = new System.Random();
        int[] res = {rand.Next(1, 12), rand.Next(1, 12) };
        return res;
    }

    static void StartGame()
    {
        //Inicialización de variables 
        /*para reducir la cantidad de procesamiento para la suma del array se han agregado variables
         * para almacenar directamente la información de la suma, sin embargo se mantiene el historial
         * de las cartas del usuario para mostrarlas al final de la partida en caso de que pierda
         * totalJugador Almacena la suma de las cartas del plauer
         * totalDealerr Almacena la suma de las cartas del dealer        
        */
        int totalJugador = 0;
        int totalDealer = 0;
        System.Random rand = new System.Random();
        Juego o = new Juego();
        string jugar = "";

        /* Al iniciar el juego se llama a la funcion BeginCards(), la cual genera un array de 2 dimensiones
         * con 2 numeros aleatorios simulando las 2 cartas del blackjack, el resultado del array se añade al array
         * del jugador y del dealer
         */
        o.jugador = BeginCards();
        o.dealer = BeginCards();

        //Sumamos el total del de las cartas de ambos jugadores
        totalJugador = sumArray(o.jugador);
        totalDealer = sumArray(o.dealer);

        if (totalJugador == 21)
        {
            //si en la primera oportunidad obtenemos el 21 entonces ganamos
            Console.WriteLine($"Felicitaciones, has ganado,Tus cartas son {o.jugador[0]} y {o.jugador[1]}");
            Console.WriteLine("¿Quieres volver a jugar?");
            jugar = Convert.ToString(Console.ReadLine()).ToUpper();
            if (jugar == "SI")
            {
                StartGame();
            }
        }
        else
        {
            do
            {
                //Mostrar al jugador las cartas y preguntar si deséa continuar
                Console.WriteLine($"Tus cartas son {string.Join(", ", o.jugador)} ¿Qieres otra carta?");
                string respuesta = Convert.ToString(Console.ReadLine());
                if (respuesta.ToUpper() == "SI")
                {
                    //Si el jugador quiere otra carta se suma a la variable y se añade al array del jugador
                    //Queda pendietnte la refactorización para toma de desición automática del dealer de si tomar o nó más cartas
                    int carta = rand.Next(1, 12);
                    o.jugador = o.jugador.Append(carta).ToArray();
                    totalJugador += carta;
                    if (totalJugador > 21)
                    {
                        //Si la suma del jugador supera los 21 automáticamente pierde
                        Console.WriteLine($"Lastima, has perdido, Tus cartas son {string.Join(", ", o.jugador)}\n\ntotal:{totalJugador}");
                        break;
                    }
                }
                else
                {
                    static void dealerDesicion(int totalDealer, int[] cartas)
                    {
                        
                    }
                    if (totalJugador > totalDealer && totalJugador <= 21 || totalDealer > 21)
                    {
                        //Si el jugador tiene una cantidad mayor que el dealer sin sobrepasar la suma de 21
                        //o si el dealer sobrepasa los 21 entonces gana, de lo contrario pierde
                        Console.WriteLine($"Felicitaciones, has ganado, el Dealer tenía {string.Join(",", o.dealer)}");
                        break;
                    }
                    else
                    {
                        Console.WriteLine($"Lastima, has perdido, el Dealer tenía {string.Join(",", o.dealer)}");
                        break;
                    };
                }
            } while (true);
        }
    }
    static int sumArray(int[] array)
    {
        int result = 0;
        foreach (int number in array)
        {
            result = result + number;
        }
        return result;
    }

    static void Main()
    {
        StartGame();
    }

}



Yo lo he dejado de la siguiente manera:

System.Random random = new System.Random();
int totalPlayer, totalDealer, num;
string message, userResponse;
string switchControl = "menu";
bool game = true;

while (game) {
    totalPlayer = 0;
    totalDealer = 0;
    switch (switchControl)
    {
        case "menu":
            Console.WriteLine("Welcome to C A S I N O");
            Console.WriteLine("Write '21' for play to 21");
            Console.WriteLine("Write 'end' for finish the game\n");
            switchControl = Console.ReadLine();
            break;
        case "21":
            Console.Clear();
            Console.WriteLine("== Starting the Game ==");
            do {
                num = random.Next(1, 12);
                totalPlayer = totalPlayer + num;
                Console.WriteLine("Take your card, Player\n");
                Console.Write($"You got the number: {num}\n");
                Console.WriteLine("Dou you wish other card?");
                userResponse = Console.ReadLine();
            } while (userResponse == "si" || userResponse == "SI" || userResponse == "Si");

            totalDealer = random.Next(14, 23);
            Console.WriteLine($"The Dealer has: {totalDealer}! and you have {totalPlayer}");

            if (totalPlayer > totalDealer && totalPlayer < 22) {
                message = "You won to the Dealer, congratulations";
            }
            else if (totalPlayer > 21) {
                message = "You lost, because you have more than 21";
            }
            else if (totalPlayer <= totalDealer) {
                message = "You lost to the Dealer, sorry";
            }
            else {
                message = "Condition not valid";
            }
            Console.WriteLine(message);
            Console.WriteLine("=#= Game Over =#=\n\n");
            switchControl = "menu";
            break;
        case "end":
            Console.Clear();
            Console.WriteLine("Finish the C A S I N O game!");
            game = false;
            break;
        default:
            Console.Clear();
            Console.WriteLine("invalid value entered to the C A S I N O\n");
            switchControl = "menu";
            break;
    }
}

Este es el código de juego de piedara papel y tijera, dejo el codigo fuente explicado y docuemntado en program.cs y el repositorio

///////////Juego de piedra papel y tijera////////////
System.Random rand = new System.Random();
String jugador; 
String star_Game = "menu"; 
String result_Game = ""; 
string[] optionsCpu = { "rock", "paper", "scissors" };

while (true)
{
    jugador = "";
    int opIndex = rand.Next(optionsCpu.Length);
    string cpu = (optionsCpu[opIndex]); 
    
    switch (star_Game)
    {
        case "menu":
            Console.WriteLine("----------------------------------------------------");
            Console.WriteLine("Do you want to Play, rock-paper-scissors?");
            Console.WriteLine("Write yes to play");
            star_Game = Console.ReadLine();
            break;

        case "yes":
            do
            {
                Console.WriteLine("\nWrite rock-paper-scissors\n");
                jugador = Console.ReadLine();
            } while (jugador == "Nada");

            if (jugador == cpu)
            {
                result_Game = "Empate\n";
                    star_Game = "menu";
            }
            else if (jugador == "rock" && cpu == "paper") 
            {
                result_Game = "Game over, paper win to rock\n";
                    star_Game = "menu";
            }
            else if (jugador == "paper" && cpu == "scissors")
            {
                result_Game = "Game over, scissors win to paper\n";
                    star_Game = "menu";
            }
            else if (jugador == "scissors" && cpu == "rock") 
            {
                result_Game = "Game over, rock win to scissors\n";
                    star_Game = "menu";
            }
            else 
            {
                result_Game = " You Win!, congratulations!\n";
                    star_Game = "menu";
            }    
            Console.WriteLine(result_Game);
            Console.WriteLine($"The cpu option was: {cpu}");
            break;
       
        default:
        Console.WriteLine("Invalid value");
        break;
    }
}

Hice un aplicativo contable ese vale 😃

Realice el juego “Rock, Papper, Scissors” con un menú. Dejo el repositorio y la ruta donde se encuentra el archivo directo.

Yo quiero hacer un Piedra papel o tijera, incluso estoy repasando las lecciones.

estoy estancado en poner vidas y que cuando estas se acaben el juego se reinicie al menú.

namespace piedraPapelTijera_Practice
{
internal class Program

{
    static void Main(string[] args)
    {
        System.Random random = new System.Random();
        // i'm going to create a game in C#
        int playerHp;
        int pcHp;
        int player;
        int pc;
        int switchControl = 0;

        while (true)
        {
            switch (switchControl)
            {

                case 0:
                    Console.WriteLine("Bienvenido a Piedra, Papel o Tijera \nEscribe 1 para empezar");
                    switchControl = Convert.ToInt32(Console.ReadLine());
                    break;
              
                case 1:
                        
                        Console.WriteLine("\nElije tu ataque '1 = Piedra' '2 = Papel' '3 = Tijera'");
                        player = Convert.ToInt32(Console.ReadLine());
                        pc = random.Next(1, 3);
                       

                        if (player == pc)
                        {
                            Console.WriteLine($"La pc elijió {pc}, tu elejiste {player}");
                            Console.WriteLine("Empate");
                        }

                        else if (player == 1 && pc == 3)
                        {
                            Console.WriteLine($"La pc elijió {pc}, tu elejiste {player}");
                            Console.WriteLine("Ganaste");
                            //pcHp = -1;
                        }

                        else if (player == 2 && pc == 1)
                        {
                            Console.WriteLine($"La pc elijió {pc}, tu elejiste {player}");
                            Console.WriteLine("Ganaste");
                            //pcHp = -1;
                        }

                        else if (player == 3 && pc == 2)
                        {
                            Console.WriteLine($"La pc elijió {pc}, tu elejiste {player}");
                            Console.WriteLine("Ganaste");
                            //pcHp = -1;
                        }

                        else
                        {
                            Console.WriteLine($"La pc elijió {pc}, tu elejiste {player}");
                            Console.WriteLine("Perdiste");
                            //playerHp = -1;
                        }
             
                break;

                default:
                    Console.WriteLine("Valor Ingresado no Válido");
                    switchControl = 0;
                break;
            }
        }
    }                  
}

}

Agregue unas mínimas modificaciones

using System;

var (totalJugador, totalDealer, num) = (0, 0, 0);
string message = string.Empty;
string switchControl = "menu";
string sigueJugando = "";

/* Blackjack, Juntar 21 pidiendo, en caso de pasaswte de 21 pierdes.
cartas o en caso de tener menos
de 21 igual tener mayor puntuación que el dealer */

while (true)
{
    totalJugador = 0;
    totalDealer = 0;
    switch (switchControl)
    {
        case "menu":
            Console.WriteLine("Welcome al *** C A S I N O ***");
            Console.WriteLine("Escriba '21' para jugar 21");
            switchControl = Console.ReadLine();
            break;

        case "21":
            System.Random random = new System.Random();
            totalDealer = random.Next(1, 21);
            do
            {
                
                num = random.Next(1, 12);
                totalJugador = totalJugador + num;
                Console.WriteLine("Toma tu carta jugador");
                Console.WriteLine($"Te salió el número: {num}");
                Console.WriteLine("Deseas seguir jugando?");
                Console.WriteLine("1-> Si");
                Console.WriteLine("2-> No");
                sigueJugando = Console.ReadLine();
            }
            while (sigueJugando == "1");
            if (totalJugador < 1 || totalJugador > 21) 
            {
                message = "Total jugador no puede ser menor que 1 o mayor a 21";
                switchControl = "menu";
            }                
            else if (totalDealer < 1 || totalDealer > 21) 
            {
                message = "Total dealer no puede ser menor que 1 o mayor a 21";
                switchControl = "menu";
            }                
            else
            {
                if (totalJugador > totalDealer) 
                {
                    message = "Felicidades, venciste al dealer";
                    switchControl = "menu";
                }                    
                else if (totalJugador <= totalDealer) 
                {
                    message = "Lo siento!... Perdiste vs el dealer";
                    switchControl = "menu";
                }
                else 
                {
                    message = "Condición no válida";
                    switchControl = "menu";
                }                    
            }
            Console.WriteLine($"Total jugador {totalJugador}");
            Console.WriteLine($"Total dealer {totalDealer}");
            Console.WriteLine(message);
            break;
        default:
            Console.WriteLine("Valor ingresado no valido en el *** C A S I N O ***");
            switchControl = "menu";
            break;

    }
}