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


0