Una de las preguntas que hemos recibido hace poco era sobre como podemos hacer un programa en Java que sacase naipes de una baraja. Y la verdad que me parece un programa interesante y fácil de explicar.
La idea es poder sacar una carta aleatoria de la baraja (una baraja inglesa o francesa). Básicamente una baraja dónde haya Picas ♠, Corazones ♥, Diamantes ♦ y Tréboles ♣. Las cartas irán del as al diez y habrá tres figuras: jota, reina y rey.
Como hemos comentado esto es un tema de ser aleatorio. Así que sacaremos un número aleatorio para el palo y otro número aleatorio para el número de la carta.
Pero definamos unos arrays que nos sirvan para el texto.
String[] palo = {"Picas","Corazones","Diamantes","Tréboles"};
String[] carta = {"as","dos","tres","cuatro","cinco","seis","siete","ocho","nueve","diez","jota","reina","rey"};
La forma de sacar un número aleatorio es mediante el método .random() de la clase Math. El método .random() nos ofrece un número entre 0.0 y 1.0. Es por ello que tendremos que multiplicar al resultado el número hasta el cual queramos sacar números aleatorios.
Así en el caso del palo multiplicaremos por 4 y en el caso de la carta multiplicaremos por 13. El código será el siguiente:
int iPalo = (int)(Math.random()*4);
int iCarta = (int)(Math.random()*13);
Ya solo nos quedará coger el número aleatorio para acceder al array y extraer el elemento…
System.out.println("La carta aleatoria es " + carta[iCarta] + " de " + palo[iPalo]);