DÉ ÉLECTRONIQUE OU DÉ VIRTUEL

ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 - 22 juin 2005 à 07:57
jeromegel Messages postés 12 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 25 juin 2005 - 22 juin 2005 à 13:40
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/32226-de-electronique-ou-de-virtuel

jeromegel Messages postés 12 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 25 juin 2005
22 juin 2005 à 13:40
Merci pour le code c'est bien vu

@+
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
22 juin 2005 à 08:09
Public Function tempo(ByVal inc As Long)
For i = 1 To inc
Next i
End Function

Private Sub Command1_Click()
For i = 1 To 10000000 Step 500000
'[...]
Call tempo(i)
Next i
End Sub


La procédure tempo est un peu .... comment dire ... c'est un peu du n'importe quoi.
Tu disposes de la fonction Sleep qui te permet de faire une pause dans ton programme.
Ta fonction tempo prendra une éternité à s'exécuter sur un Pentium, sera rapide sur un P4, et sera désuète dans 2 ans ...


Pour l'affichage du dé, tu as des méthodes qui utilisent moins de tests, moins de lignes :

-----------------------------------------------------------

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Command1_Click()
Dim dé1, dé2, j, i As Long

For i = 1 To 20
For j = 1 To 14
Shape1(j - 1).Visible = False
Next j
Randomize Timer
dé1 = Rnd * 6 + 1
dé2 = Rnd * 6 + 1
afficheDé Int(dé1), 1 ' Affiche le dé 1
afficheDé Int(dé2), 2 ' Affiche le dé 2
Sleep 100 ' Attend 0.1 seconde
Next i
End Sub

Private Sub afficheDé(iValue As Integer, numDé As Integer)
Dim DECALAGE As Long

DECALAGE = 7 * (numDé - 1) ' permet de sélectionner le dé
If iValue Mod 2 = 1 Then
Shape1(3 + DECALAGE).Visible = True
Shape1(3 + DECALAGE).Refresh
End If

If iValue > 1 Then
Shape1(0 + DECALAGE).Visible = True
Shape1(0 + DECALAGE).Refresh
Shape1(6 + DECALAGE).Visible = True
Shape1(6 + DECALAGE).Refresh
End If

If iValue > 3 Then
Shape1(1 + DECALAGE).Visible = True
Shape1(1 + DECALAGE).Refresh
Shape1(5 + DECALAGE).Visible = True
Shape1(5 + DECALAGE).Refresh
End If

If iValue = 6 Then
Shape1(2 + DECALAGE).Visible = True
Shape1(2 + DECALAGE).Refresh
Shape1(4 + DECALAGE).Visible = True
Shape1(4 + DECALAGE).Refresh
End If

End Sub
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
22 juin 2005 à 07:57
Evite d'utiliser des accents pour le nom de tes fichiers...
Rejoignez-nous