Ejemplo n.º 1
0
 /** Método que se encarga de guardar los datos de la baraja en la memoria del movil */
 public void guardaRMS() {
   try {
     gestor.guardarBaraja(this);
   } catch (Exception e) {
     e.printStackTrace();
   }
 }
Ejemplo n.º 2
0
 /**
  * Es el contructor de la nueva baraja.<br>
  * Según el valor del parámetro creará una baraja vacía o una con los valores almacenados en los
  * registros persistentes. Esto es debido a que si la aplicación está intentando recibir los datos
  * desde el PC, no habrá ninguna carta almacenada en los registros persistentes
  *
  * @param vacia Indica si debe crear una baraja vacía o formada por las cartas almacenadas en el
  *     dispositivo móvil
  * @param raza Description of Parameter
  * @param propietario Description of Parameter
  */
 public BarajaMovil(boolean vacia, String raza, String propietario) {
   gestor = new GestorRMS();
   version = -1;
   if (!vacia) {
     try {
       numeroCartas = gestor.leerNumeroCartas();
       baraja = gestor.leerBaraja();
       // Aquí pediria al gestor de RMS que leyera toda la baraja
       version = gestor.leerVersion();
       this.raza = gestor.leerRaza();
       this.propietario = gestor.leerPropietario();
     } catch (Exception e) {
       System.out.println("Error al leer las cartas en el constructor de BarajaMovil");
       System.out.println(e.toString());
       e.printStackTrace();
     }
   } else {
     baraja = new Hashtable();
     this.raza = raza;
     this.propietario = propietario;
   }
 }
Ejemplo n.º 3
0
 /**
  * Añade una nueva carta a la baraja y a los registros presistentes en caso de que así se indique.
  * <br>
  * Si una carta igual ya está en la baraja aumenta la cardinalidad de la carta pero no añade otro
  * objeto a la Hashtable (más que nada porque no se puede ;-p)
  *
  * @param nueva Es la carta que se va a añadir a la baraja
  * @param refleja Indica si este cambio en la baraja debe reflejarse en el almacenamiento RMS o no
  * @return true - si ha podido añadirse<br>
  *     false - en caso contrario
  */
 public boolean añadeCarta(CartaMovil nueva, boolean refleja) {
   try {
     Integer codigo = new Integer(nueva.getCodigoID());
     if (baraja.containsKey(codigo)) {
       ((CartaMovil) baraja.get(codigo)).aumentaNumero();
       numeroCartas++;
       if (refleja) {
         gestor.guardarBaraja(this);
       }
       return true;
     } else {
       if ((nueva.getRaza().equals(raza)) || (nueva.getNivel().equals("3"))) {
         baraja.put(new Integer(nueva.getCodigoID()), nueva);
         if (nueva.getversionBaraja() > version) {
           version = nueva.getversionBaraja();
         }
         numeroCartas++;
         if (refleja) {
           gestor.guardarBaraja(this);
         }
         return true;
       } else {
         System.out.println(
             "no acepta la carta "
                 + nueva.toShortString()
                 + "\nla raza de la baraja es "
                 + raza
                 + " y la de la carta "
                 + nueva.getRaza());
         return false;
       }
     }
   } catch (Exception e) {
     System.out.println("Error al añadir la carta en añadeCarta");
     e.printStackTrace();
     return false;
   }
 }
Ejemplo n.º 4
0
 /**
  * Quita la carta especificada de la baraja y los registros persistentes teniendo en cuenta que
  * puede estar repetida
  *
  * @param codigo El código de la carta a eliminar
  * @param refleja Description of Parameter
  */
 public void eliminaCarta(int codigo, boolean refleja) {
   try {
     Integer cod = new Integer(codigo);
     if (((CartaMovil) baraja.get(cod)).disminuyeNumero()) {
       baraja.remove(new Integer(codigo));
     }
     numeroCartas--;
     if (refleja) {
       gestor.guardarBaraja(this);
     }
   } catch (Exception e) {
     System.out.println("Error al eliminar la carta en eliminaCarta");
     e.printStackTrace();
   }
 }