• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Proyecto Poogame Blackjack
 

Proyecto Poogame Blackjack

on

  • 4,200 views

Código fuente del programa BLACKJACK

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

Statistics

Views

Total Views
4,200
Views on SlideShare
4,196
Embed Views
4

Actions

Likes
2
Downloads
192
Comments
0

1 Embed 4

http://www.slashdocs.com 4

Accessibility

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Proyecto Poogame Blackjack Proyecto Poogame Blackjack Document Transcript

    • 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;
      }
      }