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
18H
47M
19S

Condicional IF

14/20
Recursos

Aportes 11

Preguntas 0

Ordenar por:

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

o inicia sesión.

La sentencia If


La sentencia if en C# se utiliza para evaluar una expresión lógica y ejecutar un bloque de código si la expresión se evalúa como verdadera. La sintaxis básica de la sentencia if es la siguiente:

if (expresion) {
    // bloque de código a ejecutar si la expresión es verdadera
}

<aside>
📌 La condición puede ser cualquier expresión que evalúe a verdadero o falso, como una comparación de igualdad, una comparación de desigualdad, una comparación mayor o menor, etc.

</aside>

También se puede agregar un bloque else opcional para ejecutar un bloque de código si la expresión se evalúa como falsa:

if (expresion) {
    // bloque de código a ejecutar si la expresión es verdadera
} else {
    // bloque de código a ejecutar si la expresión es falsa
}

Ademas se puede utilizar la sentencia else if para evaluar varias condiciones

if (expresion1) {
// bloque de código a ejecutar si la expresión1 es verdadera
} else if (expresion2) {
// bloque de código a ejecutar si la expresión1 es falsa y expresión2 es verdadera
} else {
// bloque de código a ejecutar si las expresiones son falsas
}

yo lo escribí así y me funcionó bien, coloqué como primer if el que el jugador sea mayor a 21, esto significa que la condicionante entra solo si el ,totalJugador es de 22 hacia arriba.

int totalJugador = 17;
int totalDealer = 15;
string message = “”;

/*

  • BlackJack, juntar 21 pidiendo cartas o en casto de tener menos de 21
  • igual tener mayor puntuación que el dealer
    */
    if (totalJugador > 21)
    {
    message = “perdiste Te pasaste de vrg”;
    }
    else if(totalJugador > totalDealer)
    {
    message = “venciste al Dealer, felicidades”;
    }
    else if (totalJugador <= totalDealer)
    {
    message = “perdiste vs el Dealer, lo siento”;
    }
    else
    {
    message = “Condición no válida”;
    }
    Console.WriteLine(message);

despues de darle vuelta al código para buscar una mejorr forma de escribirlo, mas sensilla, llegúe a esto:

int totalJugador = 17;
int totalDealer = 23;
string message = "";

if (totalJugador > 21)
{
    message = "Te pasaste de 21, haz perdido...";
} 
else if (totalDealer > 21)
{
    message = "El dealer se ha pasado de 21, haz ganado...";

}
else
{
    if (totalJugador > totalDealer)
    {
        message = "FELICIDADES, Venciste al dealer...";
    }
    else if (totalJugador <=totalDealer)
    {
        message = "Perdiste frente al dealer, lo siento...";
    } else
    {
        message = "condición no válida...";
    }
}

Console.WriteLine(message);

El meme de “me gustas, pero si no te gusto no me gustas” pasado a código 😄

Una forma de obtener un número dinámicamente o aleatorio, es usar la clase Random. Por ejemplo, para asignarlo al total jugador. Por lo que, cada vez que ejecutes el número va a ser distinto.
En este caso, el numero aleatorio va en un rango de 1 a 21.

int totalJugador = 0;
int totalDealer = 15;
string message = string.Empty;
Random rand = new Random();
totalJugador = rand.Next(1, 21);
if (totalJugador > totalDealer)
{
    message = $"Venciste al dealer. Puntos = {totalJugador}";
}
else if (totalJugador <= totalDealer)
{
    message = $"Perdiste vs el dealer, lo siento. Puntos = {totalJugador}";
}
else
{
    message = "condición no válida";
}

Console.WriteLine(message);

Tratando de aplicar todo lo aprendido hasta ahora

var (totalJugador, totalDealer) = (10, 18);
string message = string.Empty;

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

if(totalJugador < 1 || totalJugador > 21)
    message = "Total jugador no puede ser menor que 1 o mayor a 21";
else if (totalDealer < 1 || totalDealer > 21)
    message = "Total dealer no puede ser menor que 1 o mayor a 21";
else
{
    if (totalJugador > totalDealer)    
        message = "Felicidades, venciste al dealer";    
    else if (totalJugador <= totalDealer)    
        message = "Lo siento!... Perdiste vs el dealer";    
    else    
        message = "Condición no válida";    
}
Console.WriteLine($"Total jugador {totalJugador}");
Console.WriteLine($"Total dealer {totalDealer}");
Console.WriteLine(message);

CONDICIONAL IF

Instrucciones de selección: if, else y switch

Las instrucciones IF, ELSE IF y ELSE seleccionan instrucciones para ejecutarse desde muchas rutas de acceso posibles en función del valor de una expresión. La instrucción IF y ELSE IF selecciona una instrucción que se va a ejecutar en función del valor de una expresión booleana. Una instrucción IF se puede combinar con else para elegir dos rutas de acceso distintas en función de la expresión booleana.

Instrucción if
Una instrucción if puede tener cualquiera de las dos formas siguientes:

  • Una instrucción if con una parte else selecciona una de las dos instrucciones que se ejecutarán en función del valor de una expresión booleana, como se muestra en el ejemplo siguiente:
DisplayWeatherReport(15.0);  // Output: Cold.
DisplayWeatherReport(24.0);  // Output: Perfect!

void DisplayWeatherReport(double tempInCelsius)
{
    // Si tempInCelsius es menor que 20.0
    if (tempInCelsius < 20.0)
    {
        Console.WriteLine("Cold.");
    }
    else
    {
        Console.WriteLine("Perfect!");
    }
}

  • Una instrucción if sin una parte else ejecuta el cuerpo solo si una expresión booleana se evalúa como true, como se muestra en el ejemplo siguiente:
DisplayMeasurement(45);  // Output: The measurement value is 45
DisplayMeasurement(-3);  // Output: Warning: not acceptable value! The measurement value is -3

void DisplayMeasurement(double value)
{
    if (value < 0 || value > 100)
    {
        Console.Write("Warning: not acceptable value! ");
    }

    Console.WriteLine($"The measurement value is {value}");
}

Puede anidar instrucciones if para comprobar varias condiciones, como se muestra en el ejemplo siguiente:

DisplayCharacter('f');  // Output: A lowercase letter: f
DisplayCharacter('R');  // Output: An uppercase letter: R
DisplayCharacter('8');  // Output: A digit: 8
DisplayCharacter(',');  // Output: Not alphanumeric character: ,

void DisplayCharacter(char ch)
{
    if (char.IsUpper(ch))
    {
        Console.WriteLine($"An uppercase letter: {ch}");
    }
    else if (char.IsLower(ch))
    {
        Console.WriteLine($"A lowercase letter: {ch}");
    }
    else if (char.IsDigit(ch))
    {
        Console.WriteLine($"A digit: {ch}");
    }
    else
    {
        Console.WriteLine($"Not alphanumeric character: {ch}");
    }
}

En un contexto de expresión, puede usar el operador condicional ?: para evaluar una de las dos expresiones en función del valor de una expresión booleana. Esto es lo que se conoce como if con operador ternario o if corto

int x = 15;
int y = 30;
string z = (x > y) ? "x es mayor a y" : "y es mayor a x";
Console.WriteLine(z);

En este ejemplo, el OR ( || ), podría usarse para dejarte saber que has perdido, por ejemplo:

int totalJugador = 22;
int totalDealer = 15;
string message = "";

if (totalJugador > totalDealer && totalJugador < 22)
{
    message = "Venciste al dealer, ¡Felicidades!";
}
else if (totalJugador <= totalDealer || totalJugador >= 22)
{
    message = "Perdiste contra el dealer. Lo siento.";
//}
else
{
    message = "Condición no válida.";
}

Console.WriteLine(message);

Gracias por sus valiosos aportes amigos. Acá les comparto un ejercicio básico que hice con lo que aprendí de las sentencias IF.
Quizás el voy a agregar un Random para que al jugador computadora se le asigne un numero de 1 a 3. Yo se que se puede mejorar con funciones, pero estoy contento, creo que voy entendiendo la lógica.

using System.Reflection.Metadata;

Console.WriteLine("Hello, hoy vamos a jugar Piedra, Papel o Tijera, estas listo!!!");

//VARIABLES
int jugador;
int computadora;
string mensaje = "";

/*CONDICIONES DEL JUEGO
 1 = Piedra, 2 = Papel, 3 = Tijera.
 */

//CONSTANTES
int piedra = 1;
int papel = 2;
int tijera = 3;

Console.WriteLine("Es el turno del jugador 1 PIEDRA, 2 PAPEL, 3 TIJERA");
jugador = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("Es el turno de la computadora 1 PIEDRA, 2 PAPEL, 3 TIJERA");
computadora = Convert.ToInt32(Console.ReadLine());

//OPERACION DEL JUEGO
if (jugador == computadora)
{
    mensaje = "Estan empatados";
}
else if (jugador == papel && computadora == piedra || jugador == piedra && computadora==tijera || jugador ==tijera && computadora==papel)
{
    mensaje = "Ganaste";
}
else
{
    mensaje = "Perdiste";
}

Console.WriteLine("El jugador eligio: " + jugador + " "+ "y la computadora eligio: " + computadora);
Console.WriteLine(mensaje);

Primera vez que veo que un curso de Platzi el profesor cambia de ropa jajajaja

Este es mi aporte de forma dinámica para el ejercicio de la clase

    var totalJugador = 0;
    var totalDealer = 0;
    var comodin = 21;
    string message = "";

    //BlackJack, Juntar 21 pidiendo cartas o en caso de tener menos de 21 igual tener mayor  puntuacion que el dealer

    Console.WriteLine("Ingrese el punto del Jugador");
    totalJugador= Convert.ToInt32(Console.ReadLine());

    Console.WriteLine("Ingrese el punto del dealer");
    totalDealer = Convert.ToInt32(Console.ReadLine());

if (totalJugador > totalDealer && totalJugador > comodin)
{
message = “Perdiste contra el dealer, te pasaste de 21”;
}
else if (totalJugador > totalDealer && totalJugador<=comodin)
{
message = “Venciste al dealer, felicidades”;
}
else if ( totalJugador <= totalDealer)
{
message = “Perdiste contra el dealer, lo siento”;
}
else
{
message = “Condicion no valida”;
}

    Console.WriteLine(message);