Modifier un vectors sans redondance
Bonjour,
J'ai un gros problème avec les vectors.
Voici l'énoncé simplifié:
J'ai un Vector "Exercices" contenant des objets "Exercice", chaque "Exercice" possède un Vector "Cartes" possédant des objets "Carte".Chaque "Carte" possède un booleen pour indiqué si la carte à était trouver ou pas.(par défaut certaines sont à false et d'autre à true)
Code simplifié :
Au lancement de ma class, je faire un getExercice() vers une autre class pour récupérer l'objet Exercice. Le jeu commence.... si le joueur trouve une carte, je met le boolean de la carte à true.
Si il les a toute trouver le jeu recommence (aucune sauvegarde est faite)
Problème:
Quand le jeu relance, je refait un getExercice() pour recharger exactement le meme jeu.
Je dois donc avoir les meme cartes à False et à true. Or j'ai toute les cartes à true. En gros, il a conservé les donné de la partie précédente. le jeu est donc tout de suite fini !!
jai essayer de faire un exercice.clear; et exercice.removeALLElement() avant de faire le second getExercice. Mais celà n'a rien changé.
Après étude :
Il semblerait que les Vector ne fasse pas une copie mais est un "pointeur" vers l'objet. Donc si meme temporairement, je modifie une carte, celà remonte, jusqu'a autre class utilisant le vector Exercice. Et donc après si je fais un getExercice(), j'ai mon Vector Exercice mais modifier.
Comment retrouver donc mon Exercice du début ? Comment je peux modifier une carte temporairement sans que 'linfo remonte dans tout mes class ?
Merci davance
problème technique : Il semblerait que les Vectors ne fasse pas une copie de l'objet. Du coup si on modifier un objet du vector