[VB6] HighScore et timer

Résolu
Avenger21 Messages postés 9 Date d'inscription lundi 22 août 2011 Statut Membre Dernière intervention 24 août 2011 - 22 août 2011 à 21:24
Avenger21 Messages postés 9 Date d'inscription lundi 22 août 2011 Statut Membre Dernière intervention 24 août 2011 - 23 août 2011 à 00:15
Bonjour,


Je débute dans VB6 et je voudrais savoir comment faire pour que a la fin d'un temps précis, le jeu ce stop et ouvre une nouvelle fenêtre avec pour marquer son nom et avoir une high Score liste ou le score est enregistre avec le nom de la personne.

Comme sur cette vidéo http://www.youtube.com/watch?v=ZD4WxQADBKg

Mon jeu est créer avec vb6 et fonction je veut rajouter la fonction du délais et de la high Score liste(je block sur l'utilisation du timer)

merci de votre aide et je serai ravi de vous aider en retours bien que je sois pas très expérimenter

9 réponses

Avenger21 Messages postés 9 Date d'inscription lundi 22 août 2011 Statut Membre Dernière intervention 24 août 2011
23 août 2011 à 00:15
Ok,
J'ai une partie de la solution. Si j'ai bien compris le timer régler avec un interval de 1000 exécuter une fonction tout le seconde, donc pour que j'ai délais de 60 seconde il faut que mettre mon label6 caption=60 et que dans le timer je dise d’exécuter l'ordre label6 - 1(le timer va le faire tout les seconde) et que quand label6
est 0 il met un message "partie terminer"(le timer continue dans le negatif je pense que Timer1.Enabled False irait mais ou le mettre).(j'avais la réponse sous le yeux et je chercher compliquer!!!)
et sa donne:
'le temps de jeux
Private Sub Time_Timer()
Label6.Caption = Label6.Caption - 1
If Label6.Caption = 0 Then
MsgBox "Partie terminer", vbOK, "TERMINER"
End If
End Sub

et bien sure la retouche de remise a zero:
'remise a zero compteur de point(label2) et remise a zero des lancer(label1)
Private Sub Command4_Click()
Label1.Caption = "_"
Label2.Caption = 0
Label6.Caption = 60


Bon par la suite je voudrai qu'il mettre une form avec maquer entre votre nom et que le joueur puis le rentre(sa je sais faire), mais l’application rentre le nom et le score dans une liste(hi-score) et qu'il la garde en mémoire, et c'est la que je but!!

Je ne comprent pas comment créer un hi-score list et je ne comprend pas sa:
http://www.gpwiki.org/index.php/VB:Tutorials:Building_A_Highscore_Manager
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
22 août 2011 à 21:28
Bonjour,

montre-nous ici le code que tu as au moins tenté, s'il te plait.
En le commentant, s'il te plait.

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Avenger21 Messages postés 9 Date d'inscription lundi 22 août 2011 Statut Membre Dernière intervention 24 août 2011
22 août 2011 à 21:40
Pour le timer voici ce que j'ai tenté:
Private Sub Time_Timer()
Label6 = (60)
If (Val(Label6.Caption) + 1 <> 60) Then
Label6.Caption = Format(Val(Label6.Caption) - 1, "0#")
End If
End Sub

label 6 est l’endroit ou doit être afficher temps qui reste de 60 a 0 seconde mais j'ai trouve ce code sur internet mais sa ne marche pas de masse je précise que j'ai régler le timer sur interval 1000 et enlable true.(une variable de ce code mais je c'est plus ce que j'avais change a fait un chrono de -1 a -59)

et pour le hi-score j'ai encore rien tenter je ne comprend pas vraiment ce qui faut faire le code est ici http://www.gpwiki.org/index.php/VB:Tutorials:Building_A_Highscore_Manager
0
Avenger21 Messages postés 9 Date d'inscription lundi 22 août 2011 Statut Membre Dernière intervention 24 août 2011
22 août 2011 à 21:44
désoler double poste j'ai oublier une ligne

rivate Sub Time_Timer()
Label6 = (60)
If (Val(Label6.Caption) + 1 <> 60) Then
Label6.Caption = Format(Val(Label6.Caption) - 1, "0#")
Else
    Label6.Caption = "00
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
22 août 2011 à 21:48
Je reprends (en citation pour pouvoir mettre en exergue) ton code
Private Sub Time_Timer()
Label6 (60) '>>> donc : à chaque 'battement" de ton timet : Label6 contiendra 60 !
If (Val(Label6.Caption) + 1 <> 60) Then ' ====>>> et 60 + 1 est forcément différent de 60 !
Label6.Caption Format(Val(Label6.Caption) - 1, "0#") '>> et tu écris donc à nouveau 60 dans ton label !
End If
End Sub


mais comme on ne sait pas (puisque tu n'as rien commenté, comme demandé) ce que tu veux faire exactement ...
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
22 août 2011 à 21:52
excuses ==>> correction de ce que j'ai dit :
Label6.Caption Format(Val(Label6.Caption) - 1, "0#") '>> et tu écris donc 59 dans ton label !

et on ne sait pas à quoi cela servirait, puisque le prochain "coup" label6.caption sera de nouveau , que 60 + 1 = 61, que 61 étant > 60, tu remettras ton label à 59, et ainsi à l'infini !
Question essentielle : sais-tu au moins ce que tu écris ?
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 209
22 août 2011 à 22:00
Allez :
Ecri- nous donc soit en algo, soit en langage naturel, le mécanisme à écrire ensuite en VB !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Avenger21 Messages postés 9 Date d'inscription lundi 22 août 2011 Statut Membre Dernière intervention 24 août 2011
22 août 2011 à 22:05
Je veut que qu'il lier un temps de jeu en locurence 60 seconde et qua la fin du temp il enregistre le score en demendans au jour de marque son nom et que l'on puice retrouver tous sa dans une hi-Score liste voici mon code du jeu:
'form2 page de jeu
Private Sub Command1_Click()
'tirage aleatoire(simulation de lancer de dés)
'label1= resulta du lancer label2= point
Randomize
Label1.Caption = Int(Rnd * 11)
If Label1.Caption = 2 Then
Label2.Caption = Label2.Caption - 150
End If
If Label1.Caption = 3 Then
Label2.Caption = Label2.Caption + 100
End If
If Label1.Caption = 4 Then
Label2.Caption = Label2.Caption + 15
End If
If Label1.Caption = 5 Then
Label2.Caption = Label2.Caption + 10
End If
If Label1.Caption = 6 Then
Label2.Caption = Label2.Caption - 250
End If
If Label1.Caption = 7 Then
Label2.Caption = Label2.Caption + 20
End If
If Label1.Caption = 8 Then
Label2.Caption = Label2.Caption - 250
End If
If Label1.Caption = 9 Then
Label2.Caption = Label2.Caption + 250
End If
If Label1.Caption = 10 Then
Label2.Caption = Label2.Caption + 500
End If
If Label1.Caption = 11 Then
Label2.Caption = Label2.Caption + 750
End If
If Label1.Caption = 12 Then
Label2.Caption = Label2.Caption + 1000
End If
If Label1.Caption = 1 Then
Label1.Caption = " _" '
End If
If Label2.Caption <= -1 Then
MsgBox "Perdu appuyer sur remize à zéro", vbInformation, "Perdu"
End If
If Label1.Caption = "0" Then
Label1.Caption = " _"
End If
End Sub
'pour retourner au menu(form1)
Private Sub Command2_Click()
Form1.Show
Form2.Visible = False
End Sub
'pour afficher la page des regle
Private Sub Command3_Click()
Form3.Show
Form2.Visible = False
End Sub
'remise a zero compteur de point(label2) et remise a zero des lancer(label1)
Private Sub Command4_Click()
Label1.Caption = "_"
Label2.Caption = 0
End Sub
'le temps de jeux( ne marche pas reste bloquer a 59 au lieus de faire un decompte de 60 a 0)
'label6 et le temps
Private Sub Time_Timer()
Label6 = (60)
If (Val(Label6.Caption) + 1 <> 60) Then
Label6.Caption = Format(Val(Label6.Caption) - 1, "0#")
Else
    Label6.Caption = "00"
End If


ps: c'est en enlèvent Label6 = (60) que le décompte ce fait a l’envers
0
Avenger21 Messages postés 9 Date d'inscription lundi 22 août 2011 Statut Membre Dernière intervention 24 août 2011
22 août 2011 à 22:07
j'ai vue ton message un peut tar mais pour la partie du timer je ne comprend pa ce que j'ecri sauf label6=(60) qui veut juste dire que le label6 et = 60 mais j'aimerer comprendre!!
0
Rejoignez-nous