/** 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(); } }
/** * 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; } }
/** * 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(); } }