Java - Ayuda con problema de arraylist!!!!

 
Vista:

Ayuda con problema de arraylist!!!!

Publicado por ayuda (35 intervenciones) el 23/03/2021 22:10:38
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
import java.io.Serializable;
 
public class Cartas implements Serializable{
 
 
 
		public int numero;
		public Palos palo;
		public int valor;
 
 
	   public Cartas(Palos palo, int numero, int valor) {
			this.palo = palo;
			this.numero = numero;
			this.valor = valor;
		}
 
 
	   public Palos getPalo() {
		   return this.palo;
	   }
 
 
		public String toString() {
			return numero + " de " + palo;
		}
 
		public int getValor() {
			return valor;
		}
	}
 
 
 
 
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:
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

Ayuda con problema de arraylist!!!!

Publicado por Tom (1831 intervenciones) el 24/03/2021 08:35:17
¿ Cómo sabes que falla remove() ? ¿ Por qué no compruebas su valor de retorno (un boolean) ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar