Ejemplos sencillos de java

Este blog tiene por objetivo ayudar a los que se inician en el
lenguaje Java, con códigos que seguramente les serán de
mucha utilidad.

domingo, 24 de abril de 2011

CRAPS EN JAVA


En este ejemplo se trata de recrear un juego muy conocido llamado CRAPS , el cuál 
consiste  en  lanzar  un  7 u 11  en  el  primer tiro o  de  evitar  un  2 ,  3  ó  12 , si se
 lanza  otra   combinación   se   deberá  lanzar  los  dados  hasta  que  vuelva  a  salir 
ese número , pero sin que salga el 7.

===============================================

import java.io.*;
import java.util.Random;

public class Craps{

    double dinero;
    double apuesta;
    int primerTiro;

    /*CONSTRUCTOR DE LA CLASE DONDE LA VARIABLE DINERO
     DEL JUGADOR SE INICIA*/
    public Craps(double tengo){
        dinero=tengo;
    }

    //METODO QUE LANZA LOS DADOS Y LOS MUESTRA
    public int dados(){

        Random R1=new Random();
        int dado1=1+R1.nextInt(6);
        int dado2=1+R1.nextInt(6);
        int tiro=dado1+dado2;
        System.out.println("Los dados son " + dado1 +" y " + dado2 );
        System.out.println("EL RESULTADO ES: " + tiro);

                return tiro;
    }
    //METODO QUE NOS INDICA LO QUE PASA EN EL PRIMER TIRO
    public int Juego(){

            primerTiro=dados();
            if(primerTiro==7 || primerTiro==11){
                System.out.println("Usted gano");
                dinero=dinero+apuesta;
                System.out.println("Usted tiene " +dinero);
            }
            else if(primerTiro==2 ||primerTiro==3 ||primerTiro==12){
                System.out.println("Usted pierde");
                dinero=dinero-apuesta;
                System.out.println("Usted tiene " + dinero);
            }
            else {
                System.out.println("Lanza otra vez");
                extension();
            }
            return primerTiro;
    }
    //METODO QUE NOS DICE QUE HACER SI NO SE GANA
    //O SE PIERDE EN EL PRIMER TIRO
    public void extension(){

        int Tdados=dados();
      

            if(Tdados==7){
                System.out.println("Usted pierde");
                dinero=dinero-apuesta;
                System.out.println("Usted tiene " +dinero);
            }
            else if(Tdados==primerTiro){
                System.out.println("Usted gana");
                dinero=dinero+apuesta;
                System.out.println("Usted tiene " + dinero);
            }
            else if(Tdados!=primerTiro){
                extension();
            }
      
    }

    //METODO MAIN DONDE SE HACE UN ARREGLO
    //PARA QUE EL JUEGO TENGA UNA MEJOR
    //VISION POR PARTE DEL JUGADOR
    public static void main(String[]args)throws IOException{

        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

        Craps C1=new Craps(1500);
        String opcion;
        System.out.println("***************CRAPS****************");
        System.out.println("En este juego ganas en el primer tiro");
        System.out.println("si lanzas un 7 u 11 y pierdes si lanzas");
        System.out.println("un 2 , 3  o 12 , en cualquier otro caso ");
        System.out.println("Ese número se convierte en tu número base");
        System.out.println("y tendrás que lanzar de nuevo hasta que ");
        System.out.println("repitas ese número sin antes sacar un 7 con");
        System.out.println("lo cual perderás");
        do{
            System.out.println("Elegir una opcion ");
            System.out.println("Presiona 1 y luego Enter si quieres jugar");
            System.out.println("Presiona 2 y luego Enter si quieres salir");
            System.out.println("==================");
            System.out.println("Usted tiene " + C1.dinero);
            System.out.println("1.-JUGAR");
            System.out.println("2.SALIR");
            opcion=br.readLine();

            switch(Integer.parseInt(opcion)){

                case 1:
                    System.out.println("Cuanto apuesta");
                    System.out.println("==============");
                    C1.apuesta=Integer.parseInt(br.readLine());
                        if(C1.apuesta>C1.dinero || C1.apuesta<0){
                            System.out.println("Apuesta invalida");
                            break;
                    }
                         else{
                            C1.Juego();
                            break;
                    }
                case 2:
                    System.out.println("Usted se retira con: " + C1.dinero);
                    System.exit(0);
            }
        }while(!opcion.equals("2"));

    }

}

==============================================
Aquí unas capturas para que vean el código en ejecución :


No hay comentarios:

Publicar un comentario