metodo remove() arraylist no funciona
Publicado por metodo remove() arraylist no funciona (35 intervenciones) el 19/03/2021 23:13:19
Hola buenas noches. Estoy haciendo un juego con mvc y rmi y tengo problemas para ejecutar el metodo remove() del arraylist cartaEnMano que esta dentro del metodo tirarCarta de la clase Juego. No borra el elemento deseado. Probe utilizando clear() para ver si borraba todos los elementos del array pero tampoco funciona. Nose que esta pasando. Antes de implementar rmi andaba bien. Nose que es lo que ocurre. Les dejo los fragmentos de codigo:
Esa es la parte de la vista en donde se llama al metodo tirarCarta:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
public class Jugador implements Serializable {
public ArrayList<Cartas> cartasEnMano = new ArrayList<>();
public Jugador (String nombre){
this.nombre=nombre;
this.puntos=0;
this.escoba=0;
}
}
public void agregarCarta(Cartas carta){
if (carta!=null) {
cartasEnMano.add(carta);
}
}
public String getNombre() {
return nombre;
}
}
public class Juego extends ObservableRemoto implements IJuego{
public ArrayList<Jugador> jugadores = new ArrayList<>(); //Lista de jugadores
public static ArrayList<Cartas> mesa = new ArrayList<>(); //Cartas en mesa
public Juego() {
estado=INICIANDO_JUEGO;
jugadorActual = 0;
ronda = 0;
}
@Override
public void agregarJugador (String nombre) throws RemoteException {
jugadores.add(new Jugador(nombre));
notificarObservadores(2);
}
public void tirarCarta( int op, Jugador j) throws RemoteException {
mesa.add(j.cartasEnMano.get(op));
j.cartasEnMano.remove(op);
notificarObservadores(5);
}
Esa es la parte de la vista en donde se llama al metodo tirarCarta:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
boton3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
miControl.tirarCarta(r,miControl.getJugador());
indice=0;
r=0;
}
}
catch (RemoteException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
Valora esta pregunta


0