Muy buena la solución propuesta.
Esta es otra:
i--;
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
Ricardo Celis
Aportes 35
Preguntas 1
Muy buena la solución propuesta.
Esta es otra:
i--;
todavía no veo como salir del juego o cerrar el programa
Yo le puse algo equivalente.
<platziCoins++>
21 con graficos en unity
seria chévere un curso de programación orientada a objetos solo para c#
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.
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");
Les muestro mi solución a las tareas extra, tiene mucha oportunidad de mejora, cualquier persona que desee sugerir algún cambio o mejora es bienvenida de hacerlo.
int creditos = 0;
int apuesta = 0;
int totalJugador = 0;
int totalDealer = 0;
int num = 0;
string message = "";
string controlOtraCarta = "";
string switchControl = "menu";
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
while (true)
{
Console.WriteLine("Hello, welcome to K-sino!");
Console.WriteLine("¿Cuántos creditos deseas comprar?\n" +
"*Ingresa un número entero*\n" +
"*Cada partida de juego tiene un costo de 1 credito*");
creditos = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < creditos*2; i++)
{
totalJugador = 0;
totalDealer = 0;
switch (switchControl)
{
case "menu":
Console.WriteLine("\nEscriba ‘21’ para jugar al 21.\n" +
" ‘S’ para salir y guardar sus creditos.");
switchControl = Console.ReadLine();
if (switchControl == "21")
{
Console.WriteLine($"Ingrese la cantidad de creditos que desee apostar\n" +
$" Cantidad de creditos disponibles: {creditos}");
apuesta = Convert.ToInt32(Console.ReadLine());
break;
}
else if (switchControl == "S" || switchControl == "s")
{
Environment.Exit(1);
}
break;
case "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 otra carta?");
controlOtraCarta = Console.ReadLine();
} while (controlOtraCarta == "Si" ||
controlOtraCarta == "si" ||
controlOtraCarta == "yes");
totalDealer = random.Next(14, 23);
Console.WriteLine($"\nTu puntuaje fue: {totalJugador}");
Console.WriteLine($"El dealer obtuvo: {totalDealer}\n");
if (totalJugador > totalDealer && totalJugador < 22 || totalDealer > 21)
{
creditos += apuesta;
message = "Felicidades, venciste al dealer\n" +
$" Conseguiste: {apuesta} creditos!!!\n" +
$"Total de creditos: {creditos}";
switchControl = "menu";
}
else if (totalJugador >= 22)
{
creditos -= apuesta;
message = "Te pasaste de 21 vs el dealer\n" +
$" Perdiste: {apuesta} creditos!\n" +
$"Total de creditos: {creditos}";
switchControl = "menu";
}
else if (totalJugador < totalDealer)
{
creditos -= apuesta;
message = "Lo siento, perdiste vs el dealer\n" +
$" Perdiste: {apuesta} creditos!\n" +
$"Total de creditos: {creditos}";
switchControl = "menu";
}
else if (totalJugador == totalDealer)
{
message = "Empataste vs el dealer\n" +
" Conservas tus creditos!";
switchControl = "menu";
}
else
{
message = "Condición no válida, intentalo de nuevo";
switchControl = "menu";
}
Console.WriteLine(message);
break;
default:
Console.WriteLine("Valor ingresado no válido en el K-sino");
switchControl = "menu";
break;
}
}
Console.WriteLine("\n Tus creditos se han terminado!!!\n" +
"Presione cualquier tecla para continuar...");
Console.ReadLine();
Console.Clear();
}
Yo lo resolví eliminando el case de “menu” y coloqué lo que había dentro de este case después de la entrada platziCoins
Console.WriteLine("Escriba '21' para jugar al 21");
switchControl = Console.ReadLine();
Curso de POO c#, sería muy relevante en este nivel.
Yo puse puntos de interrupción y de esta manera fue mas sencillo identificar el error. 😃 ❤️
// BlackJack
using System.ComponentModel.DataAnnotations;
int yourCards = 0;
int dealersCards = 0;
string message = “”;
string switchControl = “menu”;
int coins = 0;
System.Random random = new System.Random();
int randomNum;
string conti = “”;
while (true){
yourCards = 0;
dealersCards = 0;
Console.WriteLine("Welcome!");
Console.WriteLine("How many coins do You want? remember you need one coin per round: ");
coins = int.Parse(Console.ReadLine());
for (int i = 0; i < coins; i++)
{
switch (switchControl)
{
case "menu":
Console.WriteLine("Enter '21' to Start! ");
switchControl = Console.ReadLine();
i--;
break;
case "21":
do
{
randomNum = random.Next(1, 12);
Console.WriteLine($"Your card is: {randomNum}");
Console.WriteLine("Do You want to take another card? 'yes' or 'no' ");
yourCards += randomNum;
Console.WriteLine($"Your current score is: {yourCards}");
} while (Console.ReadLine() == "yes");
dealersCards = random.Next(14, 22);
Console.WriteLine($"Dears finally score was: {dealersCards}");
if (yourCards == dealersCards)
{
message = "It's a draw!";
switchControl = "menu";
}
else if (yourCards > dealersCards && yourCards < 22)
{
message = "Great! You Win!";
switchControl = "menu";
}
else if (yourCards > 21)
{
message = "Sorry! You lose. Your score is over 21.";
switchControl = "menu";
}
else if (dealersCards > yourCards && dealersCards < 22)
{
message = "Dealer Win!";
switchControl = "menu";
}
else if (dealersCards > 21)
{
message = "You Win! Dealers score is over 21.";
switchControl = "menu";
}
if (yourCards == 21)
{
message = $"BlackJack! You got {yourCards}";
switchControl = "menu";
}
else if (dealersCards == 21)
{
message = $"BlackJack! Dealer got {yourCards}";
switchControl = "menu";
}
Console.WriteLine(message);
break;
default:
Console.WriteLine("Sorry Enter an other option.");
break;
}
}
Console.WriteLine("Sorry! Coins insuficient.");
Console.WriteLine("You want to buy more? 'yes' or 'no': ");
conti = Console.ReadLine();
if( conti == "yes" )
{
switchControl = "menu";
}
}
// See https://aka.ms/new-console-template for more information
//Console.WriteLine(“Hello, World!”);
int totalJugador = 0;
int totalDealer = 0;
int num = 0;
string message = “”;
int credito = 0;
string controlOtraCarta = “”;
string switchControl = “menu”;
System.Random random = new System.Random();
//Blackjack, Juntar 21 pidiendo, en caso de pasarte de 21 pierdes, cartas o en caso de tener menos
// de 21 igual tener mayor puntuacion que el dealer
while (true)
{
Console.WriteLine("¿CUANTOS CREDITOS DESEAS apostar? \n" + "Ingresa un numero entero \n" + "Recuerda que necesitas 1 por ronda de juego");
credito = int.Parse(Console.ReadLine());
for (int i = 0; i < credito; i++)
{
Console.WriteLine("Welcome al casino");
totalJugador = 0;
totalDealer = 0;
switch (switchControl)
{
case "menu":
Console.WriteLine("Escriba '21' para juagar al 21");
Console.WriteLine($"Has usado {i}" + $" de los creditos que compraste que son {credito}");
i = i - 1;
switchControl = Console.ReadLine();
break;
case "21":
do
{
num = random.Next(1, 12);
totalJugador = totalJugador + num;
Console.WriteLine("Toma tu primera carta, jugador");
Console.WriteLine($"te salio el numero: {num} ");
Console.WriteLine($"Tienes acumulado {totalJugador}");
Console.WriteLine($"Has usado {i}" + $" de los creditos que compraste que son {credito}");
Console.WriteLine("Deseas otra carta? ");
controlOtraCarta = Console.ReadLine();
} while (controlOtraCarta == "si" || controlOtraCarta == "Si" || controlOtraCarta == "yes");
totalDealer = random.Next(12, 23);
Console.WriteLine($"El dealer tiene {totalDealer}!!!");
if (totalJugador > totalDealer && totalJugador < 22)
{
message = "Venciste al Dealer, felicidades";
switchControl = "menu";
credito = credito + credito;
}
else if (totalJugador >= 22)
{
message = "Perdiste vs el dealer, te pasaste de 21";
switchControl = "menu";
credito = credito - credito;
}
else if (totalJugador <= totalDealer && totalDealer < 22)
{
message = "Perdiste vs el dealer, lo siento";
switchControl = "menu";
credito = credito - credito;
}
else if (totalDealer >= 22)
{
message = "El dealer perdio y tu ganaste";
switchControl = "menu";
credito = credito + credito;
}
else
{
message = "condicion no válida";
}
Console.WriteLine(message);
break;
default:
Console.WriteLine("Valor ingresado no válido en el CASINO");
break;
}
}
}
Bueno le quite el ciclo for y lo deje así
int totalJugador = 0;
int totalDealer = 0;
int num = 0, i=0;
int platziCoins = 0;
string message = "";
string controlOtraCarta = "";
string switchControl = "menu";
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
while (true)
{
Console.Clear();
Console.WriteLine("Welcome al P l a t z i n o");
Console.WriteLine("¿Cuántos PlatziCoins deseas? \n" +
"Ingresa un número entero \n" +
"Recuerda que necesitas 1 por ronda");
platziCoins = int.Parse(Console.ReadLine());
i = 1;
do
{
totalJugador = 0;
totalDealer = 0;
switch (switchControl)
{
case "menu":
Console.WriteLine("-------------------------------");
Console.WriteLine($"Ronda numero: {i}");
Console.WriteLine("Escriba ‘21’ para jugar al 21");
switchControl = Console.ReadLine();
break;
case "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($"llevas un total de {totalJugador}");
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";
switchControl = "menu";
}
else if (totalJugador >= 22)
{
message = "Perdiste vs el dealer, te pasaste de 21";
switchControl = "menu";
}
else if (totalJugador <= totalDealer)
{
message = "Perdiste vs el dealer, lo siento";
switchControl = "menu";
}
else
{
message = "condición no válida";
}
Console.WriteLine(message);
Console.ReadKey();
i++;
break;
default:
Console.WriteLine("Valor ingresa no válido en el C A S I N O");
break;
}
} while (i <= platziCoins);
}
La verdad me emocionaria un curso de Programacion Orientada a Objetos (POO) con C#, siento que seria un buen curso y mas para los que estamos empezando en el mundo de la programacion 😉
Mi solucion “for(int i = -1; i < monedas; i+=1)”
Lo resolví sin el for
using System.Drawing;
int totalJugador = 0;
int totalDealer = 0;
int num = 0;
int platziCoins = 0;
int platziCoinsApostados = 0;
string message = "";
string controlOtraCarta = "";
string switchControl = "menu";
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
while (true)
{
Console.WriteLine("Welcome al P l a t z i n o");
Console.WriteLine("¿Cuántos PlatziCoins deseas? \n" +
"Ingresa un número entero \n" +
"Recuerda que necesitas 1 por ronda");
platziCoins = int.Parse(Console.ReadLine());
while (platziCoins !=0)
{
totalJugador = 0;
totalDealer = 0;
switch (switchControl)
{
case "menu":
Console.WriteLine("Escriba ‘21’ para jugar al 21");
switchControl = Console.ReadLine();
break;
case "21":
Console.WriteLine($"¿Cuántos PlatziCoins deseas apostar? tienes {platziCoins} platziCoins");
platziCoinsApostados= int.Parse(Console.ReadLine());
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 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)
{
platziCoins = (platziCoins - platziCoinsApostados) + (platziCoinsApostados * 2);
message = $"Venciste al dealer, felicidades, tienes {platziCoins} platziCoins";
Console.Clear();
}
else if (totalJugador >= 22)
{
platziCoins = platziCoins - platziCoinsApostados;
message = $"Perdiste vs el dealer, te pasaste de 21, tienes {platziCoins} platziCoins, ya que perdiste {platziCoinsApostados}";
switchControl = "menu";
Console.Clear();
}
else if (totalJugador <= totalDealer)
{
platziCoins = platziCoins - platziCoinsApostados;
message = $"Perdiste vs el dealer, lo siento tienes {platziCoins} platziCoins, ya que perdiste {platziCoinsApostados}";
switchControl = "menu";
Console.Clear();
}
else
{
message = "condición no válida";
}
Console.WriteLine(message);
break;
default:
Console.WriteLine("Valor ingresa no válido en el C A S I N O");
switchControl = "menu";
break;
}
}
}
Esta es mi version del BlackJack o 21
//Variables globales
string message = "";
string switchControl = "menu";
int carta, totalJugador, totaldealer;
System.Random random = new System.Random();
//Otorga cartas al Dealer & Jugador
void otraCartaDealer()
{
carta = random.Next(1, 11);
totaldealer = carta + totaldealer;
}
void otraCartaJugador()
{
carta = random.Next(1, 11);
totalJugador = carta + totalJugador;
}
/*Blackjack*/
while (true)
{
switch (switchControl)
{
case "menu":
Console.WriteLine("Bienvenido a BlackJack");
Console.WriteLine("Escriba 21 para jugar al BlackJack" +
"\nO escribe 'Salir' para cerrar BlackJack:");
switchControl = Console.ReadLine();
break;
case "21":
int playcount = 0, win = 0;
Console.WriteLine("\nIngresa la cantidad de tokens quieres para jugar: " +
"\n(Se consumira un token por ronda) ");
int blackJack_token = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < blackJack_token; i++)
{
totalJugador = 0;
totaldealer = 0;
carta = random.Next(1, 11);
totalJugador = carta;
carta = random.Next(1, 11);
totaldealer = carta;
otraCartaDealer();
//Dealer AI
do
{
if (totaldealer < 11)
{
otraCartaDealer();
}
else if (totaldealer < 21)
{
double probabilidad = 1.0 - ((double)(totaldealer - 11) / 10.0);
if (random.NextDouble() < probabilidad)
{
otraCartaDealer();
}
else { message = "Pasar"; }
}
else if (totaldealer == 21)
{
message = "Pasar";
break;
}
else { message = "Pasar"; }
} while (message != "Pasar");
//Jugador
int token_aux = blackJack_token - i;
Console.WriteLine($"\nComienza la ronda {i + 1}" +
$"\nToken restantes: {token_aux}");
do
{
otraCartaJugador();
Console.WriteLine($"\nPuntaje Jugador: {totalJugador}");
if (totalJugador == 21)
{
message = "";
break;
}
else if (totalJugador > 21)
{
message = "";
break;
}
Console.WriteLine("\nDeseas agarrar otra carta?" +
"\n- Si\n- Pasar");
message = Console.ReadLine();
} while (message == "Si");
playcount++;
if (totalJugador <= totaldealer && totaldealer <= 21 || totalJugador > 21)
{
message = $"\nMejor suerte a la proxima" +
$"\nPuntaje del Jugador: {totalJugador}" +
$"\nPuntaje del Dealer: {totaldealer}";
Console.WriteLine(message);
switchControl = "menu";
Console.ReadKey();
}
else if (totalJugador > totaldealer || totaldealer > 21)
{
message = $"\nVenciste al dealer. Ganaste!" +
$"\nPuntaje del Jugador: {totalJugador}" +
$"\nPuntaje del Dealer: {totaldealer}";
Console.WriteLine(message);
switchControl = "menu";
Console.ReadKey();
win++;
}
else
{
message = "\nCondicion no valida\n";
switchControl = "menu";
Console.ReadKey();
break;
}
}
Console.WriteLine($"\nGame Over" +
$"\nHas ganado {win}/{playcount} rondas\n");
break;
default:
Console.WriteLine("\nOpcion seleccionada no es valida\n");
switchControl = "menu";
break;
}
}
Muy buen material en todo el curso, junto con buena explicación – felicidades a todo el equipo. Una idea: – aunque tal vez ya lo tienen pensado para más adelante – agregar un video extra demostrando el funcionamiento del depurador, sería buen complemento del ultimo video –
Espero que mi aporte pueda ayudar.
System.Random random = new System.Random();
int apuesta = 0;
int platziCoins = 0;
int num = 0;
string message = “”;
string controlOtraCarta = “”;
string switchControl = “menu”;
while (true){
Console.Clear();
Console.WriteLine(" Welcome al P l a z i n o");
Console.WriteLine(" cuantos PlatziCoins deseas? \n" +
"Ingresa un número entero \n " +
“Recuerda que necesitas una por ronda”);
platziCoins = int.Parse(Console.ReadLine());
for (int i = 0; i < platziCoins; i++)
{
//sin int pero afuera con int tendrian que estar
int totalJugador = 0;
int totalDealer = 0;
switch (switchControl)
{
case "menu":
Console.WriteLine(" Escriba '21' para jugar al 21 ");
switchControl = Console.ReadLine();
Console.WriteLine("Ingrese su Apuesta");
apuesta = int.Parse(Console.ReadLine());
i = i - 1;
break;
case "21":
do
{
num = random.Next(1, 12);
totalJugador = totalJugador + num;
Console.WriteLine($"Su Apuesta es de {apuesta}");
Console.WriteLine("Toma tu Primera Carta Compañero");
Console.WriteLine($"Te salio el numero : {num} ");
Console.WriteLine("¿ Deseas otras carta ?");
controlOtraCarta = Console.ReadLine();
} while (controlOtraCarta == "Si" || controlOtraCarta == "si" || controlOtraCarta == "yes");
totalDealer = random.Next(14, 21);
Console.WriteLine($"El Dealer tiene : {totalDealer} !!");
if (totalJugador > totalDealer && totalJugador < 22)
{
message = "Venciste al dealer, felicidades";
apuesta = apuesta * 2;
Console.WriteLine($"Saldo de apuesta {apuesta}");
platziCoins = platziCoins + 1;
switchControl = "menu";
}
else if (totalJugador >= 22)
{
message = "Perdiste contra el Dealer pasaste 21";
switchControl = "menu";
}
else if (totalJugador <= totalDealer)
{
message = "Perdiste vs el dealer, lo siento";
switchControl = "menu";
}
else
{
message = "Condición no válida";
}
Console.WriteLine(message);
break;
default:
Console.WriteLine("Valor ingresado no valido en el C a S i N o");
break;
}
}
}
M I P R O Y E C T O :
<code> Console.WriteLine("---------------------------------------------------");
Console.WriteLine("| *- W E L C O M E T O | L A S V E G A S | -* |");
int totalJugador = 0;
int totalDealer = 0;
int num = 0;
int apuesta = 0;
int HYCOINS = 0;
bool puedeApostar;
int FICHAS_RESTANTES = 0;
string seguirApostando;
string message = "";
string controlOtraCarta = "";
string switchControl;
System.Random random = new System.Random();
do
{
Console.WriteLine("---------------------------------------------------");
Console.WriteLine("|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|$|");
Console.WriteLine("---------------------------------------------------");
Console.WriteLine("\n ¿ C U A N T A S F I C H A S Q U I E R E S ?");
Console.WriteLine("");
HYCOINS = int.Parse(Console.ReadLine());
HYCOINS = HYCOINS + FICHAS_RESTANTES ;
do
{
do
{
totalJugador = 0;
totalDealer = 0;
Console.WriteLine("");
Console.WriteLine("-----------------------------------------------------------------");
Console.WriteLine("| T I E N E S U N T O T A L D E " + " | "
+ HYCOINS + " $ " + " H Y C O I NS (^_^) |");
Console.WriteLine("-----------------------------------------------------------------");
Console.WriteLine("\n ¿ C U A N T O S $ HYCOINS $ Q U I E R E S A P O S T A R ? (O_o)");
Console.WriteLine("");
apuesta = int.Parse(Console.ReadLine());
if (apuesta > HYCOINS)
{
Console.WriteLine("");
Console.WriteLine(" N O T I E N E S S U F I C I E N T E S C R E D I T O S (>.<) ");
puedeApostar = false;
}
else
{
puedeApostar = true;
}
} while (puedeApostar != true);
Console.WriteLine("");
Console.WriteLine("------------------------------------------------------------------");
Console.WriteLine("| E S C R I B A |21| P A R A E M P E Z A R A J U G A R (^_^) |");
Console.WriteLine("------------------------------------------------------------------");
Console.WriteLine("");
switchControl = Console.ReadLine();
if (switchControl == "21")
{
do
{
num = random.Next(1, 12);
totalJugador = totalJugador + num;
Console.WriteLine("");
Console.WriteLine("----------------------------------------");
Console.WriteLine($"| T E S A L I O E L N U M E R O : {num} |");
Console.WriteLine("----------------------------------------");
Console.WriteLine("\n ¿ D E S E A S O T R A C A R T A ? ");
Console.WriteLine("");
controlOtraCarta = Console.ReadLine();
} while (controlOtraCarta == "SI" ||
controlOtraCarta == "si" ||
controlOtraCarta == "yes");
}
totalDealer = random.Next(15, 23);
Console.WriteLine("");
Console.WriteLine("--------------------------------------------------------");
Console.WriteLine($"| E L D E A L E R T I E N E | {totalDealer} | C A R T A S (>.<) |");
Console.WriteLine("--------------------------------------------------------");
Console.WriteLine("");
if (totalJugador > totalDealer && totalJugador < 22)
{
message = " V E N C I S T E A L D E A L E R, F E L I C I D A D E S (^_^) ";
HYCOINS += apuesta;
Console.WriteLine(message);
}
else if (totalJugador >= 22)
{
message = " P E R D I S T E VS E L D E A L E R, L O S I E N T O (>.<) ";
HYCOINS -= apuesta;
Console.WriteLine(message);
}
else if (totalJugador <= totalDealer)
{
message = "P E R D I S T E VS E L D E A L E R, L O S I E N T O (>.<) ";
HYCOINS -= apuesta;
Console.WriteLine(message);
}
else
{
message = " C O N D I C I O N N O V A L I D A (>.<) ";
}
Console.WriteLine("");
Console.WriteLine("------------------------------");
Console.WriteLine("| T I E N E S " + HYCOINS + " F I C H A S |");
Console.WriteLine("------------------------------");
Console.WriteLine("");
Console.WriteLine("---------------------------------------------------");
Console.WriteLine("| ¿ D E S E A S S E G U I R A P O S T A N D O ? |");
Console.WriteLine("---------------------------------------------------");
Console.WriteLine("");
seguirApostando = Console.ReadLine();
FICHAS_RESTANTES = + HYCOINS;
Console.Clear();
if (HYCOINS == 0)
{
Console.WriteLine("");
Console.WriteLine("-------------------------------------------------------------------");
Console.WriteLine("| S I N C R E D I T O S, P O R F A V O R C O M P R A M A S... |");
Console.WriteLine("-------------------------------------------------------------------");
Console.WriteLine("");
break;
}
} while (seguirApostando == "si" || seguirApostando == "SI");
Console.WriteLine("");
Console.WriteLine("----------------------------------------------------");
Console.WriteLine("| ¿ Q U I E R E S S A L I R D E L C A S I N O ? |");
Console.WriteLine("----------------------------------------------------");
Console.WriteLine("");
seguirApostando = Console.ReadLine();
if (seguirApostando == "si" || seguirApostando == "SI")
{
Console.WriteLine("");
Console.WriteLine("------------------------------------------");
Console.WriteLine("| G R A C I A S P O R J U G A R (^_^) |");
Console.WriteLine("------------------------------------------");
Console.WriteLine("");
Console.ReadKey();
}
else
{
Console.Clear();
}
} while (seguirApostando == "no" || seguirApostando == "NO");
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 😄
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");
}
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?