Page 1 sur 1

Lire et sauvegarder scores

Publié : jeu. 10/juil./2025 14:28
par drfloyd
Hello

Pour mon futur jeu je voudrais lire et sauvegarder le TOP 20 de mes scores. Je ne vois pas trop comment en cherchant dans la doc.

En mode "yahourt" :

; DATA
dim score(20)
score(1)=12000
score(2)=13456
etc......

; LECTURE
if fichier " " existe
load score(20)
endif

; SAUVEGARDE DES SCORES
save score(20)


Merci d'avance.

Re: Lire et sauvegarder scores

Publié : jeu. 10/juil./2025 15:31
par G-Rom

Code : Tout sélectionner

Structure sScore
  name.s{64}
  score.i
EndStructure

Structure sScores
  datas.sScore[20]  
EndStructure

scores.sScores

scores\datas[0]\name  = "Bob"
scores\datas[0]\score = 25689

scores\datas[1]\name  = "Roger"
scores\datas[1]\score = 45595

scores\datas[2]\name  = "Alice"
scores\datas[2]\score = 124898

; Ecriture
OpenFile(0,"score.dat")
WriteData(0,@scores,SizeOf(sScores))
CloseFile(0)

;Lecture
vide.sScores
ReadFile(0,"score.dat")
ReadData(0,@vide,SizeOf(sScores))
CloseFile(0)

For i = 0 To 2
Debug  "score de " + vide\datas[i]\name + " = " + Str(vide\datas[i]\score)
Next

Re: Lire et sauvegarder scores

Publié : ven. 11/juil./2025 8:38
par drfloyd
Super merci, sympa.

Je n'utilise pas du tout les structures, je suis tres classique pour le basic avec DIM score (20), score(1)=...

Mais je vais suivre ta méthode

Re: Lire et sauvegarder scores

Publié : ven. 11/juil./2025 8:47
par drfloyd
Comment ca fonctionnerait sans structures sinon ???


Code : Tout sélectionner

dim score(20)
score(1)+12345
score(2)=345

OpenFile(0,"score.dat")
WriteData(0,@score,SizeOf(score)) ?????? là je dois pas etre bon LOL, if faut surement faire une boucle for i=1 to 20 ??????
CloseFile(0)

;Lecture
ReadFile(0,"score.dat")
ReadData(0,@score,SizeOf(score)) ???????? idem
CloseFile(0)
--edit-- pense aux balises--- :wink:

Re: Lire et sauvegarder scores

Publié : ven. 11/juil./2025 9:01
par G-Rom

Code : Tout sélectionner

Dim score.i(20)
score(0)=13
score(1)+12345
score(2)=345

OpenFile(0,"scores.dat")
WriteData(0,@score(),SizeOf(Integer) * 20) 
CloseFile(0)


Dim scorevide.i(20)

;Lecture
ReadFile(0,"scores.dat")
ReadData(0,@scorevide(),SizeOf(Integer) * 20) 
CloseFile(0)


For i = 0 To 2
Debug  scorevide(i)
Next

Re: Lire et sauvegarder scores

Publié : ven. 11/juil./2025 9:11
par drfloyd
super

Mais pourquoi créer une variable scorevide en lecture ?

SI je fais directement :

ReadData(0,@score(),SizeOf(Integer) * 20)

Re: Lire et sauvegarder scores

Publié : ven. 11/juil./2025 9:21
par G-Rom
pour que tu comprennes comment ca marche, mais une variable suffit.

Re: Lire et sauvegarder scores

Publié : ven. 11/juil./2025 9:33
par drfloyd
merci pour ton aide précieuse

je vais pouvoir terminer mon jeu d'arcade