Salut a tous, c'est mon premier post sur le forum
Je suis en train de faire un jeu en Processing et je voudrait faire un système de score max.
J'ai regardé la doc sur le site officiel de processing mais j'ai pas trop compris comment ecrire dans un fichier.
Donc ma question est : - Comment lire dans un fichier et y ecrire quelque chose
Hors ligne
salut et bienvenu !
Ici tu devrais trouver de quoi te satisfaire pour sauver des données dans un fichier txt:
http://processing.org/learning/topics/savefile1.html
Quand à en importer, un peu plus loin il y a ceci:
http://processing.org/learning/topics/loadfile1.html
voilà !
+++
Hors ligne
Merci pour ces liens, mais je n'y arrive pas du tout xD
Hors ligne
Le truc c'est que je veux ecrire un int dans un .txt et ca je sais pas comment faire
Hors ligne
salut,
regarde cet exemple java (processing c'est du java) : http://www.commentcamarche.net/forum/af … te-en-java il y a un exemple de lecture et un d'écriture dans la meilleure réponse.
si tu veux stocker ton int dans un fichier texte, tu dois d'abord le transformer en une String : utilise la méthode
String maChaine = String.valueOf(tonInt);
inversement, si tu veux récupérer l'int à partir de la ligne contenue dans ton fichier texte afin de comparer les scores, tu peux par exemple décider d'un formalisme pour chaque ligne comme suit : nomDuJoueur Score
il faut que tu splittes ta ligne en un tableau de String avec la méthode split :
String[] monTableau = maLigne.split(" "); // on divise la chaine à partir des espaces
-> http://download.oracle.com/javase/1.4.2 … html#split(java.lang.String)
ainsi tu devrais avoir : monTableau[0] qui contient le nom du joueur et monTableau[1] son score en String
dont tu vas devoir extraire l'int avec la méthode :
Integer monInteger = Integer.parseInt( monTableau[1] );
-> http://download.oracle.com/javase/1.4.2 … teger.html
Integer est un objet, différent de int... pour avoir l'équivalent en int, fais :
monInteger.intValue();
bon courage et n'hésites pas à demander des précisions si besoin
Dernière modification par 22_ (2010-10-10 18:28:47)
Hors ligne
Merci beaucoup pour ces infos mais la je fait un test des conversions int / string mais j'ai un probleme
int nombre;
nombre = 10;
String chaine = String.valueOf(nombre);
String[] lines = new String[1];
lines[0] = chaine;
Integer nombre2 = Integer.ParseInt(lines[0]);
println(nombre2);
qu'est ce qui ne va pas ? ( tout va bien pour mettre le int dans le string)
Hors ligne
salut,
attention à la casse : c'est parseInt et non ParseInt... et après vérification, la fonction te renvoie un int et pas un Integer
++
Hors ligne
Merci
Hors ligne
Bon voila j'arrive a ce moment ou j'ai tout reussi ( conversion des int / string et inversement, comparaison du score avec l'ancien meilleur score ...) et la j'ai un probleme pour sauvegarder le nouveau meilleur score :
int score_en_cours;
String[] contenu_file;
contenu_file = loadStrings("scores.txt");
String meilleur_score = contenu_file[0];
int int_meilleur_score = Integer.parseInt(meilleur_score);
score_en_cours = 32;
if (score_en_cours < int_meilleur_score){
String inserer = String.valueOf(int_meilleur_score);
saveStrings("scores.txt", inserer);
println(int_meilleur_score);
}
if (score_en_cours > int_meilleur_score) {
String inserer = String.valueOf(score_en_cours);
saveStrings("scores.txt", inserer);
println(score_en_cours);
}
Pourquoi tant de haine ? Oo
Hors ligne
Salut,
saveStrings reçoit en 2e argument un tableau, ça marchera si tu l'utilises comme ça :
int score_en_cours; String[] contenu_file; contenu_file = loadStrings("scores.txt"); String meilleur_score = contenu_file[0]; int int_meilleur_score = Integer.parseInt(meilleur_score); score_en_cours = 32; String[] inserer = new String[1]; if (score_en_cours < int_meilleur_score){ inserer[0] = String.valueOf(int_meilleur_score); saveStrings("scores.txt", inserer); println(int_meilleur_score); } if (score_en_cours > int_meilleur_score) { inserer[0] = String.valueOf(score_en_cours); saveStrings("scores.txt", inserer); println(score_en_cours); }
Hors ligne