Ocx de carte à jouer avec pleins de propriétés utiles

Soyez le premier à donner votre avis sur cette source.

Vue 3 819 fois - Téléchargée 509 fois

Description

Cet OCX est tout simplement un controle "Carte" que vous pourrez utiliser si vous voulez créer un jeu de cartes quel qu'il soit.
Il utilise des images et non pas une dll.
Moi j'ai extraits les images de Cards.dll mais comme je ne sais pas si elles sont libre de droit, je vous laisse trouver vos propres images de cartes.

Source / Exemple :


Option Explicit

Private mEnable As Boolean         'copie locale
Public Atout As Boolean
Public DéjaDistribuée As Boolean
Public PeutEtreDéplacée As Boolean
Public DéjaPassée As Boolean

Public IndiceRangement As Byte
Public Indice As Byte
Public ValeurNormal As Byte
Public ValeurAtout As Byte

Public ImageFaceDroite As String
Public ImageFaceInclinée As String
Public ImageDosDroit As String
Private mImage As String               'copie locale
Public ImageDosInclinéGauche As String
Public ImageDosInclinéDroit As String
Public ImageDosInversé As String
Public Nom As String
Public Couleur As String

'Déclarations d'événements:
Event MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) 'MappingInfo=PictureBox,PictureBox,-1,MouseDown
Event MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 'MappingInfo=PictureBox,PictureBox,-1,MouseMove
Event MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) 'MappingInfo=PictureBox,PictureBox,-1,MouseUp

Public Property Let Enable(ByVal Val As Boolean)
mEnable = Val
UserControl.Enabled = Val
End Property
Public Property Get Enable() As Boolean
Enable = mEnable
End Property

Public Property Let Image(ByVal Val As String)
' Image affichée (que ce soit le dos ou la face)
mImage = Val
PictureBox.Picture = LoadPicture(mImage)
UserControl.Height = PictureBox.Height
UserControl.Width = PictureBox.Width
End Property
Public Property Get Image() As String
Image = mImage
End Property

' Comme c'est en fait sur le pictureBox qu'on va cliquer
' on repasse l'évènement au controle Carte
Private Sub PictureBox_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    RaiseEvent MouseDown(Button, Shift, X, Y)
End Sub

Private Sub PictureBox_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    RaiseEvent MouseMove(Button, Shift, X, Y)
End Sub

Private Sub PictureBox_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    RaiseEvent MouseUp(Button, Shift, X, Y)
End Sub

Conclusion :


J'ai créer plusieurs jeux avec ce controle et il fonctionne très bien.
Dites- moi ce que vous en pensez.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

SnkVrt
Messages postés
89
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
23 février 2010
-
oui j'ai bien vu,
je vais mettre à jour illico...
Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57 -
En Public, pardon ^^
SnkVrt
Messages postés
89
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
23 février 2010
-
Et ben figure toi que je le savais pas du tout.
J'ai toujours bètement copier ce modèle sans trop chercher à comprendre.
Je te remercie Renfield car il y a vraiment de quoi alléger le code.
Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
57 -
vu que tu n'y effectue aucune tache, toutes te propriétés ainsi faites :

Dim mPeutEtreDéplacée As Boolean

Public Property Let PeutEtreDéplacée(ByVal Val As Boolean)
mPeutEtreDéplacée = Val
End Property
Public Property Get PeutEtreDéplacée() As Boolean
PeutEtreDéplacée = mPeutEtreDéplacée
End Property

peuvent être changées en :

Private PeutEtreDéplacée As Boolean

sans risque.
SnkVrt
Messages postés
89
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
23 février 2010
-
Voilà le Zip.
J'ajoute qu'au départ, mon but n'était pas de publier mais de faire un jeu de belote, c'est pourquoi certaines propriétés peuvent paraitre superflues.

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.