Bonsoir tout le monde j'apprend je java depuis peu et je code un petit rpg. J'ai réalisé ihm/gameplay/logique. En soit le jeu est déjà fonctionnel mais pour sont évolution je veux évidemment éviter de devoir le recompiler à chaque ajout/maj mineure. Je passe donc par la sérialisation/désérialisation (qui au passage est beaucoup plus simple que le c++ avec boost ! ). Pour ce coter c'est réglé. Maitenant j'ai voulu créer une nouvelle méthode permettant de récupérer les adresses où ce trouve mes objet sérialisé pour par la suite pouvoir les chargé.
J'ai donc un fichier SpellIndex contenant :
Une méthode récupérant les adresses qui renvoie un vecteur de string :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 src/data/spells/s_01.dat src/data/spells/s_02.dat src/data/spells/s_03.dat
Et dans mon main j'ai mit ceci pour tester :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 public static Vector<String> getRessource(RessourceType resType) throws IOException { Vector<String> ressources = new Vector<String>(); if (resType == RessourceType.SPELL) { File file = new File("src/data/SpellsIndex"); BufferedReader br = new BufferedReader(new FileReader(file)); String line = new String(); while ((line = br.readLine()) != null) { ressources.addElement(line); } br.close(); } return ressources; }
Le problème c'est que j'ai trois sort et sur les trois il ne m'affiche que les deux dernier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SpellLoader sl = new SpellLoader(); Vector<Spell> spells = new Vector<Spell>(); spells = sl.loadAll(tools.getRessource(RessourceType.SPELL)); for( int i = 0; i < spells.size(); i++ ) System.out.println(spells.get(i).name());
Je peux ajouter autant de ressources que je souhaite mais malgré tout il n'affichera jamais le premier sort.
J'ai beau chercher je vois pas d'erreurs :/ je m'y prend surement mal pour chargé les adresses mais comme je ne connais pas trop le Java, je suis un peu perdu sur le coup ^^"
Votre aide est la bien venu
Probléme résolue, en debug j'avais modifier une boucle pour qu'elle commence à 1 x)
Partager