Video del Proyecto
https://drive.google.com/file/d/1VKamwirqBnnr7QYNixO9Im2qiCy0Kcya/view?usp=sharing
Me interesa el curso de POO con C#
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 10
Preguntas 0
Video del Proyecto
https://drive.google.com/file/d/1VKamwirqBnnr7QYNixO9Im2qiCy0Kcya/view?usp=sharing
Me interesa el curso de POO con C#
todavía no veo como salir del juego o cerrar el programa
21 con graficos en unity
En el if donde le ganamos al Platzino le sumo un platzi más y le mando un msj que diga Tienes una vida mas 😄
Esta es ni versión, talvez esta muy largo pero funciona, tiene varias validaciones por si acaso.
//Console.WriteLine("Hello, World!");
int totalJugador = 0;
int totalDealer = 0;
int num = 0;
int apuesta = 0;
int platziCoins = 0;
bool puedeApostar;
int coinsRestantes=0;
string seguirApostando;
string message = "";
string controlOtraCarta = "";
string switchControl;
System.Random random = new System.Random();
//Blackjack, Juntar 21 pidiendo, en casa de pasarte de 21 pierdes.
//cartas o en caso de tener menos
//de 21 igual tener mayor puntuación que el dealer
do
{
Console.WriteLine("===WELCOME AL P L A T Z I N O===");
Console.WriteLine("¿***Cuántos PlatziCoins deseas?***");
platziCoins = int.Parse(Console.ReadLine());
platziCoins = platziCoins +coinsRestantes;
do
{
do {
totalJugador = 0;
totalDealer = 0;
Console.WriteLine("Tienes " + platziCoins + " platziCoins");
Console.WriteLine("***¿Cuantos PlatziCoins deseas apostar?***");
apuesta = int.Parse(Console.ReadLine());
if (apuesta > platziCoins)
{
Console.WriteLine("!!!NO TIENES SUFICIENTES CREDITOS!!!");
puedeApostar = false;
}
else
{
puedeApostar = true;
}
} while (puedeApostar != true);
Console.WriteLine("---Escriba ‘21’ para jugar al 21---");
switchControl = Console.ReadLine();
if (switchControl == "21")
{
do
{
num = random.Next(1, 12);
totalJugador = totalJugador + num;
Console.WriteLine($"Te salió el número: {num} ");
Console.WriteLine("¿Deseas otra carta ?");
controlOtraCarta = Console.ReadLine();
} while (controlOtraCarta == "Si" ||
controlOtraCarta == "si" ||
controlOtraCarta == "yes");
}
totalDealer = random.Next(14, 23);
Console.WriteLine($"El dealer tiene {totalDealer}");
if (totalJugador > totalDealer && totalJugador < 22)
{
message = "Venciste al dealer, felicidades";
platziCoins += apuesta;
Console.WriteLine(message);
}
else if (totalJugador >= 22)
{
message = "Perdiste vs el dealer, te pasaste de 21";
platziCoins -= apuesta;
Console.WriteLine(message);
}
else if (totalJugador <= totalDealer)
{
message = "Perdiste vs el dealer, lo siento";
platziCoins -= apuesta;
Console.WriteLine(message);
}
else
{
message = "condición no válida";
}
Console.WriteLine("Tienes " + platziCoins + " creditos");
Console.WriteLine("¿DESEAS SEGUIR APOSTANDO?");
seguirApostando = Console.ReadLine();
coinsRestantes = +platziCoins;
Console.Clear();
if (platziCoins == 0)
{
Console.WriteLine("SIN CREDITOS, POR FAVOR COMPRE MAS...");
break;
}
} while (seguirApostando == "si" || seguirApostando == "SI");
Console.WriteLine("¿QUIERES SALIR DEL P L A T Z I N O ?");
seguirApostando=Console.ReadLine();
if(seguirApostando == "si" || seguirApostando == "SI")
{
Console.WriteLine("GRACIAS POR JUGAR");
Console.ReadKey();
}
else
{
Console.Clear();
}
} while (seguirApostando == "no" || seguirApostando == "NO");
Lo logé!!!
Para mi la clave fue imprimir en pantalla cada vez que la variable de los creditos se iba derementando y así darme cuenta que el problema estaba en la secuencia del Switch, hay que eliminar el case del menu y llevar lo que esta adentro de él hacia el ciclo for.
Aquí mi proyecto, con algunas modificaciones para evitar errores
System.Random random = new Random();
int coins = 0;
string cart = "";
string des = "";
int player = 0;
int num = 0;
int dealer = 0;
Console.WriteLine("Bienvenido a Platzino");
try
{
do
{
Console.WriteLine("¿Cuántos platzicoins deseas?");
coins = Convert.ToInt32(Console.ReadLine());
for (int i = 1; i <= coins; i++)
{
do
{
Console.WriteLine("Presiona enter para tomar una carta");
cart = Console.ReadLine();
num = random.Next(1, 12);
player = player + num;
dealer = random.Next(14, 23);
Console.WriteLine("Tu carta es: " + num);
Console.WriteLine("Llevas: " + player);
Console.WriteLine("\n¿Deseas otra carta? \nEscribe 2 para detener.");
cart = Console.ReadLine();
} while (cart != "2");
if (player > dealer && player < 22)
{
Console.WriteLine("Ganaste contra el dealer. Obtienes un platzicoin extra\n");
Console.WriteLine("Jugador: " + player);
Console.WriteLine("Dealer: " + dealer);
Console.WriteLine($"Llevas {i} partidas\n");
coins++;
}
else if (player <= dealer)
{
Console.WriteLine("Perdiste contra el dealer");
Console.WriteLine("Jugador: " + player);
Console.WriteLine("Dealer: " + dealer);
Console.WriteLine($"Llevas {i} partidas \n");
}
else if (player >= 22)
{
Console.WriteLine("Perdiste contra el dealer, te pasaste de los 21");
Console.WriteLine("Jugador: " + player);
Console.WriteLine("Dealer: " + dealer);
Console.WriteLine($"Llevas {i} partidas \n");
}
player = 0;
}
Console.WriteLine("Se terminaron tus platzicoins");
Console.WriteLine("Quieres volver a jugar? Escribe SI o NO");
des = Console.ReadLine();
} while (des == "SI");
}
catch (FormatException)
{
Console.WriteLine("Ingresó mal un dato. Vuelva a intentarlo");
}
Yo le puse algo equivalente.
<platziCoins++>
Muy buena la solución propuesta.
Esta es otra:
i--;
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.