Jeu de dés

Description

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

Codes Sources

A voir également

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.