Jeu, les allumettes

Soyez le premier à donner votre avis sur cette source.

Vue 10 289 fois - Téléchargée 835 fois

Description

C'est un petit jeu dont j'ai découvert une partie écrite en VBA sur Développez.com. Je l'ai modifié et adapté à Vb 6

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
414
Date d'inscription
mercredi 16 juin 2004
Statut
Membre
Dernière intervention
26 juillet 2007
3
c marrant y'as pas longtemps j'ai fait la version ti-89 (calculette) durant les cours ^^
sinon il est ou le maitre du temps? :P
allez c un bon debut, et tout le monde commence par ca (apres hello world) ^^
bonne prog
Lucyberad
Messages postés
171
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
20 juillet 2008

Tu économiserais enormément de code en utilisant Image(1), ... Image(21)

Tu auras du plaisir à reconvertir en vb.net.

Les deux méthode se valent.
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
Testé sans problème chez moi.
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
25
OK,
Merci Econs, je vais copier ton code et l'essayer.
Des explications comme celle-ci sont toujours instructives.
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
Je me suis permis de réécrire tout çà avec des groupes de contrôles pour que tu voies la différence.
Les boucles sont plus claires, on n'utilise plus d'objet de type Object (qui alourdissent l'exécution), plus de contrôle sur la totalité des contrôles de la feuille, ...

Note : pour l'exécuter, il faut placer des images d'allumettes de nom 'MonImage' avec des indices allant de 1 à 21.
Et des commandButtons de nom cmd avec des indices allant de 1 à 3.

Enjoy,

============== frmAllumettes ===================

Option Explicit


Private Sub cmd_click(Index As Integer)
ModAllumettes.Mask (Index)
disableControls
Joueur
End Sub


Private Sub disableControls()
Dim ll As Long
For ll = 1 To 3
If ModAllumettes.CountVisible < ll Then
cmd(ll).Enabled = False
End If
Next ll
End Sub

Private Sub Joueur()

If Label2.Caption = "Joueur 1" Then
Label2.Caption = "Joueur 2"
Else
Label2.Caption = "Joueur 1"
End If
If CountVisible < 1 Then
Label3.Caption = "Vous avez gagné !"
End If

End Sub


Private Sub mnuClose_Click()
Unload Me
End Sub

Private Sub mnuNouveau_Click()
Dim l As Long

For l = 1 To 21
MonImage(l).Visible = True
Next l
For l = 1 To 3
cmd(l).Visible = True
Next l

End Sub


== modAllumettes.bas ===============

Option Explicit

Function CountVisible() As Long
Dim iCount As Long
Dim l As Long

iCount = 0
For l = 21 To 1 Step -1
If frmAllumettes.MonImage(l).Visible Then
iCount = l
Exit For
End If
Next l

CountVisible = iCount
End Function


Sub Mask(iNumber As Integer)
Dim nbVisible As Long
Dim ll As Integer

nbVisible = CountVisible
For ll = 1 To iNumber
frmAllumettes.MonImage(nbVisible - ll + 1).Visible = False
Next ll
End Sub
Afficher les 6 commentaires

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.