CrazyCow007
Messages postés52Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention18 septembre 2012
-
2 nov. 2006 à 17:47
CrazyCow007
Messages postés52Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention18 septembre 2012
-
7 nov. 2006 à 01:34
Bonjour à tous !
Je vous explique mon problème : je suis en train de développer un jeu (MasterMind) et je souhaiterais y ajouter un système de classement. Sur un form FrmClassement j'aimerais récupérer et afficher les 10 meilleurs scores avec les pseudos correspondants.
J'ai ce code pour le moment (qui marche) :
Private Sub Form_Load()
Dim pseudo_tmp As String
Dim score_tmp As String
'Adresse du dossier des fichiers externes
chemin = App.Path
If Right(chemin, 1) <> "" Then
chemin = chemin & ""
End If
chemin = chemin & "Identifiants"
If FileLen(chemin & "cl_pseudos.dat") = 0 Then
LblAucun.Caption = "Aucune personne n'est actuellement classée."
LblAucun.Visible = True
Else
Open chemin & "cl_pseudos.dat" For Input As #1
Open chemin & "cl_scores.dat" For Input As #2
For i = 1 To 10
Line Input #1, pseudo_tmp
Line Input #2, score_tmp
LblPseudo.Caption = LblPseudo.Caption & i & " - " & pseudo_tmp & vbCrLf & vbCrLf
LblScore.Caption = LblScore.Caption & score_tmp & " pts" & vbCrLf & vbCrLf
Next
Close #1
Close #2
End If
End Sub
Et donc j'ai deux fichiers avec d'un coté la liste des 10 meilleurs scores et dans l'autre une liste des 10 pseudos correspondants.
Par contre je sais vraiment pas comment faire pour inscrire un nouveau score quand la personne gagne et à un score supérieur au 10ème joueur du classement.
Peut-être que je m'y prends mal, j'ai essayé avec tous les différents scripts de lecture/écriture sur le site mais j'ai l'impression qu'il y a plus simple pour faire ça
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 2 nov. 2006 à 18:12
Question de pensée ...
J'utiliserais en ce qui me concerne un seul fichier, dont chaqueligne serait ainsicomposée :
Score_du_joueur@nom_du_joueur
A l'occasion d'un jeu :
1) j'alimenterais (additem) une listbox dont la propriété sorted serait mise à True et la propriété visible à False
2) à à la fin du jeu, j'ajouterais (additem) le score et le nom du joueur dans la listbox
3) je recomposerais alors mon fichier avec les 10 premiers "items" de la listbox
Pour ce qui serait de l'affichage séparé des joueurs et de leurs scores, j'utiliserais en boucle les informations de la listbox en utilisant instr pour séparer les 2 données (score et nom)
CrazyCow007
Messages postés52Date d'inscriptionmardi 10 juin 2003StatutMembreDernière intervention18 septembre 2012 7 nov. 2006 à 00:10
Désolé de ne répondre maintenant
Cette solution est effectivement beaucoup mieux :) Mais j'ai un petit problème : je ne vois pas comment utiliser la fonction InStr pour séparer les 2 données. Avec :
InStr(ligne,@) va me renvoyer la position du séparateur entre le pseudo et le score mais je ne vois pas comment avoir les deux chaines dans des variables distinctes.
Je suis désolé de poster des questions peut-être assez bête mais ça ne fait que 2 mois que je fais du VB... En tout cas pour le moment j'adore !