Salut.
Moi aussi je vais faire un jeu de la vie. Alors je jettais un coup d'oeil sur ce qui s'était déjà fait... et là... BRAVO ! Code clair, résultat excellent, rien à redire !
Très bonne source !
@+
Je n'ai pas essayé mais si on change le mode d'affichage (16 bits/32 bits) ça risque pas de foirer le test sur la couleur ? Dans ce cas il faudrait plutôt passer par un tableau au lieu d'un "point". A essayer
Bien vu le forecolor
parcontre tout effacer n est pas une bonne solution !
J ai codé une combine qui utilise 2 pictures box
l'une sur l autre .... on dessine sur celle qui est caché
puis on les swap et + de syntillement ...
'******************************* On affiche la vie
>>> 'Form1.gfx.Cls <<<
'** Efface le screen gfx
'** On affiche les cellules
For X = 1 To 100
For Y = 1 To 100
If vie(X, Y) = 1 Then
If Form1.gfx.Point(X * 2, Y * 2) <> &HFF& Then
Form1.gfx.ForeColor = &HFF&
Form1.gfx.PSet (X * 2, Y * 2)
End If
Else
If Form1.gfx.Point(X * 2, Y * 2) = &HFF& Then
Form1.gfx.ForeColor = &H8000000F
Form1.gfx.PSet (X * 2, Y * 2)
End If
End If
Next
Next
'******************************* On affiche la vie
'Form1.gfx.Cls
'** Efface le screen gfx
'** On affiche les cellules
For X = 1 To 100
For Y = 1 To 100
If vie(X, Y) = 1 Then
If Form1.gfx.Point(X * 2, Y * 2) <> &HFF& Then
Form1.gfx.ForeColor = &HFF&
Form1.gfx.PSet (X * 2, Y * 2)
End If
Else
If Form1.gfx.Point(X * 2, Y * 2) = &HFF& Then
Form1.gfx.ForeColor = &H8000000F
Form1.gfx.PSet (X * 2, Y * 2)
End If
End If
Next
Next
Moi aussi je vais faire un jeu de la vie. Alors je jettais un coup d'oeil sur ce qui s'était déjà fait... et là... BRAVO ! Code clair, résultat excellent, rien à redire !
Très bonne source !
@+
parcontre tout effacer n est pas une bonne solution !
J ai codé une combine qui utilise 2 pictures box
l'une sur l autre .... on dessine sur celle qui est caché
puis on les swap et + de syntillement ...
>>> 'Form1.gfx.Cls <<<
'** Efface le screen gfx
'** On affiche les cellules
For X = 1 To 100
For Y = 1 To 100
If vie(X, Y) = 1 Then
If Form1.gfx.Point(X * 2, Y * 2) <> &HFF& Then
Form1.gfx.ForeColor = &HFF&
Form1.gfx.PSet (X * 2, Y * 2)
End If
Else
If Form1.gfx.Point(X * 2, Y * 2) = &HFF& Then
Form1.gfx.ForeColor = &H8000000F
Form1.gfx.PSet (X * 2, Y * 2)
End If
End If
Next
Next
Il faut pas faire de Cls alors :)
'Form1.gfx.Cls
'** Efface le screen gfx
'** On affiche les cellules
For X = 1 To 100
For Y = 1 To 100
If vie(X, Y) = 1 Then
If Form1.gfx.Point(X * 2, Y * 2) <> &HFF& Then
Form1.gfx.ForeColor = &HFF&
Form1.gfx.PSet (X * 2, Y * 2)
End If
Else
If Form1.gfx.Point(X * 2, Y * 2) = &HFF& Then
Form1.gfx.ForeColor = &H8000000F
Form1.gfx.PSet (X * 2, Y * 2)
End If
End If
Next
Next
Form1.gfx.ForeColor = vbRed
For X = 1 To 100
For Y = 1 To 100
If vie(X, Y) = 1 Then Form1.gfx.PSet (X * 2, Y * 2)
Next
DoEvents
Next
C'est bien mieux, ça "bloque" beaucoup moins.
Je pense qu'il y aurait un moyen d'implémenter ce programme, en faisant des opération genre Or Xor And avec des images.
10/10
Saros