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 = 鈥減erdiste Te pasaste de vrg鈥;
    }
    else if(totalJugador > totalDealer)
    {
    message = 鈥渧enciste al Dealer, felicidades鈥;
    }
    else if (totalJugador <= totalDealer)
    {
    message = 鈥減erdiste vs el Dealer, lo siento鈥;
    }
    else
    {
    message = 鈥淐ondici贸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 鈥渕e 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 = 鈥淧erdiste contra el dealer, te pasaste de 21鈥;
}
else if (totalJugador > totalDealer && totalJugador<=comodin)
{
message = 鈥淰enciste al dealer, felicidades鈥;
}
else if ( totalJugador <= totalDealer)
{
message = 鈥淧erdiste contra el dealer, lo siento鈥;
}
else
{
message = 鈥淐ondicion no valida鈥;
}

    Console.WriteLine(message);