Un jeu très simple... ce qui est plutôt intéressant est le système des meilleurs scores ! Voici le codage, et vous pouvez aussi le prendre directement dans le ZIP.
Source / Exemple :
' CODAGE DE LA FORM DU JEU
' ****************************
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwmilliseconds As Long)
Dim Face1 As Byte, Face2 As Byte
Dim Somme As Integer
Dim J As Byte, K As Byte
Dim Place As Byte, Prénom As String
Public Sub LancerDés()
Dim Fois As Byte
For Fois = 1 To 10
Randomize
Face1 = Int(Rnd * 6) + 1
ImgDé1.Picture = ImgList1.ListImages(Face1).Picture
Face2 = Int(Rnd * 6) + 1
ImgDé2.Picture = ImgList2.ListImages(Face2).Picture
Sleep 25
Next Fois
End Sub
Private Sub CmdLancer_Click()
LancerDés
Somme = Somme + Face1 + Face2
If Face1 = Face2 Then Somme = 0
EtiSomme.Caption = Somme
Scores(Place) = Somme
End Sub
Private Sub Form_Load()
Prénom = InputBox("Veuillez SVP entrer votre prénom...", "Prénom du joueur", "Visiteur")
If Prénom = "" Then Prénom = "Visiteur"
Me.Caption = "Joueur: " & Prénom
Place = 6
Noms(Place) = Prénom
Scores(Place) = 0
LireFichier
ImgDé1.Picture = ImgList1.ListImages(7).Picture
ImgDé2.Picture = ImgList2.ListImages(7).Picture
MsgBox "Règlements: Vous devez cliquer sur le bouton Lancer pour lancer les dés. Essayer d'obtenir le plus de points possibles en relancant les dés. Par contre, vous retomberez à 0 si vous jouez un double ! Bonne chance", vbInformation, "Règlements"
End Sub
Public Sub LireFichier()
Open App.Path & "\Scores.txt" For Input As #1
For J = 1 To 5
Input #1, Noms(J)
Input #1, Scores(J)
Next J
Close #1
End Sub
Public Sub Écrirefichier()
Open App.Path & "\Scores.txt" For Output As #1
For J = 1 To 5
Write #1, Noms(J)
Write #1, Scores(J)
Next J
Close #1
End Sub
Public Sub TrierDonnées()
Dim Temp As String
For J = 1 To 5
For K = J + 1 To 6
If Val(Scores(J)) < Val(Scores(K)) Then
Temp = Scores(J)
Scores(J) = Scores(K)
Scores(K) = Temp
Temp = Noms(J)
Noms(J) = Noms(K)
Noms(K) = Temp
If Noms(J) = Prénom Then Place = J
End If
Next K
Next J
End Sub
Private Sub MnuScores_Click()
TrierDonnées
Écrirefichier
Form2.Show
End Sub
' CODAGE DE LA FORM DES SCORES
' **********************************
Option Explicit
Private Sub CmdBack_Click()
Unload Me
End Sub
Private Sub Form_Activate()
Dim J As Byte
For J = 1 To 5
EtiNoms(J).Caption = Noms(J)
EtiScores(J).Caption = Scores(J)
Next J
End Sub
' CODAGE DU MODULE
' *************************
Option Explicit
Global Noms(1 To 6) As String
Global Scores(1 To 6) As String
Conclusion :
Amusez-vous bien, et les commentaires sont toujours les bienvenus !
Yawa, le québécois de 14 ans
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.