Page 1 sur 1
Sauvegarde de score.
Publié : ven. 23/janv./2004 8:14
par MacRain
Comment faire une sauvegarde de score dans un fichier, mais pas dans un fichier ini.
J'avoue que je n'ai pas tres bien compris l'acces aux fichiers avec les explication de l'aide en ligne .
Merci d'avance.

Publié : ven. 23/janv./2004 16:04
par comtois
Voila un exemple tout simple , tu pourras t'amuser à l'améliorer .
regarde aussi les possibilités avec
NomFichier$ = SaveFileRequester(Titre$, FichierParDefaut$, Filtre$, FiltrePosition)
C'est peut-être de ça que tu voulais parler d'ailleurs ?
Code : Tout sélectionner
Procedure SaveScore(Score.l)
If CreateFile(0,"SauveScore.dat")
WriteLong(Score)
CloseFile(0)
EndIf
EndProcedure
Procedure.l LoadScore()
ValeurLue.l = -1 ; initialise le score
If ReadFile(0,"SauveScore.dat")
ValeurLue = ReadLong()
CloseFile(0)
EndIf
ProcedureReturn ValeurLue ; Retourne la valeur lue , -1 si défaut de lecture !
EndProcedure
Score.l = 345
SaveScore(Score)
Debug LoadScore()
Publié : ven. 23/janv./2004 17:29
par Patrick88
variante lecture:
Code : Tout sélectionner
if openfile(0,"SauveScore.dat") =0
;le fichier existe pas - init avec valeur par défaut
ValeurLue.l = -1 ; initialise le score
writelong(ValeurLue)
else
ValeurLue = ReadLong()
EndIf
CloseFile(0)
patrick
Ca marche presque
Publié : sam. 24/janv./2004 3:09
par MacRain
Salut ,
Merci pour ce bout de code il marche bien , mais comment faire pour sauvegarder egalement le nom du joueur.
C'est que pour moi ce situe le probleme , suavegarder les nom ( string) et le score (long) et pouvoir les recuperer .
Merci encore
Publié : sam. 24/janv./2004 8:43
par comtois
Code : Tout sélectionner
Global NomJoueur.s,ScoreJoueur.l
Procedure SaveScore(Score.l,Nom.s)
If CreateFile(0,"SauveScore.dat")
WriteStringN(Nom)
WriteLong(Score)
CloseFile(0)
EndIf
EndProcedure
Procedure.l LoadScore()
If ReadFile(0,"SauveScore.dat")
NomJoueur = ReadString()
ScoreJoueur = ReadLong()
CloseFile(0)
EndIf
EndProcedure
;Initialise le nom et le score du joueur
NomJoueur = "Toto"
ScoreJoueur = 345
;Affiche le résultat
Debug "Résultat après initialisation par programme"
Debug NomJoueur
Debug ScoreJoueur
;Sauvegarde le nom et le score du joueur
SaveScore(ScoreJoueur,NomJoueur)
;Efface le nom et le score
NomJoueur="****"
ScoreJoueur=0
;Affiche le résultat
Debug "Résultat après effacement"
Debug NomJoueur
Debug ScoreJoueur
;Récupère le nom et le score enregistrés
LoadScore()
;Affiche le résultat
Debug "Résultat après lecture du fichier"
Debug NomJoueur
Debug ScoreJoueur
Publié : sam. 24/janv./2004 9:50
par comtois
Variante, sans passer par des variables globales .
Code : Tout sélectionner
Procedure SaveScore(Nom.s,Score.l)
If CreateFile(0,"SauveScore.dat")
WriteStringN(Nom)
WriteLong(Score)
CloseFile(0)
EndIf
EndProcedure
Procedure.l LoadScore(*Nom,*Score)
If ReadFile(0,"SauveScore.dat")
PokeS(*Nom,ReadString())
PokeL(*Score,ReadLong())
CloseFile(0)
EndIf
EndProcedure
;/Initialise le nom et le score du joueur
NomJoueur.s = "Toto"
ScoreJoueur.l = 345
;/Affiche le résultat
Debug "Résultat après initialisation par programme"
Debug NomJoueur
Debug ScoreJoueur
;/Sauvegarde le nom et le score du joueur
SaveScore(NomJoueur,ScoreJoueur)
;/Efface le nom et le score
NomJoueur="****"
ScoreJoueur=0
;/Affiche le résultat
Debug "Résultat après effacement"
Debug NomJoueur
Debug ScoreJoueur
;/Récupère le nom et le score enregistrés
LoadScore(@NomJoueur,@ScoreJoueur)
;/Affiche le résultat
Debug "Résultat après lecture du fichier"
Debug NomJoueur
Debug ScoreJoueur
Merci
Publié : sam. 24/janv./2004 20:45
par MacRain
Merci beaucoup
Je vais esaayer avec pluseurs joueurs

Publié : dim. 01/févr./2004 12:10
par comtois
Patrick88 a écrit :variante lecture:
Code : Tout sélectionner
if openfile(0,"SauveScore.dat") =0
;le fichier existe pas - init avec valeur par défaut
ValeurLue.l = -1 ; initialise le score
writelong(ValeurLue)
else
ValeurLue = ReadLong()
EndIf
CloseFile(0)
patrick
Salut patrick
dis moi , comment tu fais pour écrire un long dans un fichier que tu n'as pas pu ouvrir
if openfile(0,"SauveScore.dat") =0
;le fichier existe pas - init avec valeur par défaut
writelong(ValeurLue)
Publié : dim. 01/févr./2004 12:16
par Patrick88
avec un silex, peut-être !?
patrick
Publié : dim. 01/févr./2004 12:22
par comtois
Publié : jeu. 05/févr./2004 6:19
par MacRain
Je vous trouve dur avec ceux qui debute

Publié : jeu. 05/févr./2004 9:53
par comtois
Salut MacRain
Euh , à quel sujet ?
Patrick88 ne débute pas ,et puis je le taquinais , il a très bien compris ( enfin j'espère , et puis il est assez taquin lui même

, loin de moi l'idée d'être dur avec qui que ce soit .
Désolé si tu l'as pris pour toi , il n'y avait rien de mal dans mes propos .
Alors surtout n'hésite pas à poser tes questions , elles seront les bienvenues .
Publié : jeu. 05/févr./2004 16:59
par Oliv
Faut SURTOUT pas faire ttention aux remarques faites aux utilisateurs sur se forum, sinon tu te dis que tout le monde se gueule dessus

Publié : jeu. 05/févr./2004 20:24
par Dr. Dri
...
Publié : jeu. 05/févr./2004 20:30
par Oliv
totalement d'accord (on pense tous les 2 à celui d'un autre language ?

)