Ejercicios con propiedades aleatorias(random)
Pablo Ivan Chuquimia HuancaEnsayo6 de Septiembre de 2018
3.866 Palabras (16 Páginas)159 Visitas
Pablo Ivan Chuquimia Huanca i.pouk.19@gmail.com Universidad Catolica Boliviana “San Pablo”
[1]
Ejercicios con propiedades aleatorias(random)
- Generar n cantidad de simulaciones del juego CRAPS y determinar el numero de victorias y derrotas.
/ La clase Craps simula el juego de dados "Craps"
// Importamos la libreria random
import java.util.Random;
import javax.swing.JOptionPane;
public class Craps {
// crea un generador de numeros aleatorios para usarlo en el metodo tirarDado
private static final Random numerosAleatorios = new Random();
// enumeracion con constantes que representan el estado del juego
private enum Estado {CONTINUA, GANO, PERDIO};
// constantes que representan tiros comunes del dado
private static final int DOS_UNOS = 2;
private static final int TRES = 3;
private static final int SIETE = 7;
private static final int ONCE = 11;
private static final int DOCE = 12;
//ejecuta un juego de craps
public static void main(String[] args)
{
int miPunto = 0; // punto si no gana o pierde en el primer tiro
int sumadorVictorias=0; // suma los juegos ganados
int sumadorPerdida=0; // suma los juegos perdidos
Estado estadoJuego; // puede contener CONTINUA, GANO o PERDIO
// Entrada de datos con graficos por la libreria JOptionPane
String name = JOptionPane.showInputDialog("Ingrese el numero de veces a reproducir");
int k=Integer.parseInt(name); // Hacemos la conversion de String a enteros
for( int i=1;i<=k;i++)
{
int sumaDeDados = tirarDados(); // primer tiro de los dados
// determina el estado del juego y el punto con base en el primer tiro.
switch ( sumaDeDados)
{
case SIETE:
case ONCE:
estadoJuego = Estado.PERDIO;
break;
case DOS_UNOS: // pierde con 2 en el primer tiro
case TRES: // pierde con 3 en el primer tiro
case DOCE: // pierde con 12 en el primer tiro
estadoJuego = Estado.PERDIO;
break;
default: // no gano ni perdio, por lo que guarda el punto
estadoJuego = Estado.CONTINUA; // no ha terminado el juego
miPunto = sumaDeDados; // guarda el punto
System.out.printf("El punto es %d\n",miPunto);
break; // opcional al final del switch
} // final switch
// mientras el juego no este terminado
while(estadoJuego == Estado.CONTINUA) // no GANO ni PERDIO
{
sumaDeDados = tirarDados(); // tira los dados de nuevo
...