No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Reg铆strate

Comienza en:

3D
1H
22M
44S

Ciclos While y Do While

16/20
Recursos

Aportes 9

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Dejar茅 esto por aqu铆 鈥!!

Otra forma para validar si el usuario escribe, sin colocar las combinaciones de escribirlo, pueden ser que colocando el resultado que recibes en mayuscula o minuscula. Algo ocmo
resultado.toUpper() o resultado.toLower(), respectivamente

en black jack los n煤meros de las cartas se contabilizan normal y las letras 鈥淛鈥, 鈥淨鈥 and 鈥淜鈥 son equivalentes a 10 y la A puede ser 1 or 11 por eso un A con letra es black jack porque 11 + 10 = 21

CICLOS WHILE Y DO WHILE

La instrucci贸n while ejecuta una instrucci贸n o un bloque de instrucciones mientras que una expresi贸n booleana especificada se eval煤a como true. Como esa expresi贸n se eval煤a antes de cada ejecuci贸n del bucle, un bucle while se ejecuta cero o varias veces. La while instrucci贸n difiere de un bucle do , que se ejecuta una o varias veces.

En el ejemplo siguiente se muestra el uso de la instrucci贸n while:

int n = 0;
while (n < 5)
{
    Console.Write(n);
    n++;
}
// Output:
// 01234

La estructura do while es otra estructura repetitiva, la cual ejecuta al menos una vez su bloque repetitivo, a diferencia del while o del for que pod铆an no ejecutar el bloque.
Esta estructura repetitiva se utiliza cuando conocemos de antemano que por lo menos una vez se ejecutar谩 el bloque repetitivo.
La condici贸n de la estructura est谩 abajo del bloque a repetir, a diferencia del while o del for que est谩 en la parte superior.

El bloque de operaciones se repite MIENTRAS que la condici贸n sea Verdadera.

Si la condici贸n retorna Falso el ciclo se detiene. En C#, todos los ciclos repiten por verdadero y cortan por falso.
Es importante analizar y ver que las operaciones se ejecutan como m铆nimo una vez.

Ejemplos de uso de la estructura de iteracion WHILE:

Estructura repetitiva do while

La estructura do while es otra estructura repetitiva, la cual ejecuta al menos una vez su bloque repetitivo, a diferencia del while o del for que pod铆an no ejecutar el bloque.

Esta estructura repetitiva se utiliza cuando conocemos de antemano que por lo menos una vez se ejecutar谩 el bloque repetitivo.
La condici贸n de la estructura est谩 abajo del bloque a repetir, a diferencia del while o del for que est谩 en la parte superior.

El bloque de operaciones se repite MIENTRAS que la condici贸n sea Verdadera.

Si la condici贸n retorna Falso el ciclo se detiene. En C#, todos los ciclos repiten por verdadero y cortan por falso.
Es importante analizar y ver que las operaciones se ejecutan como m铆nimo una vez.

Ejemplos de uso y funcionamiento de DO WHILE:

el dealer es el de la droga, el de las cartas es el crupier,
apuesto que vive en Sinaloa

Aplicando lo aprendido

using System;

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

/* 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)
{

    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 = Convert.ToInt32(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;

    }
}

en el do while, cuando pregunta si desea otra carta es mejor cococarlo de esta forma:
Console.WriteLine("驴Deseas otra carta? 1 es 鈥榮i鈥 2 es 鈥榥o鈥");
as铆 evitas la opci贸n de que se escribi贸 con may煤sculas o con min煤sculas. o es 1 o es 2.

La declaraci贸n de random se hace antes del loop (do) para que no se ejecute la creaci贸n del objeto en cada iteraci贸n

se da mucha vuelta en la expicaci贸n de un do while, ir haciendolo paso por paso complica su entendimiento, debe comenzar por la estructura,
do
{

} while();
y despu茅s como funciona, a decir verdad el while tampoco lo comprend铆, aunque ya tengo tiempo programando y puedo rellenar lo que me falta a prueba y error