Forum d'entraide à la création de jeux d'aventure
 
PortailAccueilFAQRechercherS'enregistrerMembresConnexion

Partagez | 
 

 [résolu]Lire/Sauver des données dans un fichier externe

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
hanakin
Cliqueur Amateur
Cliqueur Amateur
avatar

Nombre de messages : 490

Age : 52

Localisation : Angers

Date d'inscription : 12/09/2012


MessageSujet: [résolu]Lire/Sauver des données dans un fichier externe   Jeu 18 Sep 2014 - 17:53

J'ai essayé de sauvegarde un score et un nom tout seul comme un grand mais ça doit pas être ça.
avant de cliquer sur le bouton ok du gui quitter j'ai mis ça:

File *output = File.Open("Highscore.dat", eFileWrite);
output.WriteInt(score);
output.WriteString(Nom.Text);
output.Close();

Le nom ,quand j'édite le fichier, je le vois bien mais le score ????
Ah au fait la variable score c'est celle d'AGS interne que j'affiche dans un gui
comme ça : @score@ (est elle utilisable autrement que dans un label.text ?)

et au debut du jeux pour affichage dans un gui j'ai mis ça:
File *input = File.Open("Highscore.dat", eFileRead);
Hscore=input.ReadInt();
NomHS=input.ReadRawLineBack();
input.Close();
NomHS.Text=String.Format("%s", NomsHS);
HScore.Text=String.Format("%d", Hscore);

a la place du nom j'ai un carré et a la place du highscore j'ai toujours 0
Je dois comme d'habitude faire appel a vos connaissances car le codage
la dessus n'est pas clair pour moi.

_________________
Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. (Spock)


Dernière édition par hanakin le Mar 4 Aoû 2015 - 8:24, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://dinomania.chez-alice.fr/index.htm
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
avatar

Nombre de messages : 1348

Age : 28

Localisation : Condate

Date d'inscription : 01/08/2011


MessageSujet: Re: [résolu]Lire/Sauver des données dans un fichier externe   Jeu 18 Sep 2014 - 18:52

Alors je ne sais pas exactement comment tu procèdes (je n'ai pas tout suivi) mais la variable "score" d'AGS se définit avec la fonction GiveScore et est vérifiée par l'intermédiaire de game.score (variable en lecture seule). En dehors des labels où tu peux effectivement entrer @SCORE@ comme texte (enfin je n'ai jamais utilisé ce mot clé en particulier mais si tu l'utilises c'est qu'il doit exister). Ah et j'oubliais, tu peux définir un score maximal dans le General Settings (0 = infini).

Je ne sais pas si ça t'aideras mais bon j'aurai tenté. ^^

_________________
"Je pense que la Terre tourne autour du soleil à une vitesse de 30 kilomètres par seconde et que je suis là, accroché à ce bolide de feu qui fonce d'un infini à un autre, accroché à une table, suspendu dans le vide, pendant que, sérieusement, drogué, abruti, inconscient, j'affirme que nous sommes désolés d'apprendre la perte d'un colis expédié le 4 et que nous ferons l'impossible pour réparer cet incident."

L'Employé, Jacques Sternberg.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
hanakin
Cliqueur Amateur
Cliqueur Amateur
avatar

Nombre de messages : 490

Age : 52

Localisation : Angers

Date d'inscription : 12/09/2012


MessageSujet: Re: [résolu]Lire/Sauver des données dans un fichier externe   Jeu 18 Sep 2014 - 19:49

j'ai remplacer ça output.WriteInt(score); par output.WriteInt(game.score);

Pas mieux ? Merci quand même je vais refaire un tour sur le site Anglais ya ds trucs pas bien documenter dans l'aide (ou j'ai pas bien recherché).

_________________
Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. (Spock)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://dinomania.chez-alice.fr/index.htm
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
avatar

Nombre de messages : 1348

Age : 28

Localisation : Condate

Date d'inscription : 01/08/2011


MessageSujet: Re: [résolu]Lire/Sauver des données dans un fichier externe   Jeu 18 Sep 2014 - 19:56

hanakin a écrit:
ya ds trucs pas bien documenter dans l'aide

Que veux-tu dire par là ?

_________________
"Je pense que la Terre tourne autour du soleil à une vitesse de 30 kilomètres par seconde et que je suis là, accroché à ce bolide de feu qui fonce d'un infini à un autre, accroché à une table, suspendu dans le vide, pendant que, sérieusement, drogué, abruti, inconscient, j'affirme que nous sommes désolés d'apprendre la perte d'un colis expédié le 4 et que nous ferons l'impossible pour réparer cet incident."

L'Employé, Jacques Sternberg.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
hanakin
Cliqueur Amateur
Cliqueur Amateur
avatar

Nombre de messages : 490

Age : 52

Localisation : Angers

Date d'inscription : 12/09/2012


MessageSujet: Re: [résolu]Lire/Sauver des données dans un fichier externe   Jeu 18 Sep 2014 - 20:13

Eh bien j'essaye de sauvegarder simplement un nombre et un nom dans un fichier quand je regarde l'aide sur File read/write j'applique ce que je vois dans l'aide et pourtant ça ne marche pas.Tout ce qui est variables , je ne vois pas grand chose ou
j'ai mal regardé ? Ca doit pas etre compliqué mais c'est surement la syntaxe qui n'est pas bonne (ce que je fais evidement) mais je vois pas .

_________________
Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. (Spock)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://dinomania.chez-alice.fr/index.htm
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
avatar

Nombre de messages : 1348

Age : 28

Localisation : Condate

Date d'inscription : 01/08/2011


MessageSujet: Re: [résolu]Lire/Sauver des données dans un fichier externe   Jeu 18 Sep 2014 - 20:16

Pour l'utilisation de fichiers externes je ne peux pas t'aider car je n'y connais rien, en revanche toutes les variables incluses de base dans AGS (ou en tout cas l'extrême majorité) figurent sauf erreur de ma part dans l'aide en ligne. Après ce n'est pas toujours évident de trouver la variable (ou la fonction) dont on a besoin, ça vient avec l'habitude.

_________________
"Je pense que la Terre tourne autour du soleil à une vitesse de 30 kilomètres par seconde et que je suis là, accroché à ce bolide de feu qui fonce d'un infini à un autre, accroché à une table, suspendu dans le vide, pendant que, sérieusement, drogué, abruti, inconscient, j'affirme que nous sommes désolés d'apprendre la perte d'un colis expédié le 4 et que nous ferons l'impossible pour réparer cet incident."

L'Employé, Jacques Sternberg.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
hanakin
Cliqueur Amateur
Cliqueur Amateur
avatar

Nombre de messages : 490

Age : 52

Localisation : Angers

Date d'inscription : 12/09/2012


MessageSujet: Re: [résolu]Lire/Sauver des données dans un fichier externe   Jeu 18 Sep 2014 - 20:25

Effectivement je ne dénigre en aucun cas l'aide mais je ne suis pas un super programmeur (comme certain sur ce site d'ailleurs, qui sont extrêmement compétent )
mais j'ai fait un peu de visual basic et même du GwBasic (il y a très longtemps).
Tout ce qui était Lecture/écriture de fichiers était plus simple mais c'est surement du au langage que je ne connait pas bien.
Pourtant il y a plein de commande que je connais qui ressemble au basic .
Il y en a bien un qui va trouver la solution.
Ma question est peut être aussi pas assez claire ?

_________________
Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. (Spock)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://dinomania.chez-alice.fr/index.htm
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
avatar

Nombre de messages : 1348

Age : 28

Localisation : Condate

Date d'inscription : 01/08/2011


MessageSujet: Re: [résolu]Lire/Sauver des données dans un fichier externe   Jeu 18 Sep 2014 - 20:45

hanakin a écrit:

Ma question est peut être aussi pas assez claire ?

Non, c'est juste que les personnes vraiment compétentes pour te répondre ne sont pas encore passées par là clin d\\\\'oeil

_________________
"Je pense que la Terre tourne autour du soleil à une vitesse de 30 kilomètres par seconde et que je suis là, accroché à ce bolide de feu qui fonce d'un infini à un autre, accroché à une table, suspendu dans le vide, pendant que, sérieusement, drogué, abruti, inconscient, j'affirme que nous sommes désolés d'apprendre la perte d'un colis expédié le 4 et que nous ferons l'impossible pour réparer cet incident."

L'Employé, Jacques Sternberg.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
hanakin
Cliqueur Amateur
Cliqueur Amateur
avatar

Nombre de messages : 490

Age : 52

Localisation : Angers

Date d'inscription : 12/09/2012


MessageSujet: Re: [résolu]Lire/Sauver des données dans un fichier externe   Jeu 18 Sep 2014 - 20:51

Ah je viens de réussir a récuperé le nom c'est déja ça .

File *input = File.Open("Highscore.dat", eFileRead);
Hscore=input.ReadInt();
String NomsHS=input.ReadStringBack();
input.Close();
NomHS.Text=String.Format("%s",NomsHS);  <----------------
HScore.Text=String.Format("%d",Hscore);<----------------

Ah le score aussi Youpi je suis pas trop bête.

_________________
Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. (Spock)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://dinomania.chez-alice.fr/index.htm
hanakin
Cliqueur Amateur
Cliqueur Amateur
avatar

Nombre de messages : 490

Age : 52

Localisation : Angers

Date d'inscription : 12/09/2012


MessageSujet: Lire/Sauver des données dans un fichier externe   Jeu 18 Sep 2014 - 21:06

Merci valoulef cette variable "game.score" me manquait

Je répète clairement pour ceux que ça intéresse.

lors du click ok sur le gui quitter
comparaison du nouveau score avec l'ancien
si le nouveau est plus grand ,avant de quitter je sauvegarde le nom et le score

if (game.score>Hscore) { <-------------------------comparaison
File *output = File.Open("Highscore.dat", eFileWrite);
output.WriteInt(game.score);    <-------score
output.WriteString(Nom.Text);   <-------nom saisi au depart du jeux
output.Close();
}

dans le globalscript je lis le fichier pour afficher le nom et le score dans un gui transparent

function game_start() {
File *input = File.Open("Highscore.dat", eFileRead);
Hscore=input.ReadInt();                       <-------------score sauvé
String NomsHS=input.ReadStringBack();   <-------------Nom sauvé
input.Close();
NomHS.Text=String.Format("%s",NomsHS);  Label1 du gui
HScore.Text=String.Format("%d",Hscore);   Label2 du gui
}

OUF......

_________________
Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. (Spock)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://dinomania.chez-alice.fr/index.htm
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
avatar

Nombre de messages : 2502

Date d'inscription : 01/08/2006


MessageSujet: Re: [résolu]Lire/Sauver des données dans un fichier externe   Sam 20 Sep 2014 - 23:48

J'ai pris la liberté de diviser le sujet original pour faire ce nouveau sujet, concernant uniquement ta dernière question hanakin.

Tu peux utiliser la balise [code ](sans l'espace) pour mettre en forme le code que tu postes, ce sera plus lisible, comme ça :
Code:
if (game.score>Hscore) {     // comparaison
File *output = File.Open("Highscore.dat", eFileWrite);
output.WriteInt(game.score);    // score
output.WriteString(Nom.Text);   // nom saisi au depart du jeux
output.Close();
}

// dans le globalscript je lis le fichier pour afficher le nom et le score dans un gui transparent

function game_start() {
File *input = File.Open("Highscore.dat", eFileRead);
Hscore=input.ReadInt();                       // score sauvé
String NomsHS=input.ReadStringBack();   // Nom sauvé
input.Close();
NomHS.Text=String.Format("%s",NomsHS);  // Label1 du gui
HScore.Text=String.Format("%d",Hscore);   // Label2 du gui
}
Note que ce qui se passe avec la partie où tu écris, c'est qu'en ouvrant le fichier avec l'option eFileWrite tu effaces tout éventuel ancien contenu du fichier, puis tu écrit un premier bloc d'information qui est une valeur numérique correspondant au score, et un deuxième bloc d'information qui est une valeur textuelle correspondant au texte de l'étiquette Nom.
Ce qui se passe avec la partie où tu lis, c'est que tu ouvres le fichier sans le modifier et le "curseur" se place en tout début du fichier, puis tu lis le premier bloc d'information du fichier en l'interprétant comme une valeur numérique et ensuite tu lis le deuxième bloc d'information du fichier en l'interprétant comme une valeur textuelle.
Tout ceci fonctionne puisque tu respectes scrupuleusement le même ordre de blocs à l'écriture et à la lecture (et que tu recrées le fichier de zéro à chaque écriture).

Un des problèmes avec ton code plus haut (outre celui que vous avez discuté sur @SCORE@) c'est que tu utilisais la commande ReadRawLineBack au lieu de ReadStringBack. La différence est pas toujours très claire, ce qu'il faut garder en mémoire c'est que la première lit des données écrites avec WriteRawLine tandis que la seconde lit des données écrites avec WriteString. Si tu les croises comme ce que tu faisais au début, alors tu as un souci.

_________________
Ga is Ga
Vous pouvez consulter l'aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Contenu sponsorisé




MessageSujet: Re: [résolu]Lire/Sauver des données dans un fichier externe   

Revenir en haut Aller en bas
 
[résolu]Lire/Sauver des données dans un fichier externe
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Exercice 1er : rédaction avec thème donné
» Comment sauver la pretresse Meden
» NabazParis : le script des lapins de Paris
» Fichier Excel avec les Ratings
» comment taper...

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Questions / Réponses-
Sauter vers: