| [RESOLU] Ecrire un entier dans un fichier puis le lire | |
|
|
Auteur | Message |
---|
Batman Nouveau
Messages : 5 Localisation : Gotham City Projet Actuel : Les Brumes de la Tristesse
| Sujet: [RESOLU] Ecrire un entier dans un fichier puis le lire Ven 14 Mar 2008 - 13:46 | |
| Bonjour à tous ! Etant nouveau sur Game Maker, je poste mon problème ici, mais peut-être aura-t-il sa place dans "avancé" sachant qu'il traite de l'écriture et lecture de fichier...
Je souhaiterais dans mon menu principal indiquer certaines données au joueur concernant chacune des sauvegardes. Pour cela, je sauve les données dans un fichier texte. Lors d'une sauvegarde, en plus de sauvegarder le jeux avec la fonction de base de Game Maker, je crée également un fichier texte qui stock pour l'instant le nom du joueur (entré lors d'une nouvelle partie) et le nombre de PV max. Mes fichiers sont créés sans soucie, mais le nombre de PV max est stocker sous la forme d'un chiffre à virgule. J'ai alors constaté qu'au moment de lire les données dans le fichier, un message d'erreur m'indique qu'il est impossible de lire le réel... Chose étrange, je modifie le fichier et remplace la virgule par un point, et pas de soucie ! Même chose si je supprime les décimal.
J'aimerais donc savoir comment m'y prendre pour sauver un entier dans un fichier afin de pouvoir lire et stocker cet entier dans une variables lors du lancement du jeux. Je rappelle que mon soucie concerne les réels, je n'ai eu aucun problème pour écrire ou lire une chaine de caractère.
Merci de votre future aide !
Dernière édition par Batman le Sam 15 Mar 2008 - 18:37, édité 1 fois |
|
| |
Gab666 Modérateur 'Zut'
Messages : 5340 Localisation : **I move away from the mic to breathe in
| Sujet: Re: [RESOLU] Ecrire un entier dans un fichier puis le lire Ven 14 Mar 2008 - 22:28 | |
| C'est un bug de GM, j'ai eu le même probleme. C'est une virgule et non un point dans le fichier il suffit de convertir en string et modifier la virgule en point. _________________ PIS MANIAC PREND DES BAINS !
|
|
| |
Invité Invité
| Sujet: Re: [RESOLU] Ecrire un entier dans un fichier puis le lire Ven 14 Mar 2008 - 22:32 | |
| si ton fichier de sauvegarde est seulement limité aux donnée de joueur alors je te conseil d'utiliser les fichier ini, c'est plus simple a maitriser |
|
| |
Devil37 Utilisateur confirmé: Rang *****
Messages : 1815
| Sujet: Re: [RESOLU] Ecrire un entier dans un fichier puis le lire Ven 14 Mar 2008 - 22:40 | |
| Ya une astuce (ce cas m'est apparu que dans des fichiers INI, j'ai jamais stocké des réels dans des fichiers textes lol): Au moment de sauvegarder ta donnée (réel) dans ton fichier tu la convertit en string grâce à la fonction string() et tu utilise la fonction pour écrire une string dans un fichier texte. Et au moment de récupérer ta donnée, tu la charge (string) et tu la convertit en réel pour la réutiliser dans ton jeu. En fait dans le fichier tu la met et tu la récupère en string, et après tu la remet en réel, pour pouvoir profiter de ton jeu En fait dans les INI, le problème c'est que souvent par exemple, je veux stocker une valeur 1 et il m'écrit dans le fichier 0.9999999 :gniah: Est-ce assez clair mon message ? |
|
| |
Invité Invité
| Sujet: Re: [RESOLU] Ecrire un entier dans un fichier puis le lire Ven 14 Mar 2008 - 23:19 | |
| - Damator a écrit:
En fait dans les INI, le problème c'est que souvent par exemple, je veux stocker une valeur 1 et il m'écrit dans le fichier 0.9999999 :gniah:
c'est pour ça que la fonction round() existe |
|
| |
Batman Nouveau
Messages : 5 Localisation : Gotham City Projet Actuel : Les Brumes de la Tristesse
| Sujet: Re: [RESOLU] Ecrire un entier dans un fichier puis le lire Sam 15 Mar 2008 - 18:09 | |
| Merci pour toute ces réponses ! Je n'ai pas encore testé, mais théoriquement, si j'écris la valeur numérique en tant que chaine dans mi fichier, au moment de la lire, je peux la lire directement pour la stocker dans un réel. Je m'explique : Ma donnée est le réel 15 je la convertis en chaine de caractère, puis je l'écris dans le fichier. Mon fichier comportera donc (théoriquement) le chiffre 15. A ce moment là, il suffit de stocker ce 15 dans un entier, puisque dans le fichier, il n'y a pas de type de variable, tout n'est que caractère que GM convertira alors en chaine ou en entier selon la méthode utilisé.
C'est du moins ce que j'ai constaté lors de la manipulation de donnée avec du C. |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: [RESOLU] Ecrire un entier dans un fichier puis le lire Sam 15 Mar 2008 - 18:15 | |
| bha oui mais non ...
c'est justement la lecture des entiers qui pose problème sous GM :gniah:
faut dont faire :
real(file_text_read_string(tonfichier)); _________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antiqueBienvenue au 2630eme utilisateur : Mike Kennedy ! |
|
| |
Batman Nouveau
Messages : 5 Localisation : Gotham City Projet Actuel : Les Brumes de la Tristesse
| Sujet: Re: [RESOLU] Ecrire un entier dans un fichier puis le lire Sam 15 Mar 2008 - 18:34 | |
| Heu j'ai du mal comprendre ou mal m'exprimer car ce à quoi je pensais fonctionne... Au moment de sauvegardé, je copie dans une chaine l'entier puis je l'écris dans le fichier comme ceci : - Code:
-
global.life_max1 = string(oHero.coeur_max); file_text_write_string(global.save_id,global.life_max1);
life_max1 correspond au PV max, save_id, à l'ID du fichier ouvert plus haut dans le script. Ainsi apparait sous forme d'entier le chiffre dans le fichier, que je peux aisément récupérer à l'aide d'un - Code:
-
global.life_max1=file_text_read_real(global.save_id); Les deux méthodes fonctionne. Sauf que moi je convertis au moment de l'écriture, et tu me propose de convertir au moment de la lecture. En tout cas, merci beaucoup pour votre aide à tous ! :p_merci: Sujet résolu ! |
|
| |
[TheDarkTiger] Modérateur
Messages : 7420 Localisation : Essonne
| Sujet: Re: [RESOLU] Ecrire un entier dans un fichier puis le lire Sam 15 Mar 2008 - 18:44 | |
| non, bha si read_real marche, ya pas de blem, c'est tout aussi bien ... _________________ Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^ l'antiqueBienvenue au 2630eme utilisateur : Mike Kennedy ! |
|
| |
Devil37 Utilisateur confirmé: Rang *****
Messages : 1815
| Sujet: Re: [RESOLU] Ecrire un entier dans un fichier puis le lire Sam 15 Mar 2008 - 19:27 | |
| - shm31 a écrit:
- c'est pour ça que la fonction round() existe
1 c'est pas un entier naturel peut-être ? :gniah: |
|
| |
Contenu sponsorisé
| Sujet: Re: [RESOLU] Ecrire un entier dans un fichier puis le lire | |
| |
|
| |
| [RESOLU] Ecrire un entier dans un fichier puis le lire | |
|