import java.util.Scanner; import java.util.ArrayList; import java.util.List; import java.util.Random;
public class Blackjack {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Random random = new Random();
//Usamos un array para almacenar las cartas que le sale a cada jugador.
List<Integer> jugador = new ArrayList<>();
List<Integer> banca = new ArrayList<>();
//Simmulamos 2 cartas para cada jugador.
jugador.add(darCarta(random));
jugador.add(darCarta(random));
banca.add(darCarta(random));
banca.add(darCarta(random));
System.out.println("Tus cartas: " + jugador + " (Total: " + sumarCartas(jugador) + ")");
System.out.println("Carta visible de la banca: " + banca.get(0));
//Mientras el jugador tenga menos de 21 puntos.
while (sumarCartas(jugador) < 21) {
System.out.print("¿Quieres otra carta? (s/n): ");
String respuesta = scanner.next();
if (respuesta.equalsIgnoreCase("s")) {
jugador.add(darCarta(random));
System.out.println("Tus cartas: " + jugador + " (Total: " + sumarCartas(jugador) + ")");
} else {
break;
}
}
int totalJugador = sumarCartas(jugador);
if (totalJugador > 21) {
System.out.println("¡Has perdido! Te has pasado de 21.");
} else {
while (sumarCartas(banca) < 17) {
banca.add(darCarta(random));
}
int totalBanca = sumarCartas(banca);
System.out.println("Cartas de la banca: " + banca + " (Total: " + totalBanca + ")");
// Señalamos los resultados.
if (totalBanca > 21 || totalJugador > totalBanca) {
System.out.println("¡Has ganado!");
} else if (totalJugador < totalBanca) {
System.out.println("La banca gana.");
} else {
System.out.println("Empate.");
}
}
scanner.close();
}
// Simulación de cartas del 1 al 10
public static int darCarta(Random random) {
return random.nextInt(10) + 1;
}
public static int sumarCartas(List<Integer> cartas) {
int total = 0;
for (int carta : cartas) {
total += carta;
}
return total;
}
}