Java - metodo remove() arraylist no funciona

 
Vista:

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:


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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder