Your SlideShare is downloading. ×
Proyecto Poogame Blackjack
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Proyecto Poogame Blackjack

3,892
views

Published on

Código fuente del programa BLACKJACK …

Código fuente del programa BLACKJACK
(poogame.blogspot.com)

Published in: Education, Technology, Business

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,892
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
210
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Código fuente BLACKJACK
    Creación de la clase Carta
    package ocio;
    import java.util.Random;
    public class Carta {
    private String valor;
    private String palo;
    public Carta() {
    Random rnd = new Random();
    int x = 1;
    x += (int)(rnd.nextDouble() * 13.0);
    switch (x) {
    case 1:
    valor = " A" ;
    break;
    case 11:
    valor = " J" ;
    x = 10;
    break;
    case 12:
    valor = " Q" ;
    x = 10;
    break;
    case 13:
    valor = " K" ;
    x = 10;
    break;
    default:
    valor =Integer.toString(x);
    }
    int y = 1;
    y += (int)(rnd.nextDouble() * 4.0);
    switch (y) {
    case 1:
    palo=" Corazones Rojos" ;
    break;
    case 2:
    palo=" Diamantes" ;
    break;
    case 3:
    palo=" Trébol" ;
    break;
    case 4:
    palo=" Espadas" ;
    break;
    default:
    palo = Integer.toString(y);
    }
    }
    public int getValor() {
    if(valor.equals(" A" ))
    return 1;
    else
    if(valor.equals(" J" ) || valor.equals(" Q" ) || valor.equals(" K" ))
    return 10;
    return Integer.parseInt(valor);
    }
    public String getPalo() {
    return palo;
    }
    }
    Creacion de la clase Jugador
    package ocio;
    import javax.swing.JOptionPane;
    public class Jugador {
    private String nombre;
    private String password;
    private int apuesta;
    private Carta[] arregloCartas;
    private int numCarta;
    private boolean as;
    public Jugador(int nj, int i) {
    this.arregloCartas = new Carta[10];
    as=false;
    String a = JOptionPane.showInputDialog(null," **Digita tu nombre: " );
    nombre = a ;
    String b = JOptionPane.showInputDialog(null," **Digita tu password: " );
    password = b;
    for(;;){
    String c = JOptionPane.showInputDialog(null," Tu apuesta es...?" );
    int d;
    try {
    d=Integer.parseInt(c);
    if(d < 1)
    JOptionPane.showMessageDialog(null," Te recordamos que tus apuestas deben exceder" +
    " a un dólar" );
    else {
    apuesta = d;
    break;
    }
    }catch(Exception e){
    JOptionPane.showMessageDialog(null," Te recordamos que tus apuestas deben exceder" +
    " a un dólar" );
    }
    }
    numCarta=1;
    }
    public void setArregloCartas(){
    for(int i=0;i<2;i++){
    this.arregloCartas[i] = new Carta();
    if (this.arregloCartas[i].getValor()==1)
    as=true;
    }
    }
    public void setCarta() {
    numCarta+=1;
    arregloCartas[numCarta] = new Carta();
    }
    public int getApuesta() {
    return(apuesta);
    }
    public String getPass() {
    return password;
    }
    public String getNombre() {
    return nombre;
    }
    public boolean preguntar() {
    String no = JOptionPane.showInputDialog(null,this.nombre + " ¿Desea otra carta?: S o N" );
    if(no .toUpperCase().equals(" S" )) {
    return true;
    }
    else {
    if(no.toUpperCase().equals(" N" )) {
    return false;
    }
    else {
    JOptionPane.showMessageDialog(null," Su opción no es válida" );
    }
    return false;
    }
    }
    public int total() {
    int sum = 0;
    try {
    for(int i = 0 ;i <= this.arregloCartas.length; i++) {
    if(this.arregloCartas[i].getValor() == 1) {
    sum = 11 + sum;
    as=true;
    }
    else
    sum = this.arregloCartas[i].getValor() + sum;
    }
    }catch(Exception e) {
    System.out.print(" " );
    }
    if(as)
    if(sum > 21)
    sum -= 10;
    return (sum);
    }
    public void verCartas() {
    JOptionPane.showMessageDialog(null," " + this.nombre + " , tus Cartas son:" );
    for(int i=0 ; i <= numCarta ; i++)
    JOptionPane.showMessageDialog(null,this.arregloCartas[i].getValor() + " " + this.arregloCartas[i].getPalo());
    }
    }
    Creacion de la clase Mesa
    package ocio;
    import javax.swing.JOptionPane;
    public class Mesa {
    private int apuestaTotal;
    private int saldo;
    private Jugador [] arregloJugador = {};
    public Mesa(int nj) {
    Jugador [] arregloJugador = new Jugador[nj];
    try{
    for(int i=0;iJOptionPane.showMessageDialog(null," Jugador: " + (i+1));
    arregloJugador[i] = new Jugador(nj,i);
    }
    }catch(Exception e) {
    }
    this.arregloJugador = arregloJugador;
    apuestaTotal = sumaApuestas(nj);
    JOptionPane.showMessageDialog(null," la apuesta acumulada en mesa es: $ " + apuestaTotal);
    saldo = sumaApuestas(nj);
    }
    public Jugador getArregloJugador(int n) {
    return (arregloJugador[n]);
    }
    public int sumaApuestas(int nj) {
    int sum = 0;
    try {
    for(int i = 0 ;i <= nj; i++) {
    sum = this.getArregloJugador(i).getApuesta() + sum;
    }
    }catch(Exception e) {
    System.out.print(" " );
    }
    return (sum);
    }
    }
    Creación de la clase Aplica
    package ocio;
    import javax.swing.JOptionPane;
    public class Aplica {
    public static void main(String[] args) {
    JOptionPane.showMessageDialog(null," JUGUEMOS BLACKJACK" );
    Mesa temp = new Mesa(0);
    int indiceMenu = 0;
    int a;
    int numberJug = 0;
    boolean ope1 = false, ope2 = false;
    String pa = " " ;
    do
    for(;;){
    String men = JOptionPane.showInputDialog(null," MENU: 1. Quiénes vamos a jugar?" +
    " ... 2. Repartir cartas " +
    " 3. Desea más cartas... " +
    " 4. Ver mis cartas " +
    " 5. Conocer el estado de la mesa " +
    " 6. Ayuda " +
    " 7. Salir " );
    try {
    indiceMenu = Integer.parseInt(men);
    }catch(NumberFormatException e){
    JOptionPane.showMessageDialog(null," Las letras no se admiten como opciones" +
    " del menú" );
    indiceMenu=8;
    }
    switch(indiceMenu) {
    case 1:
    boolean number = true;
    do{
    String me = JOptionPane.showInputDialog(null," Cuántas personas " +
    " participarán??? " );
    try {
    numberJug = Integer.parseInt (me);
    number = false;
    }catch(Exception e) {
    JOptionPane.showMessageDialog(null," ERROR!!!! Digitaste " +
    " mal? Recuerda que es un número el " +
    " que debes ingresar " );
    }
    if(numberJug > 0 && numberJug < 2) {
    number = true;
    JOptionPane.showMessageDialog(null," Debe haber más de un " +
    " jugador Repite el proceso por favor" );
    }
    if(numberJug < 0) {
    number = true;
    JOptionPane.showMessageDialog(null," No puedes digitar " +
    " números negativos" );
    }
    }while(number);
    temp = new Mesa(numberJug);
    ope1 = true;
    break;
    case 2:
    if(!ope1) {
    JOptionPane.showMessageDialog(null," Primero menciona quién va a " +
    " jugar" );
    break;
    }
    else {
    for(int i=0; i < numberJug; i++) {
    temp.getArregloJugador(i).setArregloCartas();
    }
    JOptionPane.showMessageDialog(null," Las cartas han sido Repartidas!" +
    " " );
    ope2=true;
    }
    break;
    case 3:
    if(ope1) {
    if(!ope2){
    JOptionPane.showMessageDialog(null," Primero se deben repartir las" +
    " cartas" );
    break;
    }
    else {
    a = capturarPassword (numberJug, temp, pa);
    if(a >= 0 && temp.getArregloJugador(a).total() <= 21) {
    JOptionPane.showMessageDialog(null," Bienvenido " +
    temp.getArregloJugador(a).getNombre());
    JOptionPane.showMessageDialog(null," Su total actual es de: " +
    temp.getArregloJugador(a).total());
    while(temp.getArregloJugador(a).preguntar()) {
    temp.getArregloJugador(a).setCarta();
    if( temp.getArregloJugador(a).total()<=21)
    JOptionPane.showMessageDialog(null," Su total es de: " +
    temp.getArregloJugador(a).total());
    else {
    JOptionPane.showMessageDialog(null," Ya excedio el " +
    " limite de 21 con "
    + temp.getArregloJugador(a).total());
    break;
    }
    }
    }
    else
    JOptionPane.showMessageDialog(null," Password mal Ingresado!" );
    }
    break;
    }
    else{
    JOptionPane.showMessageDialog(null," Primero menciona quién va a " +
    " jugar" );
    }
    break;
    case 4:
    if(ope1) {
    if(!ope2) {
    JOptionPane.showMessageDialog(null," Primero se deben repartir" +
    " las cartas " );
    }
    else{
    a = capturarPassword (numberJug, temp, pa);
    if(a >= 0)
    temp.getArregloJugador(a).verCartas();
    else
    JOptionPane.showMessageDialog(null," Contraseña incorrecta!" );
    }
    break;
    }
    else {
    JOptionPane.showMessageDialog(null," Primero menciona quién va a " +
    " jugar" );
    }
    break;
    case 5:
    if(ope1){
    if(!ope2){
    JOptionPane.showMessageDialog(null," Primero debe repartir cartas" );
    break;
    }
    else {
    a=-1;
    String m = JOptionPane.showInputDialog(null," Ingrese el password: " );
    try {
    pa = m;
    }catch(Exception e) {
    JOptionPane.showMessageDialog(null," Error en la captura!" );
    }
    if(pa.equals(temp.getArregloJugador(numberJug-1).getPass())) {
    for(int i = 0; i < numberJug; i++) {
    temp.getArregloJugador(i).verCartas();
    }
    JOptionPane.showMessageDialog(null," El ganador fue: " +
    comparaJugadores(temp, numberJug) +
    " y gano " +
    temp.sumaApuestas(numberJug));
    indiceMenu=6;
    }
    else {
    JOptionPane.showMessageDialog(null," Usted no puede abrir la " +
    " Mesa, El Banco es el unico " +
    " autorizado!" );
    }
    break;
    }
    }
    else {
    JOptionPane.showMessageDialog(null," Primero menciona quién va a " +
    " jugar" );
    }
    break;
    case 6:
    JOptionPane.showMessageDialog(null," NO ES DIFÍCIL JUGAR BLACK " +
    " JACK... Te ofrecemos una ayuda " +
    " 1. Te recomendamos seguir los el orden del menú " +
    " 2. Debes tratar de alcanzar la suma de tus " +
    " cartas cercano a 21 pero si lo superas " +
    " pierdes el juego automáticamente " +
    " 3. El As puede tomar el valor de uno u once " +
    " 4. No te preocupes por los resultados podrás" +
    " mirarlo en la opción del menú correspondiente" +
    " conocer estado de la mesa " +
    " 5. GRACIAS POR JUGAR ES UN " +
    " GUSTO SERVIRTE " );
    break;
    case 7:
    {
    JOptionPane.showMessageDialog (null," ESPERO QUE ESTE PROGRAMA HAYA SIDO DE SU AGRADO" );
    System.exit(0);
    }break;
    default:
    JOptionPane.showMessageDialog(null," Opción Incorrecta, escoja de nuevo" );
    }
    }while(indiceMenu!=7);
    }
    public static String comparaJugadores(Mesa a, int numberJug) {
    int altoPuntaje = a.getArregloJugador(0).total();
    if (altoPuntaje >= 2)
    altoPuntaje=0;
    int winner=0;
    for(int i=1;iif(a.getArregloJugador(i).total()>altoPuntaje && a.getArregloJugador(i).total()<=21) {
    altoPuntaje=a.getArregloJugador(i).total();
    winner=i;
    }
    }
    return " " + a.getArregloJugador(winner).getNombre() + " con: " + a.getArregloJugador(winner).total();
    }
    public static int capturarPassword(int numberJug, Mesa temp, String pa) {
    int p=-1;
    String m =JOptionPane.showInputDialog(null," ***Digita tu password: " );
    try {
    pa=m;
    }catch(Exception e) {
    JOptionPane.showMessageDialog(null," ERROR!!!!" );
    }
    for(int i=0 ; iif(pa.equals(temp.getArregloJugador(i).getPass())) {
    p=i;
    }
    return p;
    }
    }