Dejaré esto por aquí …!!
Introducción a la programación con C#
¿Qué necesitas para aprender C#?
¿Por qué aprender C#?
¿Qué son los algoritmos?
Instalando Visual Studio 2022
Aprendiendo a usar Visual Studio
Primeros pasos con C#
Tipos de datos primitivos
Variables
La palabra reservada var
Uso de constantes
Operadores aritméticos
Operadores lógicos
Operadores relacionales
Strings en C#
Bucles y estructuras de control en C#
Condicional IF
Condicional Switch
Ciclos While y Do While
Ciclos para el juego de Platzino
Ciclos For
Reto: bug entre ciclos
Próximos pasos
¿Quieres un Curso de POO en C#?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 9
Preguntas 1
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 “J”, “Q” and “K” 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 ‘si’ 2 es ‘no’");
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
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.